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:
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;
Ist die erste Eingabe eine 0, wird sie unterdrückt. Ist es eine 1 oder was anderes, wird sie gestattet.
Im SpinEditChange prüfe ich ob die Eingabe eine bestimmte Größe nicht überschreitet:
Delphi-Quellcode:
if SpinEdit1.Value > kilobyte then
begin
SpinEdit1.Value := kilobyte; // Dürfte klar sein diese Zeile
end;
Das klappt soweit.
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
Was kann man da machen?