Întrebarea # 3142 ... ksperty! În cazul în care proprietățile MAXVALUE și componenta MINVALUE spinedit la fel ... (de lucru cu
Bună ziua, dragi experți!
În cazul în care proprietățile și componenta MAXVALUE MINVALUE SpinEdit egale între ele, această componentă pierde cea mai importantă calitatea acesteia - valoarea de restricție (Value) de mai sus și mai jos.
De exemplu, este necesar să se facă o mulțime de picioare într-un rând de componente cu intervale disjuncte.
Cum să obțineți în jurul acestui punct frumos și frumos?
De exemplu, am făcut-o până la: (MAXVALUE <> MINVALUE)
Și astfel, pentru fiecare pereche.
- SpinEdit12. MINVALUE: = SpinEdit11.Value;
- SpinEdit12. MAXVALUE: = SpinEdit13.Value;
- SpinEdit13. MINVALUE: = SpinEdit12.Value;
- SpinEdit13. MAXVALUE: = SpinEdit14.Value;
- dacă SpinEdit12.Value = SpinEdit11.Value thenSpinEdit12.Value: = SpinEdit12.Value + 1;
- dacă SpinEdit12.Value = SpinEdit13.Value thenSpinEdit12.Value: = SpinEdit12.Value-1;
- dacă SpinEdit13.Value = SpinEdit12.Value apoi SpinEdit13.Value: = SpinEdit13.Value + 1;
- dacă SpinEdit13.Value = SpinEdit14.Value apoi SpinEdit13.Value: = SpinEdit13.Value-1;
emite mini-forum
Onchange este posibil să se asigure că
dacă MAXVALUE> MINVALUE
atunci.
altceva. ;
În general, o abordare ciudată. Mi-am proiectat, atât în Partition Magic, de exemplu. Ce este necesar? Poate că există o soluție diferită?
Fac laboratoare și kursachi din Delphi și Turbo Pascal. Pentru berea! Scrie într-un personal, și mai bine în ICQ. Și chiar mai bine - apel pe Skype!
Partition Magic este în D7, dacă există, în cazul în care? Trebuie doar să căutați nr.
Partition Magic - este un program de genul asta.
Și poate, atunci când aceeași graniță, doar pentru a face inaccesibile?
Tick "citește confirmare" - răul universal.
Cât de mult? Puteți reduce cantitatea de cod, în cazul în care le împinge în TList sau TObjectList.
Sunt de acord cu privire la „ao face inaccesibil“ sau, poate, mai bine l-au pus Readonly: = true;
Aici este o bucată de cod din Spin.pas fișier:
funcționa TSpinEdit.CheckValue (NewValue: LongInt): LongInt;
începe
Rezultat: = NewValue;
în cazul în care (FMaxValue <> FMinValue) atunci
începe
dacă NewValue
altceva dacă NewValue> FMaxValue apoi
Rezultat: = FMaxValue;
se încheie;
se încheie;
De ce Borland a adăugat o declarație condițională: if (FMaxValue <> FMinValue), atunci - nu ar exista probleme. Sunt un începător și nu văd truc.
Amenințare Partition Magic cu siguranță, prog)))) are deja rămas prea mult timp
Probabil, a fost necesar pentru a le face proprietatea este pornit sau oprit. această verificare condiționată. Logica de programare este uneori diferit de matematica.