Problema com 'IF' -
Alado - 02.05.2013
Por algum motivo, mesmo o inputtext tendo os requisitos que o 'if' pede, ele dб erro..
pawn Код:
case DIALOG_EMAIL:
{
if(!response)
{
format(alado, 115, "{BEBEBE}Informe um e-mail vбlido. Este e-mail serб usado para enviar uma nova senha, caso vocк perca a atual.", nome);
ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_PASSWORD, "{FF8C00}X", alado, "Confirmar", "");
}
else
{
if(strfind(inputtext, "@") && strfind(inputtext, "."))
{
if(strfind(inputtext, "!") || strfind(inputtext, "#") || strfind(inputtext, "$") || strfind(inputtext, "%") || strfind(inputtext, "Ё") || strfind(inputtext, "&") || strfind(inputtext, "*") || strfind(inputtext, "(") || strfind(inputtext, ")") || strfind(inputtext, "/") || strfind(inputtext, "-"), strfind(inputtext, "+"))
{
format(alado, 115, "{FF0000}@ERRO: {FF8C00}E-MAIL INVБLIDO\n\n\n{BEBEBE}Informe um e-mail vбlido. Este e-mail serб usado para enviar uma nova senha, caso vocк perca a atual.", nome);
ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_PASSWORD, "{FF8C00}X", alado, "Confirmar", "");
}
else
{
format(arquivo, 28, contas, nome);
DOF2_SetString(arquivo, "E-mail", inputtext);
DOF2_SaveFile();
}
}
else
{
format(alado, 115, "{FF0000}@ERRO: {FF8C00}E-MAIL INVБLIDO\n\n\n{BEBEBE}Informe um e-mail vбlido. Este e-mail serб usado para enviar uma nova senha, caso vocк perca a atual.", nome);
ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_PASSWORD, "{FF8C00}X", alado, "Confirmar", "");
}
}
}
Re: Problema com 'IF' -
Falcon. - 02.05.2013
quando surgir esses problemas, basta fazer uma depuraзгo do cуdigo:
pawn Код:
#include <a_samp>
new string[18] = "email@dominio.com";
main()
{
printf(">> email selecionado: %s\n\n", string);
if(strfind(string, "@") && strfind(string, "."))
{
if(strfind(string, "!") || strfind(string, "#") || strfind(string, "$") || strfind(string, "%") || strfind(string, "Ё") || strfind(string, "&") || strfind(string, "*") || strfind(string, "(") || strfind(string, ")") || strfind(string, "/") || strfind(string, "-"), strfind(string, "+"))
{
print("O email contйm caracteres invбlidos");
}
else
{
print("O email foi registrado com sucesso");
}
}
else
{
print("O email nгo й valido, tente novamente");
}
}
resultado:
[22:47:28] >> email selecionado: email@dominio.com
[22:47:28] O email contйm caracteres invбlidos
Re: Problema com 'IF' -
Alado - 02.05.2013
Sim, eu fiz! E nгo me ajudou nada hб saber que tem de errado no if..
Re: Problema com 'IF' -
Falcon. - 02.05.2013
se o email estб correto e diz que contйm caracteres invбlidos, logo o problema estб nas condicionais...
cуdigo funcionando:
pawn Код:
#include <a_samp>
new string[30] = "email@dominio.com";
main()
{
printf(">> email selecionado: %s\n\n", string);
if(strfind(string, "@") != -1 && strfind(string, ".") != -1 )
{
if(strfind(string, "!") != -1 || strfind(string, "#") != -1 || strfind(string, "$") != -1 || strfind(string, "%") != -1 || strfind(string, "Ё") != -1 || strfind(string, "&") != -1 || strfind(string, "*") != -1 || strfind(string, "(") != -1 || strfind(string, ")") != -1 || strfind(string, "/") != -1 || strfind(string, "-") != -1 || strfind(string, "+")!= -1)
{
print("O email contйm caracteres invбlidos");
}
else
{
print("O email foi registrado com sucesso");
}
}
else
{
print("O email nгo й valido, tente novamente");
}
}
compare-os e veja onde estб o problema
Re: Problema com 'IF' -
FixSkuL - 02.05.2013
Emails de muitas pessoas tem o
- , pra que proibir ?
Re: Problema com 'IF' -
Alado - 02.05.2013
Й verdade, FixSkuL! Tinha esquecido que '-' й permitido.
Obrigado, Falcon!