Dúvidas básicas
17/03/2003
0
1 - Qual é (se existir) a função que me diz se o conteúdo de um string é número. Tipo, no vb seria:
sTeste = ´123´
If IsNumeric(sTeste) Then MsgBox(´Beleza é número!´)
Qual é o equivalente em Delphi?
2 - Preciso cronometrar o tempo de execução do meu código, qual seria a função indicada para tal finalidade? Que tipo de dados devo utilizar?
3 - Este é um problemão, vejam se conseguem entender:
Tenho o vetor:
CaracteresEspeciais : Array[0..5] Of String = (´(´,´)´,´[´,´]´,´{´,´}´);
Em determinado momento da execução ocorre:
sCar := ´+´; //sCar é do tipo String
Depois há uma comparação:
If sCar = CaracteresEspeciais[1] Then
Application.MessageBox(´Igual!!!´,´Teste´);
Por mais estranho que possa parecer a mensagem ´Igual´ aparece! Ou seja o Delphi está dizendo que ´+´ é igual a ´)´!!! Pois no meu vetor nem tem o ´+´!!!
Fiz um teste com uma variável auxiliar:
sAUX := CaracteresEspeciais[1];
Application.MessageBox(PChar(sAUX),´Teste de novo´);
Adivinhem qual foi a mensagem??? Reposta: + !!!!!
Como pode isso???
Se alguém puder ajudar eu agradeço muito! Qualquer das 3 perguntas.
Fernandoara
Posts
17/03/2003
Nebrio
try
StrToInt(sTeste);
ShowMessage(´É Numero´);
except
begin
ShowMessage(´Não é Numero´);
Exit;
end; // except
end; // try
2 - Não entendi !
3 - Tente assim
// Deve ser declarado na sesão var
CaracteresEspeciais : Array[0..5] Of String = (´(´,´)´,´[´,´]´,´{´,´}´);
// lembre-se que (´,´) é uma string;
if not sCar = CaractereEspeciais[1] then
ShowMessage(´Diferente´) else
ShowMessage(´Igual´);
Não testei a n.º 3 mas ve se funciona
T+
17/03/2003
Fernandoara
OK vou tentar! Muito obrigado!
17/03/2003
Marcelo Saviski
declare uma variavel com o integer;
variavel := gettickcount; //executa algum código tempo de duração do código := gettickcount - variavel;
3 - Este é um problemão, vejam se conseguem entender:
Tenho o vetor:
CaracteresEspeciais : Array[0..5] Of String = (´(´,´)´,´[´,´]´,´{´,´}´);
não use vetores, use o Set
Caracteres especiais : set of char = [´(´,´)´,´[´,´]´,´{´,´}´];
Em determinado momento da execução ocorre:
sCar := ´+´; //sCar é do tipo String
Depois há uma comparação:
If sCar = CaracteresEspeciais[1] Then
Application.MessageBox(´Igual!!!´,´Teste´);
faça assim
if sCar in caracteresespeciais then Application.MessageBox(´Igual!!!´,´Teste´);
Clique aqui para fazer login e interagir na Comunidade :)