AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie lese ich den BINÄRCODE einer Datei aus?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie lese ich den BINÄRCODE einer Datei aus?

Ein Thema von Cleverclimber · begonnen am 9. Mär 2006 · letzter Beitrag vom 11. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
Cleverclimber

Registriert seit: 9. Mär 2006
Ort: Porto / Portugal
9 Beiträge
 
Delphi 3 Professional
 
#1

Wie lese ich den BINÄRCODE einer Datei aus?

  Alt 9. Mär 2006, 20:52
Also hallo alle zusammen...
Ich steh schon seit längerem vor einem (aus meiner sicht ) größeren problemchen....
Ich müsste für ein Program den binären Code einer Dateiu auslesen können und wenn es ginge diesen auch wieder abspeichern.
Wer mir helfen könnte:
SCHREIBT UND HELFT MIR!!!
thx a lot
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: !!!HELP!!!! Wie lese ich den BINÄRCODE einer Datei aus??

  Alt 9. Mär 2006, 20:55
dafür ist die Klasse TFilestream supi geeignet. Hier ein Beispiel:
Delphi-Quellcode:
var LStream: TFileStream;
    LBuffer: String;
begin
  SetLength(LBuffer, 10);
  LStream := TFileStream.Create(DeinDateiname, fmOpenReadWrite);
  //10 Zeischen aus der Datei lesen
  LStream.Read(LBuffer[1], 10);
  //zurück an position 0 springen
  //10 Zeischen zurück schreiben
  LStream.Write(LBuffer[1], 10);
  LStream.Free;
end;
zwischen dem lesen und dem schreiben kannst du natürlich den Buffer ändern.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#3

Re: !!!HELP!!!! Wie lese ich den BINÄRCODE einer Datei aus??

  Alt 9. Mär 2006, 20:58
Da wir das erst vor Kuzem hatten:

Änder mal deinen Titel. Hilfe brauch'n 'se hier alle und ein Fragezeichen langt in der deutschen Sprache bereits.

BTW:

Willkommen in der DP...
  Mit Zitat antworten Zitat
Cleverclimber

Registriert seit: 9. Mär 2006
Ort: Porto / Portugal
9 Beiträge
 
Delphi 3 Professional
 
#4

Re: !!!HELP!!!! Wie lese ich den BINÄRCODE einer Datei aus??

  Alt 9. Mär 2006, 21:03
joh danke ging ja fix.... habs noch nit ausprobiert werds aber tun.... nur bnoch was... das mit dem Titel des Themas ändern wie geht das???
Und danke für deinen willkommensgruß...
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#5

Re: !!!HELP!!!! Wie lese ich den BINÄRCODE einer Datei aus??

  Alt 9. Mär 2006, 21:06
Zitat von Cleverclimber:
das mit dem Titel des Themas ändern wie geht das???
Im ersten Beitrag auf klicken
  Mit Zitat antworten Zitat
Cleverclimber

Registriert seit: 9. Mär 2006
Ort: Porto / Portugal
9 Beiträge
 
Delphi 3 Professional
 
#6

Re: Wie lese ich den BINÄRCODE einer Datei aus?

  Alt 9. Mär 2006, 21:15
Danke


Aber um nochmal auf mein Problem zurückzukommen.... so wie das jetzt ist ließt der mir (bei *.txt-files) immer nur den Text aus und bei andern (*.bmp) kommt dann einfach nur eine sinnlose Buchstaben kombination.
Meine Frage war aber wie ich den BINÄRCODE auslesen kann, also die Kombination der 1 und 0, mit der die datei eigentlich auf der festplatte geschpeichert ist.
Mein wunschausgabeergebnis wäre ein String mit einer Zahlenkombination die nur aus 1 und 0 besteht also zum Beispiel '011010101011101000010001000101010000010100'
Also irgendwie war das noch nicht das richtige, das hätte ich auch mit
Delphi-Quellcode:
var text:Tstringlist;
begin
  text:=TStringlist.Create;
  text.LoadfromFile(Dateiname);
