![]() |
AW: Sekunden, Minuten, Stunden Rechner
Zitat:
Mach es wirklich im Onexit oder prüfe auf ein leeres Feld (dann nichts machen). Wenn beim Onchange das Feld leer ist, kann er nichts umwandeln und läuft auf einen Fehler ('' <> 0). Zitat:
|
AW: Sekunden, Minuten, Stunden Rechner
Moombas danke wieder für deine schnelle Antwort. Allerdings kriege ich einen fehler bei deinem verbesserten Code.
Incompatible types: 'String' and 'PAnsiChar' |
AW: Sekunden, Minuten, Stunden Rechner
mal ein kleiner Exkurs
Delphi-Quellcode:
// nur auftrennen
// es muß überall am Ende mindestens eine Ziffer drinstehen // MaskEdit.EditMask = '09:009:009;1; ' i := StrToInt(Copy(MaskEdit.Text, 1, 2)) * 60 * 60 + StrToInt(Copy(MaskEdit.Text, 4, 3)) * 60 + StrToInt(Copy(MaskEdit.Text, 8, 3)); // und nun inkl. Fehl-/Leereingaben // Felder können leer bleiben und Zahlen müssen nicht am Ende stehen (hier mit '0'+Trim) // MaskEdit.EditMask = '##:###:###;1; ' i := StrToInt('0' + Trim(Copy(MaskEdit.Text, 1, 2))) * 60 * 60 + StrToInt('0' + Trim(Copy(MaskEdit.Text, 4, 3))) * 60 + StrToInt('0' + Trim(Copy(MaskEdit.Text, 8, 3))); // und nochmal in "modern" ... k.A. warum es kein Append/Add gibtm für das '0'+ i := ('0' + MaskEdit.Text.Substring(0, 2).Trim).ToInteger * 60 * 60 + ('0' + MaskEdit.Text.Substring(3, 3).Trim).ToInteger * 60 + ('0' + MaskEdit.Text.Substring(7, 3).Trim).ToInteger; // und wieder zusammen MaskEdit.Text := Format('%2d:%3d:%3d', [i div 60 div 60, i div 60 mod 60, i mod 60]);
Delphi-Quellcode:
// und wieder zusammen, falls es Einzeledits waren, ohne vorher Copy/Substring
Edit1.Text := IntToStr(i div 60 div 60); Edit2.Text := IntToStr(i div 60 mod 60); Edit3.Text := IntToStr(i mod 60); // lol Edit1.Text := (i div 60 div 60).ToString; Edit2.Text := (i div 60 mod 60).ToString; Edit3.Text := (i mod 60).ToString; |
AW: Sekunden, Minuten, Stunden Rechner
Müsste so gehen. Sry, hatte das mit dem Char vorhin vergessen^^
Zitat:
|
AW: Sekunden, Minuten, Stunden Rechner
Danke Moombas :thumb:. Damit hab ich alles was ich brauchte danke an alle die mir dabei geholfen haben.
|
AW: Sekunden, Minuten, Stunden Rechner
Warum
Delphi-Quellcode:
und
cmd /K
Delphi-Quellcode:
, anstatt dem richtigen
exit
Delphi-Quellcode:
?
cmd /C
und die shutdown.exe kann man auch direkt aufrufen, mit dem Vorteil, dass man auch dessen ExitCode (ErrorLevel) im Programm abfragen kann. ( ![]() |
AW: Sekunden, Minuten, Stunden Rechner
Das ist mir gar nicht aufgefallen danke dir Himitsu werde das korigieren.
|
AW: Sekunden, Minuten, Stunden Rechner
Hallo,
ich würde 3 RadioButtons nehmen, die kommen vor die 3 Edits. Und der RadioButton, der ausgewählt ist, bestimmt den Eingabe-Editor. Die jeweils anderen beiden Editoren werden Disabled oder ReadOnly gesetzt. Schon spart man sich eine Menge Logik. |
AW: Sekunden, Minuten, Stunden Rechner
Zitat:
Der Radiobutton bestimmt wie die Zahl interpretiert werden soll (H, M, S) und im Editfeld gibt man sie ein. Und beim Verlassen dessen wird es entsprechend umgesetzt. Aber (von der Nutzereingabe und GUI betrachtet) es wäre für den Benutzer ein (minimaler) Mehraufwand bei der Eingabe. Auch wenn es nur 1 Klick mehr ist, versuche ich dem Benutzer jeden Arbeitsweg so gut wie möglich zu verkürzen/vereinfachen und die GUI so schlank wie möglich zu halten (Ja, 3 Radiobuttons (als Radiobuttongroup) + 1 Editfeld sind in der Summe in der GUI (je nach Dimensionierung und Anordnung) weniger als 3 Editfelder.). Wobei ich immer folgendes als Leitfaden nehme: Funktion > Arbeitsschritte > GUI > kurze/einfache Programmierlogik Und ob man sich dadurch wirklich so viel Logik spart, bin ich mir gerade nicht mal sicher. Bei deiner Variante müsstest du (ggf.) 3 unterschiedliche Funktionen schreiben, bei der eben angesprochenen Variante nur 1, halt nur mit der Prüfung der Eingabefelder. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz