Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como puedo pasar este codigo a delphi el codigo de la imagen es codigo python (https://www.clubdelphi.com/foros/showthread.php?t=92499)

Javier13 14-11-2017 19:18:24

Como puedo pasar este codigo a delphi el codigo de la imagen es codigo python
 
Anexo la imagen en un archivo .rar
les agradecía demasiado

MAXIUM 14-11-2017 20:09:26

Seria más fácil saber el objetivo de dicha función ¿Que es lo que hace?

Javier13 14-11-2017 20:20:34

Convierte cualquier base de decimal a hexadecimal etc.
ese código convierte cualquier base no nada mas una

MAXIUM 14-11-2017 20:57:47

Existe la función IntToHex ¿es eso?
1.- http://www.delphibasics.co.uk/RTL.asp?Name=IntToHex
2.- http://docs.embarcadero.com/products...4@Integer.html

Javier13 14-11-2017 20:59:59

Pero no nada mas convierto a esa base, sino ese código hace cualquier base en una sola funcion
por eso quiero pasar ese cogido a delphi

MAXIUM 14-11-2017 21:51:30

Cita:

Empezado por Javier13 (Mensaje 522495)
Convierte cualquier base de decimal a hexadecimal etc.
ese código convierte cualquier base no nada mas una

Oh bueno, ahora entendí. Creo que esto puede ser de utilidad How to convert between binary, octal, decimal and hexadecimal
http://delphi.cjcsoft.net/viewthread.php?tid=45966

Por supuesto también se puede traducir el código que has puesto si no sirve lo anterior y seguimos con el hilo.

Javier13 14-11-2017 22:04:23

Lo que busco es traducir ese codigo a delphi
te agradecería mucho

Casimiro Notevi 14-11-2017 22:52:25

Cita:

Empezado por Javier13 (Mensaje 522505)
Lo que busco es traducir ese codigo a delphi
te agradecería mucho

Ve haciéndolo y te vamos ayudando con los problemas que tengas.

Javier13 15-11-2017 23:21:21

Así va mi codigo:

function Conversion(Numero, desde, hasta: string): string;
var
k : Integer; //ya
n : Integer; //creo
digito : string;
valor : Integer;
pos : Integer;
alfabeto : String;//TStringList;
alfalis : TStringList;
maximo : Integer;
p : Integer;
resultado : String;
actual : Real;
division : integer;
//z : extended;
resta : integer;
resultadok: Real;
indice : string;
begin
// Round : redondea un Número de punto flotante a un valor entero.
// Length :
// Power : Potencia
// div : Divicion entera
// Mod : Modulo o resuduo

alfabeto:='abcdefghijklmnñopqrstuvwxyz';
maximo:=Length(alfabeto);


if not (StrToInt(desde) < maximo) and (StrToInt(desde) >1) then begin
Showmessage('Base origen imposible');
Exit;
end;

if not (StrToInt(hasta) < maximo) and (StrToInt(hasta) >1) then begin
Showmessage('Base destino imposible');
Exit;
end;

k:=0;
n:= Length(Numero);

for pos in [0..n] do begin
digito:=numero[pos];
end;

if not (edNumero.Text<> digito) and (edNumero.Text<>alfabeto)then begin
Showmessage(Digito + ' No es valido en ninguna base');
Exit;
end;
{ valor:=alfabeto.IndexOf(digito); }

if not valor < StrToInt(desde) then begin
Showmessage(Digito + ' No es valido en base origen');
Exit;
end;

k:= valor*StrToInt(desde);
resta:= (n - pos - 1);
resultadok:= Power(k,resta);
p:=0;

while hasta < IntToStr(k) do begin
p:= p+1;
resultado:= '';
end;

while p > 0 do begin
p:=p-1;
actual:= (power(StrToInt(hasta),p));
resultado:=resultado+alfabeto+IntToStr((k div Round(actual)));
k:= k mod Round(actual);
Result:=resultado;
end;
end;

roman 16-11-2017 16:41:33

Por favor, usa las etiquetas adecuadas para publicar código:



LineComment Saludos


La franja horaria es GMT +2. Ahora son las 23:40:07.

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