Letra ou numero no edit
Olá pessoal.
Tenho a seguinte duvida: como identifico se o conteudo de um edit é letra ou numero, pois dependendo de qual seja, farei uma busca diferente.
Agradeço antecipadamente.
Tenho a seguinte duvida: como identifico se o conteudo de um edit é letra ou numero, pois dependendo de qual seja, farei uma busca diferente.
Agradeço antecipadamente.
Flaviosan
Curtidas 0
Respostas
Paulo_amorim
29/03/2004
Olá
Até+
try StrToInt(Edit1.Text); ShowMessage(´é numero´); except ShowMessage(´é letra´); end;
Até+
GOSTEI 0
Marco Salles
29/03/2004
conteudo de um edit é letra ou numero,
Voce Quer Dizer Letra Ou Palavra :?: A Função Abaixo é Mais Geral, Tenta Identificar Palavra Ou Numero, Serve Também Para Letra....
function VerificarConteudoDoEdit(Texto:String):Boolean; VAR i:integer; begin result:=False; i:=1; While i<= Length(Texto) do begin if not (Texto[i] in [´0´..´9´]) Then begin result:=True; Break; end; i:=i+1; end; end; procedure TForm1.Button1Click(Sender: TObject); begin if VerificarConteudoDoEdit(Edit1.Text) Then ShowMessage(´Palavra´) else ShowMessage(´Numero´); end;
GOSTEI 0
Flaviosan
29/03/2004
Obrigado Marcos.
Eu queria saber mais uma coisa: se o texto inserido for numero, como saber o comprimento desse texto? (ex.: 548627 tem o comprimento igual a 6)
Agradeço antecipadamente
Eu queria saber mais uma coisa: se o texto inserido for numero, como saber o comprimento desse texto? (ex.: 548627 tem o comprimento igual a 6)
Agradeço antecipadamente
GOSTEI 0
Marco Salles
29/03/2004
P:S A Resposta Do Nosso Amigo ´Paulo_Amorim´ Esta Correta, Mas Eu Particularmente Prefiro Evitar Esta Pratica.. No Meu Entender, É Melhor Evitar o Uso De Exceções Quando Podemos Antecipar as Condições De Erro Possíveis, Do Programa
GOSTEI 0
Marco Salles
29/03/2004
Eu queria saber mais uma coisa: se o texto inserido for numero, como saber o comprimento desse texto?
O Texto Inserido, Não é Um Número :!: Voce Pode Dependendo Transformar o Conteudo Do Texto Em Un Múmero, Aí Já é Outra História...
Mas De Qualquer Forma o Comprimento Do Texto Pode Ser Determinado Pela Função: Length(Texto);
ShowMessage(IntToStr(Length(Texto));
GOSTEI 0
Flaviosan
29/03/2004
Perfeito!!
Obrigado Paulo e Marcos por suas respostas certeiras.
Obrigado Paulo e Marcos por suas respostas certeiras.
GOSTEI 0
Paulo_amorim
29/03/2004
[quote:2302b9afcf=´Marco Salles´]P:S A Resposta Do Nosso Amigo ´Paulo_Amorim´ Esta Correta, Mas Eu Particularmente Prefiro Evitar Esta Pratica.. No Meu Entender, É Melhor Evitar o Uso De Exceções Quando Podemos Antecipar as Condições De Erro Possíveis, Do Programa[/quote:2302b9afcf]
Olá
Qual o probleam com o uso de exceçoes? Por que nao gosta?
Eu nao me preocupi pois o Delphi pode lidar com elas sem problemas (tanto eh que pode-se inclusive ´criar´ uma exceçao).
Exceção nao eh igual a Defeito, mas sim uma coisa nao esperada (como passar uma String alfanumerica para integer).
Nao quero ser ´teimoso´ e nao aceitar tua sugestao, mas apenas entende-la...se me convencer, certamenta passarei a evitar tambem!
Outra coisa, embora fazer um while varrendo o Edit.Text seja bom e ´limpo´, toma mais tempo de processamento.
Ate+
Olá
Qual o probleam com o uso de exceçoes? Por que nao gosta?
Eu nao me preocupi pois o Delphi pode lidar com elas sem problemas (tanto eh que pode-se inclusive ´criar´ uma exceçao).
Exceção nao eh igual a Defeito, mas sim uma coisa nao esperada (como passar uma String alfanumerica para integer).
Nao quero ser ´teimoso´ e nao aceitar tua sugestao, mas apenas entende-la...se me convencer, certamenta passarei a evitar tambem!
Outra coisa, embora fazer um while varrendo o Edit.Text seja bom e ´limpo´, toma mais tempo de processamento.
Ate+
GOSTEI 0
Marco Salles
29/03/2004
Nas Biografias Sobre Delphi Que Já Li ,´ é Recomendado Evitar Exceções Quando Se Puder Prevé-las Ou Espera-las...´
Eu Não Sou Formador De Opiniões, Apenas Passador De Opiniões
Voce Tem Certeza Disto :?: Será Que o Tempo Gasto Pelo Delphi Para
Provocar Uma Exceçõa e Manipula-la é Relmente Menor :?:
Exceção nao eh igual a Defeito, mas sim uma coisa nao esperada (como passar uma String alfanumerica para integer).
Nao quero ser ´teimoso´ e nao aceitar tua sugestao, mas apenas entende-la...se me convencer, certamenta passarei a evitar tambem
! Eu Não Sou Formador De Opiniões, Apenas Passador De Opiniões
Outra coisa, embora fazer um while varrendo o Edit.Text seja bom e ´limpo´, toma mais tempo de processamento.
Voce Tem Certeza Disto :?: Será Que o Tempo Gasto Pelo Delphi Para
Provocar Uma Exceçõa e Manipula-la é Relmente Menor :?:
GOSTEI 0
Paulo_amorim
29/03/2004
Olá
Nunca soube disso, por isso sempre usei.
Não quero dizer que eh formador de opiniões, mas estamos aqui para aprender. Se o que me disse de fato eh real, eh uma cois que aprendi e fico grato! hei de pensar niso em algoritmos futuros... :idea:
Quem sabe...talvez nao seja, mas eu prefiro nao usar...vai ver eu dise isso porque eu odeio While :lol:
Até+
Nunca soube disso, por isso sempre usei.
Não quero dizer que eh formador de opiniões, mas estamos aqui para aprender. Se o que me disse de fato eh real, eh uma cois que aprendi e fico grato! hei de pensar niso em algoritmos futuros... :idea:
Quem sabe...talvez nao seja, mas eu prefiro nao usar...vai ver eu dise isso porque eu odeio While :lol:
Até+
GOSTEI 0
Marco Salles
29/03/2004
Nos Estamos Aqui Para Aprender :D :D ...... É Isto Mesmo: Nossa Discusão Seguiu Na Linha Do Esclarecimento e Do Respeito Mútuo Como Deveria Ser Toda a Escala De Opiniões Do Forum... Quero Ressaltar Que Houve Fatalidades Que Podesse Deixar Voce Pensar Que Eu Estava Descreditando Sua Opinião. :( :( ..Acontece Que EU e Voce Respondemos Quase Que Simultaneamente Este Tópico(Se Eu Tivesse Visto Sua Mensagem Dificilmente Eu Postaria a Minha), Depois Disso Eu e o flaviosan Postamos Também Quase Que Simultaneamente as Mensagens Seguintes... Uma Pessoa De Fora Poderia Ter Entendido Que o Flavio Tivesse Escolhido a Minha Opinião Porque Eu Teria Desacreditado a Sua... Mas Não Foi Isto Que Aconteceu... :idea: O flaviosan Sem Tomar Conhecimento Da Minha Postagem e Acredito Também Sem Tomar Conhecimento Também Da Sua Primeira Postagem, Se Referiu a Mim...( Mas Isto Foi Uma COincidencia Devido As Mensagems Serem Quase Que Simultaneas.)
No Final o flaviosan Gentilmente Se Converte, Onde Ele Declara a Importância De Sua Opinião: :P :P :P
Sem Mais Um Abraço Amigo....
No Final o flaviosan Gentilmente Se Converte, Onde Ele Declara a Importância De Sua Opinião: :P :P :P
Perfeito!!
Obrigado Paulo e Marcos por suas respostas certeiras.
Sem Mais Um Abraço Amigo....
GOSTEI 0
Paulo_amorim
29/03/2004
Olá
talvez nao tenha me feito entender...eu nao peguei mal nem nada!!!
De fato, estou grato a voce por ter explicado um bom motivo para nao usar exceçoes!
Sobre o Flavio ter ou nao usado a minha ideia, isso eh questao dele!
Nao fiquei bravo nem nada :D
Acho que quanto mais postagens houver, melhor para o fórum e seus usuarios! Assim, nossa discussao terminou bem
Um abraço!
Até+
talvez nao tenha me feito entender...eu nao peguei mal nem nada!!!
De fato, estou grato a voce por ter explicado um bom motivo para nao usar exceçoes!
Sobre o Flavio ter ou nao usado a minha ideia, isso eh questao dele!
Nao fiquei bravo nem nada :D
Acho que quanto mais postagens houver, melhor para o fórum e seus usuarios! Assim, nossa discussao terminou bem
Um abraço!
Até+
GOSTEI 0
Flaviosan
29/03/2004
Olha pessoal, pela falha minha acabei criando um incidente internacional(rss).
Quando enviei minha segunda mensagem(perguntando sobre o comprimento do numero) eu havia deixado a tela do post parada por uns 15 min. Quando respondi a mensagem, eu rolei a tela para me certificar do nome de quem havia me respondido, e o nome que eu vi foi o do marcos, pois ele tinha enviado uma resposta tambem nesse tempo e o sistema do forum coloca as novas mensagens no topo(logo abaixo e onde a gente escreve a mensagem). resumindo eu respondi a mensagem certa para o colega errado. o exemplo do paulo encaixou como uma luva e eu tentei conseguir uma complementação e acabou dando nisso. so que eu penso como o marcos, se voce pode evitar que uma excessao ocorra, faça isso.
Me desculpem mais uma vez e muito obrigado pelas suas resposta matadoras.
Quando enviei minha segunda mensagem(perguntando sobre o comprimento do numero) eu havia deixado a tela do post parada por uns 15 min. Quando respondi a mensagem, eu rolei a tela para me certificar do nome de quem havia me respondido, e o nome que eu vi foi o do marcos, pois ele tinha enviado uma resposta tambem nesse tempo e o sistema do forum coloca as novas mensagens no topo(logo abaixo e onde a gente escreve a mensagem). resumindo eu respondi a mensagem certa para o colega errado. o exemplo do paulo encaixou como uma luva e eu tentei conseguir uma complementação e acabou dando nisso. so que eu penso como o marcos, se voce pode evitar que uma excessao ocorra, faça isso.
Me desculpem mais uma vez e muito obrigado pelas suas resposta matadoras.
GOSTEI 0