08.09.2008, 17:32
oh i thought those native functions were also made like this,
pawn Код:
strfind(const string[],const sub[],bool:ignorecase=false,pos=0)
{
if(ignorecase == false)
{
for(new i = pos;i < 256; i++)
{
if(string[i] == sub[0])
{
new j;
for(j = 0; j < 256;j++)
{
if(string[i+j] != sub[j]) break;
continue;
}
if(j == strlen(sub))return i;
}
}
}
else
{
for(new i = pos;i < 256; i++)
{
if((string[i] == toupper(sub[0])) || (string[i] == tolower(sub[0])))
{
new j;
for(j = 0; j < 256;j++)
{
if((string[i+j] != toupper(sub[j])) || (string[i+j] != tolower(sub[j]))) break;
continue;
}
if(j == strlen(sub))return i;
}
}
}
return -1;
}
pawn Код:
strlen(const string[])
{
for(new i = 0;i < 256;i++) if(string[i] == '\0') return i;
return 0;
}
pawn Код:
tolower(c)
{
if((c >= 65) && (c <= 90)) return c + ( ('Z' - c) + 7 + (c - 'A') );
return c;
}
pawn Код:
toupper(c)
{
if((c >= 97) && (c <= 122)) return c - ( ('z' - c) + 7 + (c - 'a') );
return c;
}