01. marts 2002 - 22:34
Der er
13 kommentarer
Efter 2 sek.
Jeg vil gerne prøve at lave et program i Delphi, hvor man ikke skal bruge TTimers. Hvordan gøres dette? F.eks: Hver gang der går 2 sek. så ShowMessage("hej"); Hvordan gøres dette uden en TTimer?
Annonceindlæg fra Infor
01. marts 2002 - 23:33
#1
tryk på uret og skriv showmessage("hej"); og i dens paramenter skal du bare sætte interval til 2000 istedet for 1000
01. marts 2002 - 23:42
#2
i din form create procedure skriv følgende: begin sleep(2000); showmessage('hej'); end; NB: Det der egentligt sker er at du lader din computer "sove" (fryse om du vil!) i 2 sekunder og dernæst skal programmet vise din showmessage! Men hvorfor vil du egentligt ikke benytte Ttimer?
02. marts 2002 - 00:07
#3
han skal lave en løkke... while(1) do sleep(2000); showmessage('hej'); sådan
02. marts 2002 - 01:28
#4
wollabella>> Hvad snakker du om? I mit eksempel behøves der kun begin sleep(2000); showmessage('hej'); end; (Basta)
02. marts 2002 - 11:35
#5
øhhhh sq da ikke hvis den hver gang der går 2 sek skal popup med hej... den kode du har vil den kun gøre det 1 gang altså 2 sek efter form load!
02. marts 2002 - 12:50
#6
Ja! - sfreak ville JO IKKE BRUGE EN TTIMER...og i dit eksempel BLIVER der jo brugt en Ttimer!
02. marts 2002 - 12:56
#7
Hvis der skal poppe en besked frem hver 2. sekund skal det se således ud i din form create procedure: var i : integer; begin for i := 0 to 2 do begin sleep(2000); showmessage('hej'); end; end;
02. marts 2002 - 13:51
#8
øhhh hvor er den timer henne??
02. marts 2002 - 13:51
#9
jeg bruger sq da ingen timer ...
02. marts 2002 - 13:59
#10
Nu gør den det selvfølig kun 3 gange i træk men det kan du jo altid ændre... En helt anden alternativ måde er at lave en appmessage procedure: procedure TForm1.FormCreate(Sender: TObject); begin application.onmessage := appmessage; end; procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean); var MyTime: TDateTime; hour, min, sec, msec : word; begin MyTime:= Now; DecodeTime(MyTime, Hour, Min, Sec, MSec); panel1.caption := inttostr(hour)+':'+inttostr(min)+':'+inttostr(sec); formpaint(nil); caption := caption+'.'; end; procedure TForm1.FormPaint(Sender: TObject); begin repaint; caption := '.'; end; Her bliver klokken vist på en panel men der bliver IKKE brugt Ttimer!!!
02. marts 2002 - 14:02
#11
wollabella>> dit første indslag: "tryk på uret og skriv showmessage("hej");" PS: i mit sidste eksempel skal du definere: AppMessage under private! (Husk at tilføje en panel "Panel1" på din form!)
03. marts 2002 - 17:44
#12
Jeg kan altså ikke bruge den sleep til en skid. Min computer skal ikke på nogen måde "sove". Jeg skal kunne bruge programmet i de 2 sek. inden der kommer en showmessage(); Og jeg kan ikke bruge en TTimer, da der kommer en error når jeg bruger TTimer i en OCX-fil og kører den i HTML.
05. marts 2002 - 15:51
#13
så brug mit sidste eksempel!
Kurser inden for grundlæggende programmering