[Ajuda] IsValidTag - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] IsValidTag (
/showthread.php?tid=382062)
IsValidTag -
DrTHE - 01.10.2012
Estou com um problema em uma funзгo:
eu uso ela em um dialog e ela estб retornando a 0 mesmo se o caracter for permitido.
Como eu uso:
pawn Код:
if(!IsValidTag(inputtext)) ...
Funзгo:
pawn Код:
stock IsValidTag(str[])
{
new i, cur;
if(7 > strlen(str) > 0)
{
while(i < 6)
{
cur = str[i++];
if((cur < 'A') || (cur > 'Z') || (cur < '0')
|| (cur > '9') || (cur == '~') || (cur == '+') || (cur == '-')
|| (cur == '=') || (cur == '*') || (cur == '/') || (cur == '\\')
|| (cur == '!') || (cur == ''') || (cur == '#') || (cur == '%')
|| (cur == '&') || (cur == 'Ё') || (cur == '(') || (cur == ')')
|| (cur == '_') || (cur == '§') || (cur == '¬') || (cur == 'ў')
|| (cur == 'І') || (cur == '№') || (cur == '?') || (cur == '|')
|| (cur == '°') || (cur == '"') || (cur == ';') || (cur == ':')
|| (cur == '^') || (cur == '[') || (cur == ']') || (cur == '`')
|| (cur == '{') || (cur == '}') || (cur == 'Ј') || (cur == 'і')
|| (cur == 'Є') || (cur == 'є') || (cur == '¶') || (cur == '•')
|| (cur == '™') || (cur == '¤')) return 0;
}
}
else
{
return 0;
}
return 1;
}
Alguйm sabe o que pode ser?
Re: IsValidTag -
ViniBorn - 01.10.2012
Esses caracteres mantem uma PA na tabela ASCII ?
Re: IsValidTag -
zSuYaNw - 01.10.2012
usa strcmp, okflw.
ou transforme a string para tabela ASCII.
Re: IsValidTag -
DrTHE - 01.10.2012
Quote:
Originally Posted by Viniborn
Esses caracteres mantem uma PA na tabela ASCII ?
|
Nгo entendi vini, o que seria 'PA'?
Re: IsValidTag -
zSuYaNw - 01.10.2012
isso:
pawn Код:
IsValidTag(str[]){
for(new i, size = strlen(str); i != size; ++i){
if((str[i] < 'A') || (str[i] > 'Z') || (str[i] < '0')
|| (str[i] > '9') || (str[i] == '~') || (str[i] == '+') || (str[i] == '-')
|| (str[i] == '=') || (str[i] == '*') || (str[i] == '/') || (str[i] == '\\')
|| (str[i] == '!') || (str[i] == ''') || (str[i] == '#') || (str[i] == '%')
|| (str[i] == '&') || (str[i] == 'Ё') || (str[i] == '(') || (str[i] == ')')
|| (str[i] == '_') || (str[i] == '§') || (str[i] == '¬') || (str[i] == 'ў')
|| (str[i] == 'І') || (str[i] == '№') || (str[i] == '?') || (str[i] == '|')
|| (str[i] == '°') || (str[i] == '"') || (str[i] == ';') || (str[i] == ':')
|| (str[i] == '^') || (str[i] == '[') || (str[i] == ']') || (str[i] == '`')
|| (str[i] == '{') || (str[i] == '}') || (str[i] == 'Ј') || (str[i] == 'і')
|| (str[i] == 'Є') || (str[i] == 'є') || (str[i] == '¶') || (str[i] == '•')
|| (str[i] == '™') || (str[i] == '¤')) return 0;
}
return 1;
}
Re: IsValidTag -
ViniBorn - 01.10.2012
Quote:
Originally Posted by THE_FALLEN
Nгo entendi vini, o que seria 'PA'?
|
Progressгo aritmйtica. Se for, dб pra vocк trabalhar com os valores, em vez dos caracteres, que vai deixar o cуdigo menor.
Re: IsValidTag -
DrTHE - 01.10.2012
Quote:
Originally Posted by [Full]Garfield[XDB]
isso:
pawn Код:
IsValidTag(str[]){
for(new i, size = strlen(str); i != size; ++i){ if((str[i] < 'A') || (str[i] > 'Z') || (str[i] < '0') || (str[i] > '9') || (str[i] == '~') || (str[i] == '+') || (str[i] == '-') || (str[i] == '=') || (str[i] == '*') || (str[i] == '/') || (str[i] == '\\') || (str[i] == '!') || (str[i] == ''') || (str[i] == '#') || (str[i] == '%') || (str[i] == '&') || (str[i] == 'Ё') || (str[i] == '(') || (str[i] == ')') || (str[i] == '_') || (str[i] == '§') || (str[i] == '¬') || (str[i] == 'ў') || (str[i] == 'І') || (str[i] == '№') || (str[i] == '?') || (str[i] == '|') || (str[i] == '°') || (str[i] == '"') || (str[i] == ';') || (str[i] == ':') || (str[i] == '^') || (str[i] == '[') || (str[i] == ']') || (str[i] == '`') || (str[i] == '{') || (str[i] == '}') || (str[i] == 'Ј') || (str[i] == 'і') || (str[i] == 'Є') || (str[i] == 'є') || (str[i] == '¶') || (str[i] == '•') || (str[i] == '™') || (str[i] == '¤')) return 0; } return 1; }
|
Eu tentei aqui, mas ainda retorna a 0.
Obrigado mesmo assim
Quote:
Originally Posted by Viniborn
Progressгo aritmйtica. Se for, dб pra vocк trabalhar com os valores, em vez dos caracteres, que vai deixar o cуdigo menor.
|
Irei fazer isso.
Vai me dar um pouco de trabalho rsrs.
Obrigado.
Re: IsValidTag -
zSuYaNw - 01.10.2012
Agora sim, testado:
pawn Код:
IsValidTag(str[]){
for(new i, size = strlen(str); i != size; ++i){
if(!(str[i] >= 0x61 || 0x7A <= str[i])){ // if is valid character
return false;
}
}
return true;
}