Skal være Integer

Tags:    delphi

ehj,


Jeg har en Editbox hvis værdig bliver lavet om til Integer. Hvordan sikre jeg mig at brugeren intaser et integer? skire jeg mig at den ikke overskrider integer max?



2 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
Det kan du sagtens. Her er et eksempel

Smid det her i din EditKeyPress:

begin
if not ( Key in ['0'..'9', #8,#13] ) then
Key:= #0
else
end;

Hvis ikke der bliver indtastet et tal eller enter eller backspace skal der ikke ske noget. Så kan du tjekke med

if StrToInt(Edit1.Text) > 100 then ShowMessage('Tallet skal være under 100');


-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GED d- s: a--- C++ U? P L+ E? W++ N? o? K- w
O? M? V? PS PE? Y? PGP++ t 5? X+ R tv+ b+ DI? D+
G e-- h! !r y--
------END GEEK CODE BLOCK------

[Redigeret d. 09/09-05 12:01:21 af Jonas (Decko)]



Det er en mulighed, ellers kan denne procedurehjælpe:

procedure MakeNumericOnly(Handle: THandle);
begin
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) or ES_NUMBER);
end;


så kan den kaldes med: MakeNumericOnly(myEdit.Handle);

dette gør at der ikke kan indtastes andet end tal værdier i denne edit box. Lidt mere elegant overfor brugeren synes jeg

(¯`·._.·[Brian Hvarregaard]·._.·´¯)
Praesto et Persto



t