Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#10

AW: Tutorial Arbeiten mit Dateien auf binärer Ebene

  Alt 27. Jan 2013, 15:20
Nein, ich will an die einsen und nullen einer Datei kommen und diese möglichst in einem String oder so haben.
Also wie schon gesagt, das Laden sollte in ein String klappen. Hier ein Beispiel (wenn es ein String sein soll):

Delphi-Quellcode:
function LoadStringFromFile(AFilePath: String; var AFileString: AnsiString): Boolean;
var
  FileStream: TFileStream;
begin
  Result := False;
  if not FileExists(AFilePath) then Exit;
  FileStream := TFileStream.Create(AFilePath, fmOpenRead);
  try
    if FileStream.Size <> 0 then
    begin
      SetLength(AFileString, FileStream.Size);
      FileStream.Read(AFileString[1], FileStream.Size);
      Result := True;
    end;
  finally FileStream.Free end;
end;

function SaveStringToFile(AFilePath: String; AFileString: AnsiString): Boolean;
var
  FileStream: TFileStream;
begin
  Result := False;
  FileStream := TFileStream.Create(AFilePath, fmCreate);
  try
    if Length(AFileString) <> 0 then
    begin
      FileStream.Write(AFileString[1], Length(AFileString));
      Result := True;
    end;
  finally FileStream.Free end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Path: String;
  TestString: AnsiString;
begin
  Path := ExtractFilePath(ParamStr(0));
  LoadStringFromFile(Path + 'Datei-A.exe', TestString);
  SaveStringToFile(Path + 'Datei-B.exe', TestString);
end;
Das mit den Nullen und Einsen ist ein anderer Part. Da kannst du je nachdem die Bits eines Bytes auslesen, z. B. mit AND.
  Mit Zitat antworten Zitat