Autor Beitrag
theSonGoku
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 29



BeitragVerfasst: So 19.07.09 19:33 
Hallo,

ich habe folgendes Problem.
Ich habe in meiner Button Prozedur die Anweisung:
ausblenden Delphi-Quelltext
1:
Timer1.Enabled := True;					

So: In der Timer Prozedure steht nun:
ausblenden Delphi-Quelltext
1:
Label6.Caption := 'Zeit: ' + IntToStr(Timer1.Interval) + ' Sekunden'					

Der Interval steht bei 25000. Ist erstmal nur testweise.
Das eigendliche Problem ist, dass es nicht funktioniert. Alles was in der Timerprozedure steht passiert nicht.

Ja, der Timer steht anfangs auf False.

Bitte helft mir. :)

mfG
theSonGoku


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Mo 20.07.2009 um 09:34
Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 19.07.09 19:41 
Hast Du auch 25 Sekunden gewartet?
theSonGoku Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 29



BeitragVerfasst: So 19.07.09 19:43 
In meinem Programm ist das ja so, dass wenn ich auf den Button klicke nen paar Sachen passieren und halt der Button unsichtbar wird. Und da wo der Button war ist halt dann Label6. Und dann sollte das da ja runtergezählt werden, was aber nicht passiert.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 19.07.09 19:45 
Wenn Du den Button klickst, wird der Timer aktiviert. Da dessen Intervall nach Deinen Angaben auf 25.000 steht, feuert er nach 25 Sekunden, daher meine Frage von vorhin.
theSonGoku Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 29



BeitragVerfasst: So 19.07.09 19:48 
Nein habe ich nicht.^^
Denn er soll ja bis 0 runterzählen. Also 25 Sekunden runterzählen.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 19.07.09 19:53 
Dann setz das Intervall auf 1000 und lasse eine Variable herunterzählen.
theSonGoku Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 29



BeitragVerfasst: So 19.07.09 19:55 
Und wie zähle ich dann die Variable herunter?
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 19.07.09 19:56 
1 abziehen, wie denn sonst?
theSonGoku Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 29



BeitragVerfasst: So 19.07.09 19:57 
Ja aber ich kann ja schlecht so schreiben:

ABC := 5;
ABC := ABC -1;
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 19.07.09 20:10 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
type
  TDeinForm = class(TForm)
  ...
  private
    FZaehler: integer;
  end;
...

procedure TDeinForm.FormCreate(Sender: TObject);
begin
  FZaehler := 25;
end;

procedure TDeinForm.DeinTimerTimer(Sender: TObject);
begin
  FZaehler := FZaehler - 1//oder einfach dec(FZaehler)
  //weiterer Code
end;
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: So 19.07.09 21:58 
Warum eine Variable einführen? Man kann auch Timer1.Tag nehmen. Ist ja auch Integer.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 19.07.09 22:12 
Und das soll man nach 3 Monaten noch begreifen? Einsparung von Variablen auf Kosten der Verständlichkeit ist in meinen Augen keine Option.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19313
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 20.07.09 06:26 
Dafür gibt es normalerweise Headerkommentare in der Unit. Dort steht bei mir (wenn ich sie verwende) die Verwendung der Tag Eigenschaften als Tabelle drin, genau wie alles andere, was jemand, der den Code nicht kennt, nicht sofort durchschauen würde.

Solange man das ordentlich dokumentiert ist das durchaus legitim. Hier würde ich es aber in der Tat nicht machen, da es eigentlich nichts mit dem Timer zu tun hat. Der zählt ja nur. Ich benutze Tag nur dann, wenn der Wert auch einen direkten Bezug zur Komponente hat. Zum Beispiel bei einer ListView die gerade sortierte Spalte usw.