Ver Mensaje Individual
  #2  
Antiguo 12-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Hola fedelphi, yo no he podido reproducir el problema que comentas. Si utilizo el siguinete codigo:
Código Delphi [-]
var
  aux:string;
  numero:int64;
begin
  aux:= '87654';
  numero:=strtoint64(aux);
  ShowMessage(IntToStr(numero));
El numero que se muestra es 87654, el numero correcto.

De todas formas, si solo quieres hacer comparaciones con los números, no hace falta que los conviertas. Se pueden comparar directamente dos números en formato de texto, solo tienes que asegurarte de que tienen el mismo número de cifras, añadiendo ceros a la izquierda si es necesario.

Por ejemplo:
Código Delphi [-]
function Comparar(i,j: String): Integer;
begin
  while Length(i) > Length(j) do
    j:= '0' + j;
  while Length(j) > Length(i) do
    i:= '0' + i;
  Result:= StrComp(PChar(i),PChar(j));
end;


var
  S1, S2: String;
begin
  S1:= '1236560';
  S2:= '123556';
  if Comparar(S1,S2) > 0 then
    ShowMessage('S1 es mayor que S2')
  else
    ShowMessage('S2 es mayor o igual que S1');
end;

Última edición por seoane fecha: 12-05-2007 a las 18:13:16.
Responder Con Cita