Einzelnen Beitrag anzeigen

Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Countdown mit Stunden/Minuten

  Alt 7. Jun 2019, 08:16
Was ist mit Systemen die statt : als Timedelimiter ein - haben? Ist zwar kein Standard aber solls geben. Habe schon alles gesehen. Und nein ich meine nicht das Datum. Ich meine die Uhrzeit.
In IT kann das auch durchaus ein "." sein So zumindest die vorgaben bei uns von IT.

BTT:
Ein Beispiel wie ich es aktuell nutze, müsstest du dann noch minimal anpassen:
Delphi-Quellcode:
//Timer 1 Starten
procedure Timer1SSClick(Sender: TObject); //Button zum starten und stoppen
begin
  if T1Stunden.Text = 'then T1Stunden.Text := '0'; //EditFeld mit Stunden (Korrektur fehlender/falscher Nutzeringabe)
  if T1Minuten.Text = 'then T1Minuten.Text := '0'; //EditFeld mit Minuten (Korrektur fehlender/falscher Nutzeringabe)
  if T1Sekunden.Text = 'then T1Sekunden.Text := '0'; //EditFeld mit Sekunden (Korrektur fehlender/falscher Nutzeringabe)
  if Timer1C.Text <> 'then //Eine Combobox, wo ich mehrere vordefinierte Timer wählen kann
    if Timer1SS.Caption = 'Startthen //Timer starten
    begin
      FPTimer1.Enabled := TRUE; //Startet den Timer
      Timer1RS.Enabled := TRUE; //Schaltet den Reset-Button frei
      FertigT1.Hide; //Das Label für "Timer1 Fertig" verstecken
      T1Stunden.ReadOnly := TRUE; //Editfeld "Sperren" damit wenn der Timer läuft es nicht verändert werden kann
      T1Minuten.ReadOnly := TRUE; //Editfeld "Sperren" damit wenn der Timer läuft es nicht verändert werden kann
      T1Sekunden.ReadOnly := TRUE; //Editfeld "Sperren" damit wenn der Timer läuft es nicht verändert werden kann
      Timer1C.Enabled := FALSE; //Combobox "Sperren" damit wenn der Timer läuft es nicht verändert werden kann
      Timer1SS.Caption := 'Stop'; //Button umbenennen um das Stoppen zu ermöglichen
    end else
    begin
      FPTimer1.Enabled := FALSE; //Timer Stoppen
      Timer1CChange(Sender); //Combobox ChangeEvent auslösen um wieder den richtigen Startwert im Edit zu haben
      Timer1RS.Enabled := FALSE; //Reset Button "sperren"
      T1Stunden.ReadOnly := FALSE; //Editfeld wieder zum ändern freigeben
      T1Minuten.ReadOnly := FALSE; //Editfeld wieder zum ändern freigeben
      T1Sekunden.ReadOnly := FALSE; //Editfeld wieder zum ändern freigeben
      Timer1C.Enabled := TRUE; //Combobox wieder zum ändern freigeben
      Timer1SS.Caption := 'Start';//Button umbenennen um das Starten zu ermöglichen
    end;
end;

//Timer 1 resetten
procedure Timer1RSClick(Sender: TObject);
begin
  Timer1SSClick(Sender);
  Timer1SSClick(Sender);
end;

//Timer 1
procedure FPTimer1Timer(Sender: TObject);
begin
  if strtoint(T1Sekunden.Text) >= 1 then
  begin
    T1Sekunden.Text := inttostr(strtoint(T1Sekunden.Text) - 1); //Sekunden runter zählen
  end else
    if strtoint(T1Minuten.Text) >= 1 then
    begin
      T1Minuten.Text := inttostr(strtoint(T1Minuten.Text) - 1); //Minuten runter zählen
      T1Sekunden.Text := '59';
    end else
      if strtoint(T1Stunden.Text) >= 1 then
      begin
        T1Stunden.Text := inttostr(strtoint(T1Stunden.Text) - 1);//Stunden runter zählen
        T1Minuten.Text := '59';
        T1Sekunden.Text := '59';
      end else //Timer abgelaufen
        begin
          Timer1SS.Click;
          Messagebox(Self.Handle, PChar('Die ' + Timer1C.Text + '-Festplatte sollte Fertig sein.'), 'Timer 1', MB_ICONQUESTION or MB_OK or MB_SETFOREGROUND);
          FertigT1.show;
        end;
end;
Miniaturansicht angehängter Grafiken
unbenannt.jpg  
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas ( 7. Jun 2019 um 08:44 Uhr)
  Mit Zitat antworten Zitat