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 |
Seria más fácil saber el objetivo de dicha función ¿Que es lo que hace?
|
Convierte cualquier base de decimal a hexadecimal etc.
ese código convierte cualquier base no nada mas una |
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 |
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 |
Cita:
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. |
Lo que busco es traducir ese codigo a delphi
te agradecería mucho |
Cita:
|
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; |
Por favor, usa las etiquetas adecuadas para publicar código:
LineComment Saludos |
La franja horaria es GMT +2. Ahora son las 14:15:37. |
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