Hvordan kan man gøre så brugeren kun kan skrive hele positive tal i en Edit? Og nej... ikke TSpinEdit, for der kan man også skrive komma og bindestreg og de pile er ikke kønne ( har D6 personal)
procedure TNumEdit.WhenKeyPress(Sender: TObject; var Key: Char);
var
p : integer;
begin
case Key of
'0'..'9' : ;
'.',',' : if AllowDec AND
(pos(DecimalSeparator,Text)=0)
then Key:=DecimalSeparator
else Key:=#0;
#8 : ;
#45 : if FAllowNeg then
begin
p :=SelStart;
eValue:=-eValue;
if eValue>0
then SelStart:=p-1
else SelStart:=p+1;
Key:=#0;
end;
else
Key:=#0;
end;
end;
TNumEdit is a component, an TEdit descedant, that accepts only numerical input. You can adjust whether to accept positive or negative numbers (AllowNeg) or integer or decimals (AllowDec). You can also limit the input by using MinValue and/or MaxValue.
Med venlig hilsen
Frede_Manden
http://www.frederik-skov.dk[Redigeret d. 16/04-04 15:06:16 af Frede_Manden]