Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Datei Binär auslesen (https://www.delphipraxis.net/39687-datei-binaer-auslesen.html)

creeky 6. Feb 2005 14:13


Datei Binär auslesen
 
Hallo,

ich bin Neuling in Sachen Delphi und benötige somit detailierte Antworten.

Zur Sache:
Ich möchte (rein interessenhalber) ein kleines Tool schreiben, mit dem ich jegliche Arten von Dateien speicherweise als Binärcode ausgeben kann. Leider habe ich keine Ahnung wie ich das fertig bringen könnte.

Bitte um schnelle Antwort.

creeky

Luckie 6. Feb 2005 14:20

Re: Datei Binär auslesen
 
http://www.luckie-online.de/Delphi/S...HexLoader.html

creeky 6. Feb 2005 14:51

Re: Datei Binär auslesen
 
Ich sehe das doch schon richtig, dass dieses aber jetzt als Hexadezimalcode und nicht als Binärcode ausgegeben wird.

Auf der Festplatte wird doch alles als Binärcode gespeichert (z.b. 0011010001) und genau diesen Code möchte ich auslesen. Also genau das, was im Speicher steht.
Wie bekomme ich das hin?

Luckie 6. Feb 2005 14:54

Re: Datei Binär auslesen
 
Dann wnadele die Bytes eben in die Binärschreibweise um, anstatt in die hexadezimale.

creeky 6. Feb 2005 17:23

Re: Datei Binär auslesen
 
Also, ich habe es ausprobiert, aber ich kann nur Textdateien ausgeben. Sobald ich größere Dateien, wie z.B. mp3-Dateien auslesen will, stürzt das Programm ab. Woran liegt das?

Luckie 6. Feb 2005 17:28

Re: Datei Binär auslesen
 
Mein Code funktioniert bei jeder beliebigen Datei.

BTW in wie viel Foren wollen wir denn jetzt gleichzeitig diskuttieren? :roll:

creeky 6. Feb 2005 17:54

Re: Datei Binär auslesen
 
okay. Könnte ich irgendwie auch deine kompletten Sources für das Programm bekommen?

creeky 6. Feb 2005 18:12

Re: Datei Binär auslesen
 
Also entweder hab ich sch**** gebaut oder dein Tool funktioniert nich auf alles.
Könnte ich bitte so die Sources bekommen, damit ich sie auch kompilieren kann?

Luckie 6. Feb 2005 18:13

Re: Datei Binär auslesen
 
Memo auf die Form, Button dazu Code in das OnClick Ereignis kopieren, fertig. Ich habe damit schon MP3s usw. geöffnet.

creeky 6. Feb 2005 18:16

Re: Datei Binär auslesen
 
genau so hab ichs gemacht. Ich glaub n ProgressBar muss auch noch dazu. Wollt ein Bild öffnen.
ProgressBar läuft paar mal hoch. Dann bleibts stehen und es tut sich nichts mehr.

Luckie 6. Feb 2005 18:19

Re: Datei Binär auslesen
 
Da kann ich nur sagen, dass der Code bei mir funktioniert.

smart 6. Feb 2005 18:30

Re: Datei Binär auslesen
 
Hi Luckie!

Wie speichert man eigendlicht das ganze wieder ab?

KLS 6. Feb 2005 18:30

Re: Datei Binär auslesen
 
Bei mir läuft es auch, ich hab das ganze mal für binär umgeändert...

Delphi-Quellcode:
function BuffToBin(ByteArray: TMyByteArray): string;
var
  i: Integer;
  s,foo: string;
const
  bin : array[$0..$F] of string = ('0000','0001','0010','0011','0100','0101','0110','0111','1000','1001','1010','1011','1100','1101','1110','1111');
begin
  SetLength(foo, Length(ByteArray) * 9);
  for i := 0 to High(ByteArray) do
  begin
    s := bin[((ByteArray[i] and $F0) shr 4)] + Bin[(ByteArray[i] and $0F)]+' ';
    Move(s[1], foo[i * 9 + 1], 9);
  end;
  Result := foo;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  fs: TFileStream;
  Buffer: TMyByteArray;
  BytesRead: Longint;
  s: string;
  i: Int64;
begin
  i := 0;
  SetLength(Buffer, BUFFERSIZE);
  fs := TFileStream.Create('c:\boot.ini',fmOpenRead);
  SetLength(s, fs.size * 9);
  try
    repeat
      BytesRead := fs.Read(Buffer[0], BUFFERSIZE);
      Move(BuffToBin(Buffer)[1], s[i * (9 * BUFFERSIZE) + 1],9 * BytesRead);
      Inc(i);
    until BytesRead < BUFFERSIZE;
    Memo1.Text := s;
  finally
    FreeAndNil(fs);
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz