Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Saber si una cadena es un número válido

Como se puede pedir un request de si algo es un numero?

Ex:

If edit1.text = num then

Gracias
Responder Con Cita
  #2  
Antiguo 18-02-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Si se trata de buscar un número entero tal vez podrías utilizar la función "TryStrToInt".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 18-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Lo mas rapido que se puede contestar a tu hilo es

Lee nuestra guia de estilo

Salud OS

PD, lo de la comparación es así

Código Delphi [-]
If StrtoInt(Edit1.Text) = num then begin

end;
o

Código Delphi [-]
If Edit1.Text = IntToStr(Num) then begin

end;
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 18-02-2008
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Wow ¿cuántos mensajes responde Dec por minuto?
__________________
Herr Heins Faust
Responder Con Cita
  #5  
Antiguo 18-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
No no eso no. Quiero comprobar que si lo que hay escrito en edit1.text es un numero o es otra cosa.
Responder Con Cita
  #6  
Antiguo 18-02-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Código Delphi [-]
var
  dummy: integer;
begin
  if TryStrToInt(Edit1.Text, dummy) then
  begin
    // Edit1.Text contiene un número entero, está en "dummy"
  end
  else
  begin
    // Edit1.Text no contiene un número entero "válido".
  end;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 18-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por rauros Ver Mensaje
No no eso no. Quiero comprobar que si lo que hay escrito en edit1.text es un numero o es otra cosa.
Ya ves la importancia del titulo de los hilos?

Ya hay algunos hilos donde se comenta eso mismo, al final de este hilo hay varios hilos que te pueden ayudar.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #8  
Antiguo 18-02-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por egostar
Ya ves la importancia del titulo de los hilos?

Ya hay algunos hilos donde se comenta eso mismo, al final de este hilo hay varios hilos que te pueden ayudar.
Antes o después de que yo lo editase, porque (ya no lo recuerdo) el título del hilo no iba muy acorde con el tema. Hay que revisar la guía de estilo rauros.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 18-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Sorry, la próxima vez pondré un titulo acorde mis peticiones de ayuda.
Responder Con Cita
  #10  
Antiguo 18-02-2008
Avatar de Faust
Faust Faust is offline
Miembro
 
Registrado: abr 2006
Ubicación: México D.F.
Posts: 930
Poder: 19
Faust Va por buen camino
Yo recuerdo que hace muchísimo tiempo hacía esto con una función que me inventé;

Código Delphi [-]
function IsInteger(const ATexto: string)boolean;
begin
  Result:= True;
  Try
    StrToInt(ATexto)
  Except
    Result:= False
  end;
end;

O algo así, ya no me acuerdo.
__________________
Herr Heins Faust
Responder Con Cita
  #11  
Antiguo 18-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Okey, ahora cuando intento meter en un label una suma no me deja por que dice que es string. Como transformo string a int? (longin)

He probado con StrtoInt(num3, label5.caption);

Hay que transformar num3 (int) a label5.caption (string)
Responder Con Cita
  #12  
Antiguo 18-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola rauros, la respuesta a tus duda buscando StrToInt en el buscador, y también creo hay algo llamado ayuda. Sino me equivoco se presiona F1.

Por cierto, se usa así:
Código Delphi [-]
algo := StrToInt('12');

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #13  
Antiguo 18-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por rauros Ver Mensaje
Okey, ahora cuando intento meter en un label una suma no me deja por que dice que es string. Como transformo string a int? (longin)

He probado con StrtoInt(num3, label5.caption);

Hay que transformar num3 (int) a label5.caption (string)
Código Delphi [-]
Num3 := StrtoInt(Label5.Caption);

Pero lo mejor sería hacer lo que Dec te está recomendando, así validas que pueda convertirse.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #14  
Antiguo 18-02-2008
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Pulsa F1 sobre StrToInt en el editor de código de delphi y se te abrirá una pantalla con la ayuda sobre esa función.

Un saúdo.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #15  
Antiguo 18-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por dec Ver Mensaje
Hola,



Antes o después de que yo lo editase, porque (ya no lo recuerdo) el título del hilo no iba muy acorde con el tema. Hay que revisar la guía de estilo rauros.
El titulo original era Pregunta Rápida

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #16  
Antiguo 18-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Si conozco la respuesta rápida, pero lo que no conozco es si el nombre de la función era esa. De todos modos, al buscar strtoint me salen unas cosas que me dan dolor de cabeza, lo siento pero estaré por lo menos dando por culo un mes por aquí :S . Es que hasta que no aprenda el lenguaje no voy a poder usar la ayuda rápida...
Responder Con Cita
  #17  
Antiguo 18-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Okey, ahora tengo esto:

Código Delphi [-]
if TryStrToInt(Edit1.Text, num1) and TryStrToInt(Edit2.Text, num2) then begin
num3:=num1 + num2;
num3 := StrtoInt(label5.caption);
end
else
edit1.text:= '';
edit2.Text:= '';
end;

Hasta que no pulso el botón que carga esto bien. Después me da un error muy pesado. It's not a valid integer value o algo parecido.
Responder Con Cita
  #18  
Antiguo 18-02-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por rauros Ver Mensaje
Okey, ahora tengo esto:

Código Delphi [-]
if TryStrToInt(Edit1.Text, num1) and TryStrToInt(Edit2.Text, num2) then begin
num3:=num1 + num2;
num3 := StrtoInt(label5.caption);
end
else
edit1.text:= '';
edit2.Text:= '';
end;

Hasta que no pulso el botón que carga esto bien. Después me da un error muy pesado. It's not a valid integer value o algo parecido.
Creo que tu problema es este

Código Delphi [-]
num3 := StrtoInt(label5.caption); //Label5 me imagino que tiene algún dato o esta vacio.

Y creo que lo que quieres asignar el resultado de la suma al Label5.

Código Delphi [-]
Label5.Caption := InttoStr(Num3); // Es el proceso inverso de StrtoInt

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #19  
Antiguo 18-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
rauros, tu problema se explica muy fácil:

Las funciones XxxToYyy lo que hacen es convertir el tipo xxx al tipo Yyy, siempre y cuando no produzca un error (mejor dicho excepción).

TryXxxToYyy lo que hace es prevenir esas excepciones y sino detecta error la almacena en la variable.

La ayuda es muy clara, si entiendes inglés.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #20  
Antiguo 18-02-2008
rauros rauros is offline
Miembro
 
Registrado: feb 2008
Ubicación: Alicante - Sax / Sax - Alicante
Posts: 235
Poder: 17
rauros Va por buen camino
Okey. Como pienso que xxxtoyyy será IntToStr como StrToInt es, cuando se pueda. Pero con esto no me funciona.

Código Delphi [-]
begin
if TryIntToStr(Edit1.Text, num1) and TryIntToStr(Edit2.Text, num2) then begin
num3:=num1 + num2;
num3 := IntToStr(label5.caption);
end
else
edit1.text:= '';
edit2.Text:= '';
end;

De todos modos lo busqué en la ayuda rápida pero no existe ningun trytoint...

Última edición por rauros fecha: 18-02-2008 a las 20:37:01.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Funcion para borrar la cadena que aparesca repetida dentro de otra cadena flystar Varios 1 02-07-2007 23:51:10
Funcion para buscar cadena dentro de otra cadena y el numero de veces flystar Varios 3 02-07-2007 22:48:08
Generar automaticamente número de factura efelix OOP 3 03-04-2007 18:28:20
Como saber si se entro una cadena determinada en un edit Tauro78 Varios 2 26-03-2007 11:18:03
Buscar cadena dentro de otra cadena doverzhoff Varios 4 27-01-2004 05:27:15


La franja horaria es GMT +2. Ahora son las 16:06:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi