Ver Mensaje Individual
  #4  
Antiguo 29-06-2006
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Reputación: 21
yusnerqui Va por buen camino
Hola, debes usar dos variable globales, una que te indicará cuando debes parar el ciclo y otra que te guardará el valor del contador en el momento que se ha hecho la pausa.

Dentro del siclo debes poner Application.ProcessMessages para que la aplicación te responda a los eventos y ... Bueno mejor te escribo un ejemplo:
Código Delphi [-]
type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
    Para : Boolean;
    Valor : Integer;
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
  Valor := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
  var i : integer;
begin
   I := Valor;
   Para := False;
   Screen.Cursor := crHourGlass;
   try
     while I < 90000000 do
     begin
       I := I +1;
       if Para then
       begin
         Valor := I;
         Break;
       end;
       Application.ProcessMessages;
     end;
   finally
     Screen.Cursor := crDefault;
   end;
end;
 

procedure TForm1.Button2Click(Sender: TObject);
begin
  Para := True;
end;
end.

es todo, espero haberte ayudado

Saludos Yusnerqui
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita