Avatar billede atox Nybegynder
02. november 2001 - 21:20 Der er 24 kommentarer og
1 løsning

Loop med pause

Hvordan laver jeg en pause hvor den holder en pause før den fortsætter???

Søren
Avatar billede somaliomar Praktikant
02. november 2001 - 21:21 #1
hmm
Avatar billede atox Nybegynder
02. november 2001 - 21:22 #2
Hvordan laver jeg et loop hvor den holder en pause før den fortsætter???

Søren
Avatar billede atox Nybegynder
02. november 2001 - 21:22 #3
Der var den...
Avatar billede martinlind Nybegynder
02. november 2001 - 21:33 #4
Sleep();
Avatar billede morten_s Nybegynder
02. november 2001 - 21:34 #5
sådan her:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
begin
  for i := 1 to 10 do
  begin
    sleep(1000);
    //Min kode
  end;
  ShowMessage(\'Det var loop med 10 sek forsinkels, 1 sek pr omløb\');
end;
Avatar billede atox Nybegynder
02. november 2001 - 21:37 #6
Hvad så hvis jeg vil have et loop som bliver ved til jeg trykker en knap som hedder stop
Avatar billede spectre Nybegynder
02. november 2001 - 21:53 #7
du laver en global variabel:

stop: boolean = false;

så laver du en procedure til tryk på knappen:

stop:=true;

løkken skal så indeholde:

while not stop do
begin
  // ting der skal gøres....
end;
Avatar billede atox Nybegynder
02. november 2001 - 21:57 #8
Kan du ikke lave et eksempel??
Avatar billede spectre Nybegynder
02. november 2001 - 21:58 #9
men det er nok bedre at bruge en timer-løsning... den ovenstående vil suge alle systemresourcer...
Avatar billede spectre Nybegynder
02. november 2001 - 21:59 #10
jeg laver lige et... :)
Avatar billede spectre Nybegynder
02. november 2001 - 22:00 #11
prøv dette:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  stop: boolean = false;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
stop:=true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if not stop then
begin
  // gør ting....
end;
end;

end.
Avatar billede atox Nybegynder
02. november 2001 - 22:02 #12
Har fået det til at virke... men når lykken køre kan jeg ikke afbryde den..
Avatar billede spectre Nybegynder
02. november 2001 - 22:03 #13
brug timer-løsningen istedet for... den jeg lavede først er ikke helt til at stoppe normalt... ;)
Avatar billede atox Nybegynder
02. november 2001 - 22:22 #14
Virker ikke kan du ikke maile mig koden til mig i delphi på

atox@zerozone.dk
Avatar billede martinlind Nybegynder
02. november 2001 - 22:28 #15
Du kan sagtens bruge en IKKE timer baseret løsning du SKAL bare havde en Application.ProccesMessages i det loop så din app. kan reagere på musen og tastetryk

/Martin
Avatar billede atox Nybegynder
02. november 2001 - 22:29 #16
Har fundet ud af det nu... tror jeg
Avatar billede atox Nybegynder
02. november 2001 - 22:32 #17
Du kan sagtens bruge en IKKE timer baseret løsning du SKAL bare havde en Application.ProccesMessages i det loop så din app. kan reagere på musen og tastetryk


Hvordan laver jeg det??

Avatar billede atox Nybegynder
02. november 2001 - 22:33 #18
Har ikke fundet ud af det..
Avatar billede atox Nybegynder
02. november 2001 - 22:35 #19
Hvad er application.ProccesMessages
Avatar billede atox Nybegynder
02. november 2001 - 22:49 #20
Hvad gør en application.ProccesMessages
Avatar billede atox Nybegynder
02. november 2001 - 22:54 #21
Hvordan får jeg afbrudt loopen når den køre.. det er som om at den låser systemet..
Avatar billede martinlind Nybegynder
02. november 2001 - 23:26 #22
application.ProccesMessages  søger for at du kan trykke på din knap

while not stop do
begin
  application.ProccesMessages; 
end;
Avatar billede atox Nybegynder
03. november 2001 - 19:47 #23
Kan ikke få det til at virke... er der ingen andre forslag??
Avatar billede martinlind Nybegynder
03. november 2001 - 21:25 #24
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure DoStuff;
  end;

var
  Form1: TForm1;
  stop: boolean = false;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
stop:=true;
doStuff;
end;

procedure TForm1.DoStuff;
begin
while not stop do
begin
  application.ProccesMessages; 

  // gør ting....
end;


end.
Avatar billede atox Nybegynder
04. november 2001 - 17:57 #25
Ok... det virker nu...

ATox
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester