Hallo,
ich hoffe Ihr seid alle gut ins neue Jahr gekommen.
Ich bräuchte mal eure Hilfe. In meinem Projekt habe ich mehrere SpinEdits. Eines davon soll nun aber nicht in konstantem Increment arbeiten, also z.B. 1, 2, 3 usw. , sondern entsprechend der binären Wertigkeit von Bitpositionen, also z.B. 2, 4, 8, 16. Im Source des SpinEdit gibt es die Protected Funktionen 'SaveInc' und 'SaveDec'. Kann ich diese irgendwie ohne viel Aufwand überschreiben? Ich würde gerne vermeiden dafür extra eine Componente/Package schreiben zu müssen.
Grüße
HobbyProgrammer
SpinEdit mit Increment ändern
-
- Beiträge: 206
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
SpinEdit mit Increment ändern
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.
-
- Beiträge: 61
- Registriert: Di 24. Jan 2012, 11:47
- OS, Lazarus, FPC: Win (L- FPC 2.4.4 + 2.6.4)
- CPU-Target: 32Bit
Re: SpinEdit mit Increment ändern
Man kann doch dem Spinedit ein Value zuweisen. Entsprechend auf das OnChange Ereignis reagieren.
Würde ich die Dinge so wie alle anderen machen, hätte ich so manche Probleme nicht.
Aber das wäre langweilig.
Aber das wäre langweilig.
Re: SpinEdit mit Increment ändern
Ich würde kein TSpinEdit nehmen, sondern ein TUpDown mit einem TEdit kombinieren. Das UpDown muss man via Associate kurz mit dem Edit verbinden, damit es sich zum Edit hin anordnet. Aber dann muss man in diesem speziellen Fall die Verbindung wieder lösen, damit das Edit nicht vom UpDown beeinflusst werden kann. Schließlich würde ich einen Eventhandler für TUpDown.OnClick schreiben, in dem der Wert des UpDown (Eigenschaft Position) entsprechend umgerechnet wird:
Code: Alles auswählen
procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
Edit1.Text := IntToStr(1 shl UpDown1.Position);
end;
Zuletzt geändert von wp_xyz am Di 12. Jan 2021, 18:47, insgesamt 2-mal geändert.
-
- Beiträge: 206
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Re: SpinEdit mit Increment ändern
Das TUpDown sieht interessant aus. Ist mir in der Komponenten Palette auch schonmal aufgefallen, hab ich aber noch nie ausprobiert.
Damit werde ich es auf jeden Fall mal versuchen.
Damit werde ich es auf jeden Fall mal versuchen.
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.
-
- Beiträge: 206
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Re: SpinEdit mit Increment ändern
So, nun habe ich es mit einem TUpDown versucht, und es funktioniert perfekt.
Vielen Dank für den Tipp.

Vielen Dank für den Tipp.

Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 24.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.6 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.