Hi,
also ich habe in meinem Prog Editfelder mit so UpDown Dinger daneben. Nun muss der Inhalt von Edit26 immer mindestens 1 grösser sein als bei Edit10. Wenn's mehr als 1 grösser ist und edit10 geändert wird dann bleibt edit26 unverändert sonst wirds mit hochgezählt.
Aber irgendwie klappt das nicht richtig. Nach ein paar klicks wird edit26 doch kleiner als Edit10.
Hier der Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62:
| unit test;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls;
type TForm1 = class(TForm) Edit10: TEdit; Edit26: TEdit; UpDown6: TUpDown; UpDown10: TUpDown; procedure Edit10Change(Sender: TObject); procedure UpDown10Click(Sender: TObject; Button: TUDBtnType); procedure UpDown6Click(Sender: TObject; Button: TUDBtnType); private public end; var Form1: TForm1; help: integer; implementation {$R *.DFM}
procedure TForm1.Edit10Change(Sender: TObject); begin try if (strtoint(edit10.text) < 45) and (strtoint(edit10.text) > 0) then updown6.position := strtoint(edit10.text); help := strtoint(edit10.text); if (strtoint(edit26.text) = strtoint(edit10.text)) and (strtoint(edit10.text) < 44) then begin updown10.position := strtoint(edit10.text)+1; edit26.text := inttostr(strtoint(edit10.text)+1); end; except end; end; procedure TForm1.UpDown6Click(Sender: TObject; Button: TUDBtnType); begin edit10.text := inttostr(updown6.position); help := strtoint(edit10.text); if (strtoint(edit26.text) = strtoint(edit10.text)) and (strtoint(edit10.text) < 44) then begin updown10.position := strtoint(edit10.text)+1; edit26.text := inttostr(strtoint(edit10.text)+1); end; end; procedure TForm1.UpDown10Click(Sender: TObject; Button: TUDBtnType); begin if (updown10.position <= 44) and (updown10.position > strtoint(edit10.text)) then begin edit26.text := inttostr(updown10.position); end else begin updown10.position := updown10.position + 1; edit26.text := inttostr(updown10.position); end; end; end. |
Was mache ich falsch? Ich gucke schon seit 'ner Stunde in den Code aber bin schon Betriebsblind und finde den Fehler nicht. Kann mir mal wer helfen?
Danke.
Und übrigens noch ein frohes, gesundes und erfolgreiches Jahr!!
Mfg
Torsten