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 19-04-2004
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
Buscar número en cadena

Saludos amigos foreros, me encuentro en un dilema, tengo una cadena y en esa cadena quiero saber si existen números o es solo de carácteres, no me gustaría usar un ciclo y quiero saber si en delphi ya existe esa función...
muchas gracias
Responder Con Cita
  #2  
Antiguo 19-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
podes intentar convertirlo a un número, y si la conversión falla, asumir que hay algun otro caracter...

Código:
  try
    StrToInt(cadena);
  except
    on EConvertError do
      NumeroInvalido := True;
  end;
Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 19-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Podes usar LastDelimiter, pero internamente no deja de hacer un ciclo:
Código:
if LastDelimiter('0123456789', sCadena) > 0 Then
  ShowMessage('Tiene Números');
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 19-04-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Cita:
Empezado por jachguate
podes intentar convertirlo a un número, y si la conversión falla, asumir que hay algun otro caracter...[/code]
Con la respuesta de jachguate me haces dudar... Si quieres saber si es un número válido, puedes utilizar algo como esto:
Código:
function IsInteger(Valor : String) : Boolean;
var 
  iRes, iErr : Integer;
begin
  Val(Valor, iRes, iErr);
  Result := iErr = 0;
end;

function IsNumber(Value: string): Boolean;
var 
  fRes: Extended;
begin
  Result := TextToFloat(PChar(Value), fRes, fvExtended);
end;
Esto evitará que se produzca una excepción, si quieres saber si la cadena contiene algún número, sin importar si es solo un número, puedes usar la solución que te pase en el hilo anterior.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 19-04-2004
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
A mi también me agrado mas la segunda respuesta, en si la primera no me resolveria mi problema, muchas gracias
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


La franja horaria es GMT +2. Ahora son las 07:45:36.


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