[erledigt] SpinEditEx und FloatSpinEditEx

Rund um die LCL und andere Komponenten
Benutzeravatar
juelin
Beiträge: 237
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: SpinEditEx und FloatSpinEditEx

Beitrag von juelin »

Habe die Werte von MinValue und MaxValue mit FloatToStr() ausgegeben.
MinValue = -99999,999
MaxValue = 99999,999
Also unterschiedlich.
Gruß
Jürgen

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: SpinEditEx und FloatSpinEditEx

Beitrag von m.fuchs »

Du kannst natürlich auch die Rückmeldung an den Benutzer noch verbessern:

Code: Alles auswählen

procedure TForm1.FloatSpinEditEx1Change(Sender: TObject);
var
  CurrentValue: Double;
begin
  CurrentValue := StrToFloatDef(FloatSpinEditEx1.Text, Double.MinValue);
  if (CurrentValue >= FloatSpinEditEx1.MinValue) and (CurrentValue <= FloatSpinEditEx1.MaxValue) then begin
    FloatSpinEditEx1.Color := clGreen;
    Button1.Enabled := True;
  end else begin
    FloatSpinEditEx1.Color := clRed;
    Button1.Enabled := False;
  end;
end;
Damit sieht man sofort ob der eingegebene Wert falsch ist und als Bonus kann der OK-Button deines Forms auch noch deaktiviert werden, wenn die Werte nicht passen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Antworten