![]() |
Edit-Eingabe Problem =(
Also,
Ich habe jetzt ungefähr eine Stunde nach einer Lösung gesucht aber keine hinbekommen. In einem SpinEdit überprüfe ich, ob die erste Zahl eine 0 ist oder eine andere und reagiere entsprechend dadrauf:
Delphi-Quellcode:
Ist die erste Eingabe eine 0, wird sie unterdrückt. Ist es eine 1 oder was anderes, wird sie gestattet.
if SpinEdit1.Text = '' then
begin if not (Key in ['1'..'9', Char(VK_BACK)]) then Key := #0; end; if SpinEdit1.Text >= '1' then begin if not (Key in ['0'..'9', Char(VK_BACK)]) then Key := #0; end; Im SpinEditChange prüfe ich ob die Eingabe eine bestimmte Größe nicht überschreitet:
Delphi-Quellcode:
Das klappt soweit.
if SpinEdit1.Value > kilobyte then
begin SpinEdit1.Value := kilobyte; // Dürfte klar sein diese Zeile end; Gebe ich jetzt aber (wen MaxValue 111 ist) 999 ein, so springt der Cursor an erste Stelle im SpinEdit, und ich kann wieder eine 0 eingeben, was nicht sien sollte :idea: Was kann man da machen? |
Re: Edit-Eingabe Problem =(
die CursorPosition kannst du mit SelStart abfragen. Du solltest also nicht davon ausgehen das jemand prinzipiell die Zahlen nacheinander eintippt.
In diesem Sinne finde ich deinen Ansatz auch falsch. Was ist wenn ich eine 100 Eintragen will, 2 mal die 0 tippe und dann eine 1 davor eintippen will? dann würde nur eine 1 am ende da stehen? Sag einfach mal was der Sinn des ganzen ist, dann kann man dir vielleicht eine sinnvollere Herangehensweise empfehlen. |
Re: Edit-Eingabe Problem =(
Ok, der Sinn ist der:
Ich öffne mit einem Dialog eine Datei dessen Dateigröße ich in Kilobyte umrechne und in einer Variablen speichere. Im SpinEdit kann ich angeben, in wieviele kleine Kilobyte-"Stückchen" diese Datei geteilt werden soll. Deswegen sollte man keine 0 am anfang eingeben könne :( Weil das wäre ja rein theoretisch auch unsinn |
Re: Edit-Eingabe Problem =(
dann lass den User unsinn eingeben und wenn er mit dem Unsinn arbeiten will gibst du aus was damit nicht stimmt. Im OnExit oder dergleichen kannst du das ja auch schon machen.
|
Re: Edit-Eingabe Problem =(
mhh... ich weis nicht so recht , unsinn ist nie gut =)
ich gucke mal. Edit: Leider ist das mit dem Unsinn nicht so gut. Sonst könnten z.B. 2000 Teilchen erstellt werden, was sehr unangenehm wäre |
Re: Edit-Eingabe Problem =(
Zitat:
SpinEdit hat übrigens auch ne Eigenschaft MaxValue Kann auch sein, dass ich dich jetzt irgendwie falsch verstehe... P@Tti |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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