AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Weiterlernen

Ein Thema von teodorfon · begonnen am 12. Jul 2016 · letzter Beitrag vom 12. Aug 2016
Antwort Antwort
Seite 4 von 5   « Erste     234 5   
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#31

AW: Weiterlernen

  Alt 8. Aug 2016, 23:57
Auch unter Delphi 7 solltest du DateUtils in den uses einbinden können:

Delphi-Quellcode:
implementation

uses
  DateUtils;
Sebastian
  Mit Zitat antworten Zitat
teodorfon

Registriert seit: 12. Jul 2016
Ort: Bosnien und Herzegowina
17 Beiträge
 
#32

AW: Weiterlernen

  Alt 11. Aug 2016, 20:05
Auch unter Delphi 7 solltest du DateUtils in den uses einbinden können:

Delphi-Quellcode:
implementation

uses
  DateUtils;
Achsoooooo.
Ehm,ok jetzt klappt fast alles nur dass sich der timer nicht wiederholt.Die labele zeigt nur 00:00:59 an,und nach einer sekunde bleibt es auf 00:00:59.
Delphi-Quellcode:
var
  Form1: TForm1;
  TotalTime,x:TTime;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
totaltime := IncSecond (0, 60);
totaltime := IncSecond (totaltime,-1); //Versucht durch "x" variable zu ersetzen,gleiches resultat.
label1.Caption:=Timetostr(totaltime );

end;

end.

Geändert von teodorfon (11. Aug 2016 um 20:47 Uhr)
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#33

AW: Weiterlernen

  Alt 11. Aug 2016, 21:01
Noch einmal - das Initialisieren der totaltime Variable gehört nicht in das OnTimer-Event. Du setzt bei jedem Durchlauf totaltime erst auf 60, dann auf 59 Sekunden.
Diese Intialisierung solltest du z.B. im OnCreate des Formulars durchführen.
Sebastian
  Mit Zitat antworten Zitat
teodorfon

Registriert seit: 12. Jul 2016
Ort: Bosnien und Herzegowina
17 Beiträge
 
#34

AW: Weiterlernen

  Alt 11. Aug 2016, 21:45
Noch einmal - das Initialisieren der totaltime Variable gehört nicht in das OnTimer-Event. Du setzt bei jedem Durchlauf totaltime erst auf 60, dann auf 59 Sekunden.
Diese Intialisierung solltest du z.B. im OnCreate des Formulars durchführen.
Ok,was ich grad gefunden habe ist das sich OnCreate ein event ist das sich nur aktiviert wen ich eine neue TForm erstelle,was ich auch gemacht habe,danach auf Oncreate im "Event",auf der zweiten habe ich eine neue labele erstellt und die letzte zeile von dem code eingefügt.Leider kam eine fehlermeldung das "totaltime" nicht erkannt wurde,im "uses" habe ich "Unit1" eingefügt was den fehler weg machte.Leider bleibt die labele immernoch gleich.
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#35

AW: Weiterlernen

  Alt 11. Aug 2016, 21:53
Ich weiß leider nicht genau, welche Delphi-Version du einsetzt.
Als erstes solltest du das neue Formular gleich mal wieder löschen - und auf das alte Wechseln.
In der Designansicht kannst du jede vorhandene Komponente anwählen, auch das grundlegende Formular. Im Objektinspektor sollte es dann zwei Reiter "Eigenschaften" und "Ereignisse" - dort in den Reiter Ereignisse wechseln. Da solltest du dann ein OnCreate finden und dann einfach in das leere Edit rechts daneben doppelklicken, dann sollte im Code der Rumpf für das FormCreate erscheinen.
Sebastian
  Mit Zitat antworten Zitat
teodorfon

Registriert seit: 12. Jul 2016
Ort: Bosnien und Herzegowina
17 Beiträge
 
#36

AW: Weiterlernen

  Alt 11. Aug 2016, 21:59
Ich weiß leider nicht genau, welche Delphi-Version du einsetzt.
Als erstes solltest du das neue Formular gleich mal wieder löschen - und auf das alte Wechseln.
In der Designansicht kannst du jede vorhandene Komponente anwählen, auch das grundlegende Formular. Im Objektinspektor sollte es dann zwei Reiter "Eigenschaften" und "Ereignisse" - dort in den Reiter Ereignisse wechseln. Da solltest du dann ein OnCreate finden und dann einfach in das leere Edit rechts daneben doppelklicken, dann sollte im Code der Rumpf für das FormCreate erscheinen.
Delphi-Quellcode:
var
  Form1: TForm1;
  TotalTime,x:TTime;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
totaltime := IncSecond (0,60);
totaltime := IncSecond (totaltime,-1);


end;

procedure TForm1.FormCreate(Sender: TObject);
begin
label1.Caption:=Timetostr(totaltime );
end;

end.
Ah,man braucht also nicht zwei Formen.
Will jetzt nicht dass ganze forum voll spamen,aber die label zeigt einfach 00:00:00 an.
PS:Ich benuzte Delphi 7.
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#37

AW: Weiterlernen

  Alt 11. Aug 2016, 22:07
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  //bei jedem Aufruf des Timer-Ereignisses
  totaltime := IncSecond(totaltime, -1); //1 Sekunde abziehen
  label1.Caption:=Timetostr(totaltime); //Label aktualisieren
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  totaltime := IncSecond (0,60); //hier deine Variable initialisieren!
end;

end.
Sebastian
  Mit Zitat antworten Zitat
teodorfon

Registriert seit: 12. Jul 2016
Ort: Bosnien und Herzegowina
17 Beiträge
 
#38

AW: Weiterlernen

  Alt 11. Aug 2016, 22:49
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  //bei jedem Aufruf des Timer-Ereignisses
  totaltime := IncSecond(totaltime, -1); //1 Sekunde abziehen
  label1.Caption:=Timetostr(totaltime); //Label aktualisieren
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  totaltime := IncSecond (0,60); //hier deine Variable initialisieren!
end;

end.
DANKE!
PS:Muss ich das so machen weil sich die variable sonst bei jedem timer tick "resetet" ?
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#39

AW: Weiterlernen

  Alt 11. Aug 2016, 22:59
Die resettet sich nicht von alleine - du machst das.

totaltime := IncSecond (0,60); setzt totaltime auf den Wert 60 Sekunden.
Sebastian
  Mit Zitat antworten Zitat
teodorfon

Registriert seit: 12. Jul 2016
Ort: Bosnien und Herzegowina
17 Beiträge
 
#40

AW: Weiterlernen

  Alt 12. Aug 2016, 00:34
Die resettet sich nicht von alleine - du machst das.

totaltime := IncSecond (0,60); setzt totaltime auf den Wert 60 Sekunden.
Vielen Dank für deine Hilfe,kannst du mir nur sagen wie ich 2 Formen verbinde,also um genau zu sein wie ich die werte der variablen von zbs. Form1 zur Form2 schicke?
Und war es möglich,eine procedure zu erstellen die "OnCreate" ersetzt,weiss eigentlich nicht so viel über proceduren.

Geändert von teodorfon (12. Aug 2016 um 00:38 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf