|
| Hjælp til at samle det hele i en funktion(~ Fra : Morten Petersen |
Dato : 18-03-02 11:52 |
|
Jeg har en masse editbokse, hvori man skal indtaste en værdi mellem
1 og 10. Min idé er at undersøge den indtastede værdi ved
TEdit.OnExit og så hvis man så har indtastet noget mindre end 1, så
skal feltet automatisk til 1 og hvis man har skrevet noget højere end
10 så skal feltet automatisk ændres til 10.
Nu er det bare sådan at jeg ikke gider at gentage den samme kode i
alle editboksenes OnExit, så jeg ville gerne bare sætte alle
editboksenes OnExit til at afvikle den samme funktion, men jeg ved
ikke helt hvad der skal stå i denne funktion.
Jeg regnede med noget i denne stil, men det virker ikke:
procedure Valid(Sender: TObject);
begin
if StrToIntDef(Sender.Text, 0) < 1 then
Sender.Text := '1'
else if StrToIntDef(Sender.Text, 0) > 10 then
Sender.Text := '10';
end;
Så er der nogen der kan hjælpe mig. Eller måske har en bedre idé til
hvordan jeg skulle håndtere ovenstående.
Mvh.
Morten.
| |
David A. D. Konrad (18-03-2002)
| Kommentar Fra : David A. D. Konrad |
Dato : 18-03-02 12:12 |
|
"Morten Petersen" <mpet@ofir.dk> skrev i en meddelelse news:fFjl8.6801
> procedure Valid(Sender: TObject);
> begin
> if StrToIntDef(Sender.Text, 0) < 1 then
> Sender.Text := '1'
> else if StrToIntDef(Sender.Text, 0) > 10 then
> Sender.Text := '10';
> end;
Nu skriver du ikke hvad der ikke virker, men denne kode burde være ok
procedure Valid(Sender: TObject);
var T:TEdit;
begin
T:=TEdit(sender);
if StrToIntDef(T.Text, 0) < 1 then T.Text := '1'
else if StrToIntDef(T.Text, 0) > 10 then T.Text := '10';
end;
| |
|
|