i have problem to allow enter only from 1 to 65535 bicouse
example if enter 10000,2000 is ok but enter 99 not.

hire 1 example (not working)

``````If somthing.Text > '65535 'then
ShowMessage(' you enter biger Number from 65535');
Exit;``````

hire 2 example (not working)

``````var
result : Integer;
string1: String;
string2: String;
begin
string1:='65535';
string2:= somthing.Text;
result := AnsiCompareStr(string1, string2);
if result < 0 then ShowMessage(string1+' < '+string2);``````

Thanks.

## All 5 Replies

i have problem to allow enter only from 1 to 65535 bicouse
example if enter 10000,2000 is ok but enter 99 not.

hire 1 example (not working)

``````If somthing.Text > '65535 'then
ShowMessage(' you enter biger Number from 65535');
Exit;``````

hire 2 example (not working)

``````var
result : Integer;
string1: String;
string2: String;
begin
string1:='65535';
string2:= somthing.Text;
result := AnsiCompareStr(string1, string2);
if result < 0 then ShowMessage(string1+' < '+string2);``````

Thanks.

[DELPHI]

1. Convert your string to a number and test that.

2. create the following function and pass the string as

IF Between(Atextbox.Text,1,65535)
THEN MessageDlg('Thats OK',MtInformation,[MbOK],0)

You could also vary the Value by type and overload this to do any numbers

FUNCTION Between(Value : String;Low,High : LongInt) : BOOLEAN;
VAR
N : Integer;
Begin
TRY
N := StrtoInt(Value);
RESULT := ((N >= Low) AND (N <= High));
EXCEPT ON EConvertError DO
RESULT := FALSE;
End;
End;

commented: great funkcion thanks +1

[DELPHI]

1. Convert your string to a number and test that.

2. create the following function and pass the string as

IF Between(Atextbox.Text,1,65535)
THEN MessageDlg('Thats OK',MtInformation,[MbOK],0)

You could also vary the Value by type and overload this to do any numbers

FUNCTION Between(Value : String;Low,High : LongInt) : BOOLEAN;
VAR
N : Integer;
Begin
TRY
N := StrtoInt(Value);
RESULT := ((N >= Low) AND (N <= High));
EXCEPT ON EConvertError DO
RESULT := FALSE;
End;
End;

thanks to replay (FUNCTION is ok i have test it ) but i got strange agan i can enter example 2000,23222, but if enter 88 i got error...

I made a pascal source code :D

``````program sablon;

uses crt;

type range = 1..65535;

const ok = 'ok.';
error = 'error';
min = 1;

var one:longint;
two:range;
user,temp:string;

function converter(x:string):string;
var code:integer;
begin
two:=65535;
{\$I-}
val(x,one,code);

if (ioresult <> 0) then begin
converter:=error;
exit;
end;
if (code <> 0) then begin
converter:=error;
exit;
end;
if (one > two) or (one < min) then converter:=error else converter:=ok;
{\$I+}
end;

begin
clrscr;
temp:=error;
while temp <> ok do begin
write('please enter a number from 1 to 65535: ');
temp:=converter(user);
writeln(temp);
end;

end.
{created by FlamingClaw 2009}``````
commented: Great programer Thanks for Help +1

var
xx:Integer;
begin
try
xx:=strtoint(something.text);
if xx<1 then showmessage('number too small') else
if xx>65535 then showmessage('number too big') else
Showmessage('number accepted');
except
showmessage('Not a valid number');
end;
end;

commented: Thanks for help +1

BIG Thanks for replay to:
quaifp1
cao
FlamingClaw

i have solved .........

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.