AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TFileStream: Binäre datei lesen und hex als string anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

TFileStream: Binäre datei lesen und hex als string anzeigen

Ein Thema von Pseudemys Nelsoni · begonnen am 13. Dez 2004 · letzter Beitrag vom 13. Dez 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

TFileStream: Binäre datei lesen und hex als string anzeigen

  Alt 13. Dez 2004, 22:03
hi,

kann mir einer sagen was an folgendem falsch ist? (ja ich weiss das es schwachsinnig aussieht *g*...):

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  fs: TFileStream;
  e, b: char;
begin
  fs := TFileStream.Create('C:\datei', fmOpenRead);
  try
    while fs.Position <= fs.Size-1 do
    begin
      fs.Read(b, 1);
      BinToHex(pchar(b), pchar(e), sizeof(b));
      memo1.Text := memo1.Text + e;
    end;
  finally
    fs.Free;
  end;
end;
ich bekomme immer eine access violation.

ich möchte die datei in einem memo anzeigen (bzw die hexwerte)... also sowas wie FF...usw
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TFileStream: Binäre datei lesen und hex als string anzei

  Alt 13. Dez 2004, 22:08
Na meine Seite ( http://www.luckie-online.de/Delphi/S...HexLoader.html ) noch nicht in den Favoriten drinne?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3

Re: TFileStream: Binäre datei lesen und hex als string anzei

  Alt 13. Dez 2004, 22:10
danke luckie, der code sieht perfekt aus

seite hatte ich in den favoriten, aber habe bis jetzt immer nur auf die api tuts geachtet
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: TFileStream: Binäre datei lesen und hex als string anzei

  Alt 13. Dez 2004, 22:13
Na dann merk dir mal, dass es da noch andere nette Dinge gibt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#5

Re: TFileStream: Binäre datei lesen und hex als string anzei

  Alt 13. Dez 2004, 22:15
Werd ich machen =)
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#6

Re: TFileStream: Binäre datei lesen und hex als string anzei

  Alt 13. Dez 2004, 22:31
Zitat von Pseudemys Nelsoni:
Werd ich machen =)
Dann werfe am besten gleich mal einen Blick auf Luckies Artikel zum Thema CodeDesign.
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#7

Re: TFileStream: Binäre datei lesen und hex als string anzei

  Alt 13. Dez 2004, 22:39
Folgendes ist sehr Performance lastig:

Delphi-Quellcode:
 while fs.Position <= fs.Size-1 do
    begin
      fs.Read(b, 1);
Bei fs.Size wird jedes mal an das Ende der Datei gesprungen und anschliessend an die aktulle Stelle zurück. Die Funktion Read gibt die Anzahl der gelesenen Bytes zurück. Das ganz du ausnutzen:

Delphi-Quellcode:
 while (fs.Read(b, 1)<>0) do
    begin
Deine Access-Violation liegt daran, dass du einen Char nicht so in einen PChar konvertieren kannst.

Am besten du nutzt ganz einfach StrToHex:

e:=StrToHex(Integer(b),2) dann muss aber e als String definiert werden.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:32 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