Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como Transormar un string largo a Integer largo (https://www.clubdelphi.com/foros/showthread.php?t=45226)

RodoRodo 26-06-2007 21:54:18

Como Transormar un string largo a Integer largo
 
Saben Amigos intente dar solucion a un problemilla que se me presento al manejar numeros grandes
Tengo esta funcion que al llamarla si sobre paso el limite de 13 numeros me arroja un error que indica


Ej: Base64(12455654541256)

El error que me indica es :Constant espresion violates subrange bounds

Trate De meter de otra manera pero como la cadena es larga al momento de transformar a entero me sale un error de integer valor invalidad

Cita:

Edit2.Text:='12455654541256';
Label2.Caption := Base64(StrToInt(Edit2.Text));
Sera que hay alguna manera de manejar numeros largos y transformalos a integer muy largos

Cita:

Function Base64(Numero:Integer):String;
Var
Cociente,Resto:Integer;
Palabra:String;
Begin
Cociente := 1;
Palabra:='';
While (Cociente>0) Do
Begin
Cociente := (Numero Div 64);
Resto := Numero Mod 64;
Palabra := Diccionario [Resto] + Palabra;
Numero := Cociente
End;
Result := Palabra;
End;
Es un Algoritmo de Encripacion que trato de manipular pero me estanque en esta funcion Ayudenme Amigos
Les quedarew muy agradecidos Byyyyyy

ariefez 27-06-2007 02:26:29

Bastaria con cambiar el tipo del parametro Numero de Integer a Int64 (Rango -2^63..2^63-1), tambien si estas usando div y mod seria mejor usar la rutina DivMod de la unidad Math


La franja horaria es GMT +2. Ahora son las 02:38: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