end;
machen können.
Aber trotzdem schon mal danke.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Wie lese ich den BINÄRCODE einer Datei aus?

  Alt 9. Mär 2006, 21:19
das müsstest du dir dann selbst anhand der ausgelesenen Zeischen darstellen. Bits kann man nicht einzeln auslesen. man kann nur ganze Bytes lesen. Und dann müsste man eben prüfen welche Bits gesetzt sind und drauf dann die 0en und 1en machen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Wie lese ich den BINÄRCODE einer Datei aus?

  Alt 9. Mär 2006, 21:21
du kannst den Filestream verwenden, dann geht es nur etwas anderst:

Delphi-Quellcode:
var LStream: TFileStream;
    buf:array of byte;
begin
  SetLength(LBuffer, 10);
  LStream := TFileStream.Create(DeinDateiname, fmOpenReadWrite);
  //10 Zeischen aus der Datei lesen
  LStream.Read(LBuffer[1], 10);
  //zurück an position 0 springen
  //10 Zeischen zurück schreiben
  LStream.Write(LBuffer[1], 10);
  LStream.Free;
end;
//der Inhalt des Array of Byte beinhaltet nach dem Lesen die ersten 10 Zeichen der Datei als Byte-Zahlen, also 0-255. Die kannst du dann noch weiter in 1en und 0en oder alternativ Hex-Zeichen zerlegen:

Delphi-Quellcode:
function hex(b:byte):string;
var
  hexes:string='0123456789ABCDEF';
begin
  result:=hexes[1+ (b div 16)]+ hexes[1+(b mod 16)];
end;
es gibt noch unendlich viele andere Möglichkeiten, den Code auszulesen, ich persönlich halte den filestream nicht für die eleaganteste.

z.B. gibts da noch die file:
Delphi-Quellcode:
var
  f:file of {jederbeliebigeTyp ausser Strings und Klassen, wir nehemn file of byte, um einzelne 1-Byte-große zahlenwerte
auszulesen}
 byte;
  r:integer;
  buf:array [0..1023] of byte;
begin
  assignfile(f,dateiname);
  //jetzt Datei öffnen:
  reset(f); //um existierende datei zu öffnen
  rewrite(f); //um existierende datei zu überschreiben oder neue zu erstellen
  //jetzt lesen/schreiben
  blockread(f {Dateivariable, aus der gelesen wird},buf{buffer-Speichervariable in die gelesen wird},1024{anzahl der zu lesenden Bytes},r{Hier eine Integervariable angeben, in der nach dem lesen gespeichert ist wie viel der zu lesenden Bytes tatsächlich gelesen wurden});
  seek(f,position); //springe in der Datei an eine bestimmte Position (0 = Anfang, filesize(F) = Ende, 1200 = hinter dem 1200. Byte in der Datei)
  blockwrite(f {Dateivariable, in die geschrieben wird},buf{buffer-Speichervariable aus der geschrieben wird},1024{anzahl der zu schreibenden Bytes},r{Hier eine Integervariable angeben, in der nach dem schreiben gespeichert ist wie viel der zu schreibenden Bytes tatsächlich geschrieben wurden});
  
  filepos(f) //gibt die Position zurück an der die Datei sich gerade befindet
  //letztendlich Datei wieder schliessen
  closefile(f);
end;
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Dust Signs

Registriert seit: 28. Dez 2004
Ort: Salzburg
379 Beiträge
 
#9

Re: Wie lese ich den BINÄRCODE einer Datei aus?

  Alt 9. Mär 2006, 21:24
@ichbins: Wäre IntToHex nicht einfacher?

Dust Signs
(aka AXMD in der EE)
Die Nummer, die Sie gewählt haben, ist imaginär. Bitte drehen Sie Ihr Telefon um 90° und versuchen Sie es erneut.
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Wie lese ich den BINÄRCODE einer Datei aus?

  Alt 9. Mär 2006, 21:26
Zitat von Dust Signs:
@ichbins: Wäre IntToHex nicht einfacher?

Dust Signs
kennichnicht
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz