function BOOL IsIPAdres(szIP)
BOOL bResult;
string tab,adr;
string znak;
number lista;
INT i,nadr;
begin
bResult = TRUE;
tab = "0123456789.";
lista = ListCreate(STRINGLIST);
//Sprawdzenie ilosci znakow
if ((StrLength(szIP)<7) || (StrLength(szIP)>15)) then bResult = FALSE; endif;
//sprawdzenie dozwolonych znakow
for i=0 to (StrLength(szIP)-1)
StrSub(znak,szIP,i,1);
if (StrFind(tab,znak)<0) then bResult = FALSE; endif;
endfor;
//Rozdzielenie na liste adresow
StrGetTokens ( lista, szIP, "." );
//Czy lista sklada sie z 4 pozycji
if (ListCount(lista)!=4) then bResult = FALSE; endif;
//Sprawdzenie poszczegolnych elementow listy czy format poprawny
ListSetIndex(lista,LISTFIRST);
for i=0 to ListCount(lista)-1
ListCurrentString ( lista, adr );
if ((StrLength(adr)>3) || (StrLength(adr)=0)) then bResult = FALSE; endif;
//Jezeli na pierwszym miejscu jest 0
if ((StrLength(adr)>1)&&(adr[0]=="0")) then bResult = FALSE; endif;
//Jezeli nie da sie zamienic na liczbe
if (StrToNum(nadr,adr)<0) then
bResult = FALSE;
else //Jezeli wynik jest wiekszy niz 256
if (nadr>256) then bResult = FALSE; endif;
endif;
ListSetIndex (lista, LISTNEXT);
endfor;
ListDestroy(lista);
return bResult;
end;
Programowanie c++/c#/delphi/javas/php/installscript/nativescript
Przykłady - przydatne funkcje
wtorek, 27 października 2009
funkcja sprawdzająca czy podany ciąg znaków jest adresem IPv4
Etykiety:
InstallShield - funkcje
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz