Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Spinedits deren Eingaben sich gegenseitig begrenzen (https://www.delphipraxis.net/85869-spinedits-deren-eingaben-sich-gegenseitig-begrenzen.html)

DelphiManiac 6. Feb 2007 08:40


Spinedits deren Eingaben sich gegenseitig begrenzen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habe wieder einmal ein logisches Problem.
Ich nutzte 2 JvSpinedit Felder (für diejenigen, die die Komponente nicht kennen Screeni im Anhang)
Es sind Editfelder, die Fliesskommazahlen zulassen, und normale Integer, die man über ein Spinbutton,
hoch und runter zählen kann.

Mein Problem, ich habe jenachdem was für ein Zweck die Editfelder gerade haben (d.h. mit welchen Werten,
die Felder gefüllt werden) müssen die möglichen Eingaben der Felder sich gengenseitig begrenzen.

Beispiel:
Edit1 hat den MinWert:= 0 und den MaxWert: (Edit2-100)
Edit2 hat den MinWert: Edit1 + 100 max:=10000

Also es besteht immer ein Offset von 100.

Das das Delta(zwischen Edit1 und Edit2) muss 100 betragen.
Also darf z.B. folgender Zustand nicht auftreten:
Delphi-Quellcode:
Edit1.Value:= 0;
Edit1.Value:= 99;
Wo und wie mache ich diese Überprüfung und Begrenzung am Besten?
Es soll die Eingaben des Benutzters begrenzen, nicht die Quelltextdefinition)

Vielen Dank

Gruß
DelphiManiac
//Edit: Bild eingefügt

cruiser 6. Feb 2007 08:47

Re: Spinedits deren Eingaben sich gegenseitig begrenzen
 
im edit1.onchange den Grenzwert für edit2 setzen und umgekehrt.

Pseudocode:
Delphi-Quellcode:
Edit1.onChange:
  Edit2.min := Edit1.wert + 100;
Edit2.onChange:
  Edit1.max := Edit2.wert + 100;

DelphiManiac 6. Feb 2007 08:50

Re: Spinedits deren Eingaben sich gegenseitig begrenzen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe mal die Ereignisse im Screenshot angehängt

cruiser 6. Feb 2007 08:55

Re: Spinedits deren Eingaben sich gegenseitig begrenzen
 
Denkfehler ... siehe mein erster Post.

DelphiManiac 6. Feb 2007 09:28

Re: Spinedits deren Eingaben sich gegenseitig begrenzen
 
Hi,

ja denke so könnte es klappen, habe da zwar wahrscheinlich noch Probleme wenn ich dann das ganze
mit einem Exponent 10 hoch-2 bewerte und dann die Grenzen neu setzten muss.
Aber dass guck ich mir mal an, bei Problemen meld ich mich wieder.

Gruß
DelphiManiac

marabu 6. Feb 2007 10:57

Re: Spinedits deren Eingaben sich gegenseitig begrenzen
 
Hallo,

ich würde auf die Eingabe des zweiten Wertes verzichten, da der zweite Wert aus dem ersten Wert abgeleitet werden kann. Der berechnete Wert kann ruhig angezeigt werden, aber warum sollte jemand ihn editieren?

Grüße vom marabu

DelphiManiac 6. Feb 2007 13:12

Re: Spinedits deren Eingaben sich gegenseitig begrenzen
 
@marabu:

Hallo, ich glaube da hast du mich einwenig missverstanden, also beide Editfelder sollen einstellbar(veränderbar)
sein.

Es muss nur gewährleistet sein, dass zwischen Edit1 und Edit2 ein Offset von min. 100 besteht.

marabu 6. Feb 2007 13:49

Re: Spinedits deren Eingaben sich gegenseitig begrenzen
 
Ah, jetzt, ja.

Dann würde ich aber die Min-Max-Values unangetastet lassen:

Delphi-Quellcode:
const
  MIN_DIST = 100;
  MIN_VAL = 0;
  MAX_VAL = 10000;

procedure TDemoForm.LowEditChange(Sender: TObject);
begin
  if HighEdit.Value < (LowEdit.Value + MIN_DIST) then
    HighEdit.Value := LowEdit.Value + MIN_DIST;
end;
Freundliche Grüße

DelphiManiac 9. Feb 2007 10:34

Re: Spinedits deren Eingaben sich gegenseitig begrenzen
 
@marabu

Hey genau so werde ich es machen!!
So klappt die gegenseitige Begrenzung super.
Danke und Viele Grüße
DelphiManiac:lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz