![]() |
Eingabe von hh:min > 24h
Hallo #,
ich möchte Stunden > 24h eingeben. Der TDateTimePicker erlaubt das nicht (logisch, ist ja auch nur die Uhrzeit). Mit TMaskEdit sieht das irgendwie blöd aus. Der Nutzer soll schon bei der Eingabe nur gültige Stunden eingeben können. Kennt jemand so eine Komponente ? Danke Heiko |
Re: Eingabe von hh:min > 24h
Zitat:
|
Re: Eingabe von hh:min > 24h
Wenns nur Stunden, also BSP: "360" ist, dann reicht doch nen Editfeld ;)
|
Re: Eingabe von hh:min > 24h
Hi,
Normales Edit nehmen und dann einfach per Hand umwandeln... Ungefähr so
Delphi-Quellcode:
Mfg
Str := TimeEdit.Text;
p := pos(':', Str); if p > 0 then TheTime := StrToFloat(Copy(Str, 1, p-1)) / HoursPerDay + StrToFloat(Copy(Str, p+1, length(str)) / MinsPerDay else TheTime := StrToFloat(Str) / HoursPerDay; FAlter |
Re: Eingabe von hh:min > 24h
Hallo,
so, jeder kennt doch das TNumEdit nur Float-Werte eingebbar, Buchstaben werden ignoriert. Das ganze will ich für hhh:min Also Stunden 3-stellig, Minuten max. 2 stellig. ein TDateTimePicker für Stunden >24 halt. Heiko |
Re: Eingabe von hh:min > 24h
Ich würde sowohl den Doppelpunkt als auch den Dezimalseparator zulassen.
So kann man auch ![]() |
Re: Eingabe von hh:min > 24h
Hallo,
das mache ich ja jetzt mit einem TEdit auch so. Es wird aber erst am Ende geprüft, ob der eingegebene String tatsächlich eine gültige Zeit ist. Das wollte ich ändern. Heiko |
Re: Eingabe von hh:min > 24h
Hi,
und was ist das Problem? Lass den Benutzer eingeben was er will und prüfe es im OnExit, also beim Verlassen des Edits. Während meiner Eingabe will ich auch nicht gleich bei einem Tippfehler genervt werden, dass das Zeichen nicht geht oder so. Mfg FAlter |
Re: Eingabe von hh:min > 24h
Hallo Heiko,
vielleicht kannst du ![]() Falls es sich um einen Eingabedialog mit mehreren Feldern handelt, sollte der Anwender wirklich bei der Eingabe nicht unnötig behindert, aber dennoch über Fehleingaben informiert werden. Im verlinkten Code geschieht dies über eine farbliche Kennzeichnung des jeweiligen Eingabefelds. Die Übernahme der Daten aus dem Dialog darf nur dann erfolgen, wenn in allen erforderlichen Feldern gültige Werte stehen. Ob ein Wert gültig ist oder nicht, könnte beispielsweise der OnChange-Code in der Tag-Eigenschaft der Edit-Komponente hinterlegen. So brauchst du beim Schließen des Dialogs nur alle Tag-Werte zu überprüfen. Gruß Hawkeye |
Re: Eingabe von hh:min > 24h
Zitat:
über solche Eingaben habe ich mich schon oft geärgert, weil sie sehr umständlich zu bedienen sind, das sollte also gut durchdacht werden. Beispiel: wenn alle Zwischenergebnisse gültig sein müssen, dann kann man nicht irgendwo eine Ziffer eingeben und dafür eine andere löschen, sondern muss zuerst durch Löschen Platz machen. Eine vorhandene Zahl einfach übertippen durch Linksschieben geht auch nicht. Sind alle Stellen bereits besetzt, kann man garnichts eingeben ausser DEL. Gruss Reinhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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