/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Timer
Fra : Henning Madsen


Dato : 27-01-01 15:50

Tak for svaret Thomas P
Jeg kan godt forstå det er umugligt at se fejlen uden at se programmeringen,
derfor
dette lille programeksempel.
Ved brug af 1. If linie er alt ok, men ved brug af 2. linie sker der intet
med Timer2,
hvorfor ?? Jeg bruger selvfølgelig kun den ene If sætning af gangen.

Slutresultatet skulle gerne blive en Timer2 der når Timer1 har nået f.eks.
10 så starter Timer2 og tæller f,eks. til 20.

2.If sætning burde efter min mening virke, så der er nok noget jeg har
kraftigt misforstået.

var
Form1: TForm1;
T1Minutter : Integer;
T2Minutter : Integer;
implementation

{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
T1Minutter := 0;
T2Minutter := 0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
T1Minutter := T1Minutter + 1;
Edit1.Text := IntToStr(T1Minutter);
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
If T1Minutter >= 10 Then Stopper når Timer1 har nået 10 OK
If T1Minutter <= 10 Then Starter når Timer1 har nået 10 Der sker intet
Begin
Timer2.Enabled := False;
end
Else
Begin
Timer2.Enabled := True;
T2Minutter := T2Minutter + 1;
Edit2.Text := IntToStr(T2Minutter);
End;
end;
end.
Håber nok engang at I kan hjælpe mig videre ??
På forhånd tak
hilsen
Henning.



 
 
Niels (niLLer) (28-01-2001)
Kommentar
Fra : Niels (niLLer)


Dato : 28-01-01 00:29

Just as I expected, "Henning Madsen" <henning.K.madsen@teliamail.dk>
came up with this:

>Tak for svaret Thomas P
>Jeg kan godt forstå det er umugligt at se fejlen uden at se programmeringen,
>derfor
>dette lille programeksempel.
>Ved brug af 1. If linie er alt ok, men ved brug af 2. linie sker der intet
>med Timer2,
>hvorfor ?? Jeg bruger selvfølgelig kun den ene If sætning af gangen.
>
>Slutresultatet skulle gerne blive en Timer2 der når Timer1 har nået f.eks.
>10 så starter Timer2 og tæller f,eks. til 20.
>
>2.If sætning burde efter min mening virke, så der er nok noget jeg har
>kraftigt misforstået.
>
>var
> Form1: TForm1;
> T1Minutter : Integer;
> T2Minutter : Integer;

Jeg regner med at begge timere er sat til et interval på 60000 msek.!

>procedure TForm1.Timer1Timer(Sender: TObject);
>begin
> T1Minutter := T1Minutter + 1;
> Edit1.Text := IntToStr(T1Minutter);
>end;

Det ser ud til at fungere helt fint!

>
>procedure TForm1.Timer2Timer(Sender: TObject);
>begin
> If T1Minutter >= 10 Then Stopper når Timer1 har nået 10 OK

Mangler der ikke noget kode her? Måske en "Exit;" eller sådan?

> If T1Minutter <= 10 Then Starter når Timer1 har nået 10 Der sker intet

Det er da logisk! Timer2 kører jo ikke før den får besked på det, og
da den skal aktivere sig selv sker der intet! Prøv at flytte checket
op i Timer1's Timer-event!

> Begin
> Timer2.Enabled := False;
> end
> Else
> Begin
> Timer2.Enabled := True;
> T2Minutter := T2Minutter + 1;
> Edit2.Text := IntToStr(T2Minutter);
> End;
>end;
>end.

>Håber nok engang at I kan hjælpe mig videre ??

Altså, du har Timer1 der starter når programmet starter. Hvert minut
tæller den så en variabel op, og når den variabel når 10 (minutter) så
skal TImer2 starte. Altså skal du hver gang Timer1's event er blevet
aktiveret se om Timer1's minut-count er blevet større end eller lig
med 10. Hvis det er det, så start Timer2. Håber det gav lidt
afklaring.

Og prøv at lade være med at sende det samme indlæg 3 gange, ikke?

Niels (aka. niLLer)
--
e-mail: nmartin at iname dot com ICQ UIN: 50187323
http://www.niller.f2s.com/ - niLLer's pages (My programs, in English)
http://whitehat.dk/g4s/ - The G4S Page (Personlig side, på dansk)
-- No longer Windozed!

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste