Witam,
pisalem kod sprawdzajacy czy w stringu sa tylko liczby. Chociaz moglem to zaznaczyc w ide, zeby mozna bylo podac tylko liczby, ale wolalem sam napisac ifa sprwdzajacego, ale cos nie wyszlo. Podam kilka mozliwosci:
n := Length(Edit1.Text);
for i:=1 to n do begin
if (Edit1.Text[i]='^') OR (Edit1.Text[i]='°') OR (Edit1.Text[i]='!')
OR (Edit1.Text[i]='"') OR (Edit1.Text[i]='§') OR (Edit1.Text[i]='$')
OR (Edit1.Text[i]='%') OR (Edit1.Text[i]='&') OR (Edit1.Text[i]='/')
OR (Edit1.Text[i]='(') OR (Edit1.Text[i]=')') OR (Edit1.Text[i]='=')
OR (Edit1.Text[i]='ß') OR (Edit1.Text[i]='?') OR (Edit1.Text[i]='´')
OR (Edit1.Text[i]='`') OR (Edit1.Text[i]='²') OR (Edit1.Text[i]='³')
OR (Edit1.Text[i]='{') OR (Edit1.Text[i]='[') OR (Edit1.Text[i]=']')
OR (Edit1.Text[i]='}') OR (Edit1.Text[i]='\') OR (Edit1.Text[i]='@')
OR (Edit1.Text[i]='€') OR (Edit1.Text[i]='+') OR (Edit1.Text[i]='*')
OR (Edit1.Text[i]='~') OR (Edit1.Text[i]='#') OR (Edit1.Text[i]=' ')
OR (Edit1.Text[i]='<') OR (Edit1.Text[i]='>') OR (Edit1.Text[i]='|')
OR (Edit1.Text[i]='µ') OR (Edit1.Text[i]=',') OR (Edit1.Text[i]=';')
OR (Edit1.Text[i]='.') OR (Edit1.Text[i]=':') OR (Edit1.Text[i]='-')
OR (Edit1.Text[i]='_') OR (Edit1.Text[i]='q') OR (Edit1.Text[i]='w')
OR (Edit1.Text[i]='e') OR (Edit1.Text[i]='r') OR (Edit1.Text[i]='t')
OR (Edit1.Text[i]='z') OR (Edit1.Text[i]='u') OR (Edit1.Text[i]='i')
OR (Edit1.Text[i]='o') OR (Edit1.Text[i]='p') OR (Edit1.Text[i]='ü')
OR (Edit1.Text[i]='a') OR (Edit1.Text[i]='s') OR (Edit1.Text[i]='d')
OR (Edit1.Text[i]='f') OR (Edit1.Text[i]='g') OR (Edit1.Text[i]='h')
OR (Edit1.Text[i]='j') OR (Edit1.Text[i]='k') OR (Edit1.Text[i]='l')
OR (Edit1.Text[i]='ö') OR (Edit1.Text[i]='ä') OR (Edit1.Text[i]='y')
OR (Edit1.Text[i]='x') OR (Edit1.Text[i]='c') OR (Edit1.Text[i]='v')
OR (Edit1.Text[i]='b') OR (Edit1.Text[i]='n') OR (Edit1.Text[i]='m')
OR (Edit1.Text[i]='Q') OR (Edit1.Text[i]='W')
OR (Edit1.Text[i]='E') OR (Edit1.Text[i]='R') OR (Edit1.Text[i]='T')
OR (Edit1.Text[i]='Z') OR (Edit1.Text[i]='U') OR (Edit1.Text[i]='I')
OR (Edit1.Text[i]='O') OR (Edit1.Text[i]='P') OR (Edit1.Text[i]='Ü')
OR (Edit1.Text[i]='A') OR (Edit1.Text[i]='S') OR (Edit1.Text[i]='D')
OR (Edit1.Text[i]='F') OR (Edit1.Text[i]='G') OR (Edit1.Text[i]='H')
OR (Edit1.Text[i]='J') OR (Edit1.Text[i]='K') OR (Edit1.Text[i]='L')
OR (Edit1.Text[i]='Ö') OR (Edit1.Text[i]='Ä') OR (Edit1.Text[i]='Y')
OR (Edit1.Text[i]='X') OR (Edit1.Text[i]='C') OR (Edit1.Text[i]='V')
OR (Edit1.Text[i]='B') OR (Edit1.Text[i]='N') OR (Edit1.Text[i]='M')
then begin
for i:=1 to n do begin
if (Edit1.Text[i]<>'0') OR (Edit1.Text[i]<>'1') OR (Edit1.Text[i]<>'2')
OR (Edit1.Text[i]<>'3') OR (Edit1.Text[i]<>'4') OR (Edit1.Text[i]<>'5')
OR (Edit1.Text[i]<>'6') OR (Edit1.Text[i]<>'7') OR (Edit1.Text[i]<>'8')
OR (Edit1.Text[i]<>'9') then
for i:=32 to 126 do begin
s := Edit1.Text + #i;
for j:=0 to n do begin
if (Edit1.Text[j]=s) then begin
Zrobilem, taki mozliwosci. 1 i 2 dzialaja tylko i wylacznie w czesci. Bo jesli poda sie liczbe na dalszej pozycji niz pierwsza to i tak zadziala. 3. Sposob nie dziala, to pewnie wina przypisania stringa do #, gdzie # i liczba odpowiadaja charowi. Czy ma ktos pomysl, jak to rozwiazac?
Milego wieczorku
DragonCoder