Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Linea de BITS (https://www.clubdelphi.com/foros/showthread.php?t=90421)

MaxiDucoli 04-06-2016 17:22:08

Linea de BITS
 
Buen día, quizás lo que esté preguntando sea algo muy básico y tonto, por que así creo que lo es pero no lo sé hacer y por eso pregunto... :p

Supongamos que tengo una "tira" de Bytes (8 por ejemplo) y quiero escribir es "tira" de Bytes es un TXT, pero con su valor en BITS, o sea que en vez de escribir FF FA F1 A2 33 22 00 FF quiero escribir los 64 BITS que representan esos valores.

Cómo hago eso??????

Muchas gracias, de ante mano ^\||/^\||/^\||/^\||/^\||/^\||/^\||/^\||/^\||/

Saludos!!!!!

ecfisa 04-06-2016 18:45:23

Hola MaxiDucoli.

Revisa este ejemplo:
Código Delphi [-]
...
implementation

function HexToBinary(const HexaValue: string):string;
const
  BIN: array [0..15] of string = ('0000','0001','0010','0011','0100','0101',
   '0110','0111','1000','1001','1010','1011','1100','1101','1110','1111');
var
  i: Integer;
begin
  for i := 1 to Length(HexaValue) do
    if not (UpCase(HexaValue[i]) in ['0'..'9','A'..'F']) then
      raise Exception.Create('Número hexadecimal inválido');

  for i := Length(HexaValue) downto 1 do
    Result := BIN[StrToInt('$' + UpCase(HexaValue[i]))] + Result;
end;

procedure SaveToFile(Hexa: string; const aFileName: TFileName);
var
  TS: TStrings;
begin
  Hexa := StringReplace(Hexa, ' ', '', [rfReplaceAll]);
  TS := TStringList.Create;
  try
    TS.Text := HexToBinary(Hexa);
    TS.SaveToFile(aFileName);
  finally
    TS.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  FileName: TFileName;
  Hex: string;
begin
  Hex      := 'FF FA F1 a2 33 22 00 FF';
  FileName := ExtractFilePath(Application.ExeName) + 'binary.txt';
  SaveToFile(Hex, FileName);
end;

Saludos :)


La franja horaria es GMT +2. Ahora son las 16:40:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi