Fórum Letra ou numero no edit #222978

29/03/2004

0

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.


Flaviosan

Flaviosan

Responder

Posts

29/03/2004

Paulo_amorim

Olá

try
StrToInt(Edit1.Text);
ShowMessage(´é numero´);
except
ShowMessage(´é letra´);
end;


Até+


Responder

Gostei + 0

29/03/2004

Marco Salles

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;



Responder

Gostei + 0

29/03/2004

Flaviosan

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


Responder

Gostei + 0

29/03/2004

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


Responder

Gostei + 0

29/03/2004

Marco Salles

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));



Responder

Gostei + 0

29/03/2004

Flaviosan

Perfeito!!
Obrigado Paulo e Marcos por suas respostas certeiras.


Responder

Gostei + 0

29/03/2004

Paulo_amorim

[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+


Responder

Gostei + 0

29/03/2004

Marco Salles

Nas Biografias Sobre Delphi Que Já Li ,´ é Recomendado Evitar Exceções Quando Se Puder Prevé-las Ou Espera-las...´
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 :?:


Responder

Gostei + 0

29/03/2004

Paulo_amorim

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é+


Responder

Gostei + 0

29/03/2004

Marco Salles

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
Perfeito!! Obrigado Paulo e Marcos por suas respostas certeiras.

Sem Mais Um Abraço Amigo....


Responder

Gostei + 0

29/03/2004

Paulo_amorim

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é+


Responder

Gostei + 0

29/03/2004

Flaviosan

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar