Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-09-2008
nikotina nikotina is offline
Miembro
 
Registrado: oct 2006
Posts: 84
Poder: 18
nikotina Va por buen camino
comparar numeros como string

Hola a todos. Necesito saber la forma de poder comparar dos o mas numeros pero como tipo de datos string, ya que cuando son numeros enteros no hay problemas, lo lista de menor a mayor. Pero cuando los numeros son con decimales no los lista de menor a mayor. siempre hablando de numeros convertidos a strings.

muchas gracias
Responder Con Cita
  #2  
Antiguo 01-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
hola, lo mejor seria que los volvieras a pasar de string a numero y hacer la comparación numerica
Responder Con Cita
  #3  
Antiguo 01-09-2008
Besto Besto is offline
Miembro
 
Registrado: abr 2006
Posts: 118
Poder: 19
Besto Va por buen camino
Lo único que puedes hacer es como dice coso, convertirlos a números y compararlos.
Responder Con Cita
  #4  
Antiguo 01-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
y estas son las funciones para con decimales y enteros
strtofloat(String)
strtoint(String)
Responder Con Cita
  #5  
Antiguo 01-09-2008
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
si lo quieres hacer desde el select puedes trabar con un cast(numero as string)
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #6  
Antiguo 16-09-2008
Rancy Rancy is offline
Miembro
 
Registrado: may 2008
Posts: 17
Poder: 0
Rancy Va por buen camino
Hola a todos

Mi problema es parecido al de nikotina, pero lo que quiero hacer es pasar un valor "Variant" a string, para poder escribirlo, o guardarlo sin mayores complicaciones.

Supongo que hay una funcion para esto, pero hasta ahora no he sido capaz de encontrarla, podriais ayudarme?

Muchas gracias,
Responder Con Cita
  #7  
Antiguo 16-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
con los variant el "cast" es automático no necesitas cambiar nada....e incluso puedes mostrar un variant en un showmessage...

Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
p:variant;
begin
p:=323;
s:=p;
showmessage(s);
showmessage(p)
end;
Responder Con Cita
  #8  
Antiguo 16-09-2008
Rancy Rancy is offline
Miembro
 
Registrado: may 2008
Posts: 17
Poder: 0
Rancy Va por buen camino
Gracias Tony.
Ahora veo que tal vez el error vaya por otro lado, pero el programa sigue deteniéndose justo en el momento en que intento mostrar un variant.

Lo que hago es leer una celda de un documento de excel, hasta aquí ningún problema. Y el valor de esa celda de excel lo guardo en una variable variant.

Al intentar:
Código Delphi [-]
showmessage(MiVariableVariant);

Obtengo el siguiente error:
"Could not convert variant of type (Array Variant) into type (String)

Esque tal vez se supone que con "Array Variant" se está refiriendo a una tabla con varios posibles strings o valores? No estoy seguro, intentaré algo parecido a:

Código Delphi [-]
showmessage(MiVariableVariant[1]);

Y ahora te cuento

EDIT: No, no funciona. Ahora el error es: "Variant or safe array index out of bounds" (fuera de límites?) mmm ok, estoy leyendo de donde no debería, creo que debería declarar la variable de otro modo quizá.

Última edición por Rancy fecha: 16-09-2008 a las 09:47:07.
Responder Con Cita
  #9  
Antiguo 16-09-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
prueba con el 0.

Código Delphi [-]
showmessage(MiVariableVariant[0]);
Responder Con Cita
  #10  
Antiguo 16-09-2008
Rancy Rancy is offline
Miembro
 
Registrado: may 2008
Posts: 17
Poder: 0
Rancy Va por buen camino
Tampoco funciona, quizá hoy no sea mi dia de suerte!

Seguiré buscando/probando, y si lo consigo postearé el cómo.

Hasta entonces, suerte!
Responder Con Cita
  #11  
Antiguo 16-09-2008
Rancy Rancy is offline
Miembro
 
Registrado: may 2008
Posts: 17
Poder: 0
Rancy Va por buen camino
Ok, ya me di cuenta del fallo.

Corrijo la sentencia por:
Código Delphi [-]
showmessage(MiVariableVariant[x,y]);

Siendo "x" y "y" los números de las celdas del susodicho documento excel. Por ejemplo, [2,2] se refiere a la celda B2.

Y funciona. Así pues, la variable Variant es una tabla 2D donde hay la tabla entera de excel guardada? Me resulta un poco extraño, pero por lo menos he solucionado los problemas de código.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Comparar números. REHome .NET 5 16-07-2008 00:49:18
Comparar dos String tonyskl Varios 6 15-04-2008 15:18:18
Comparar String con Constante brandolin Varios 1 08-06-2007 05:46:05
comparar listas de numeros Tala SQL 4 06-07-2006 00:45:14
Comparar String davidgaldo Varios 1 30-04-2004 10:29:53


La franja horaria es GMT +2. Ahora son las 08:21:52.


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