Ir ao conteúdo

Dúvida em AnsiString no C++ Builder


Fibonacci2012

Posts recomendados

Postado

Quando o usuário apertar um certo botão no meu programa, eu quero que o programa só faça um negócio lá se o primeiro caractere do campo Edit1 seja um número. Então, eu fiz o seguinte código para quando o usuário apertar este botão:

AnsiString s = Form1->Edit1->Text;
if(!strchr("0123456789",s[0]))
{
MessageBox(NULL,"Caractere inválido","Aviso",MB_ICONWARNING)
return;
}
else
{
.....
}

O problema é que quando eu aperto este botão, ele dá um erro e para de executar o programa à força. Ele dá esse erro se eu digito qualquer coisa no primeiro caractere do campo, seja um número ou não. Eu percebi que se eu for no código, tirar o s[0] e colocar qualquer outro caractere no lugar dele, como por exemplo, if(!strchr("0123456789",'3')), o programa executa normalmente quando eu aperto o botão (aparece a janela do aviso normalmente). O que eu estou fazendo de errado? Por acaso eu não posso usar o s[0] para pegar o primeiro caractere da string?

  • 2 semanas depois...
  • Moderador
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...