Conversor decimal a hexadecimal
Delphi
1.658 visualizaciones desde el 2 de Julio del 2019
Aquí hay un convertidor hexadecimal a decimal de limite Byte porque esta echo para un archivo Intel de 8 bits.
// Algoritmo del archivo Intel
procedure TForm1.Button1Click(Sender: TObject);
var a, e, suma : Integer;
begin
Label1.Caption := 'Son las ' + TimeToStr(Time);
Label2.Caption := 'Hoy es ' + DateToStr(Date);
a := StrToInt(codigo.Text); // Introduzco el codigo en decimal en a
suma:= 255 - StrToInt(codigo.Text); // Resto 255 a todos los codigos hexadecimales y lo guarda en suma
if a > 256 then exit; // Si algun codigo es mayor de 255 , NO lo procesa
e:= StrToInt(calculo.Text)+ suma; // Va sumando los codigos y los guarda e
if e > 256 then
e:= StrToInt(calculo.Text)+ suma - 256;// Cuando la suma supera el Limite de 255 , resta 256
calculo.Text := IntToStr(e); // Salida del Cheksum por un Edit
codigo.Text := IntToHex(StrToInt(calculo.Text), 6);
// Edit1.Text := IntToHex(StrToInt(calculo.Text)+a, 6); // Da la salida del cheksum en Hexadecimal
codigo.SetFocus;
end;
procedure TForm1.borrarClick(Sender: TObject);
begin
codigo.Clear;
calculo.Clear;
end;
procedure TForm1.FormCreate(Sender: TObject);
var MiArchivo : TextFile;
i : Integer;
MiArchivo1: TextFile;
sLinea : string;
begin
AssignFile(MiArchivo, 'Cheksum.hex');
ReWrite(MiArchivo);
Write(MiArchivo, ' :04000000B29080FC3E :00000001FF ');
Writeln(MiArchivo, ' :B29080FC3E :00000001FF ');
CloseFile(MiArchivo);
Reset(MiArchivo);
AssignFile(MiArchivo1, ExtractFilePath(Application.ExeName)+'Checksum.hex');
AssignFile(Input, '');
Reset(Input);
AssignFile(Output, '');
end;
end.
Comentarios sobre la versión: 1.0 (0)
No hay comentarios