AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

openDialog für Hexeditor

Ein Thema von Jab · begonnen am 12. Feb 2005 · letzter Beitrag vom 14. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
Jab

Registriert seit: 19. Dez 2004
21 Beiträge
 
#1

openDialog für Hexeditor

  Alt 12. Feb 2005, 17:06
Ich habe folgenden Code aus Luckie's Hexloader.
Ich würde da gerne Irgendwo einen opendialog (VCL) einbauen, anstelle des

Delphi-Quellcode:
 fs := TFileStream.Create('G:\MP3s\Beatles\Beatles - Blue Jay Way.mp3',
    fmOpenRead);


Hier die komplette Prozedur

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  fs: TFileStream;
  Buffer: TMyByteArray;
  BytesRead: Longint;
  s: string;
  i: Int64;
  HexLength: Integer;
begin
  i := 0;
  SetLength(Buffer, BUFFERSIZE);
  fs := TFileStream.Create('G:\MP3s\Beatles\Beatles - Blue Jay Way.mp3',
    fmOpenRead);
  HexLength := Length(HEXPREFIX) + 2 + Length(HEXSUFFIX);
  SetLength(s, fs.size * HexLength);
  Progressbar1.Max := fs.Size div BUFFERSIZE;
  try
    repeat
      BytesRead := fs.Read(Buffer[0], BUFFERSIZE);
      Move(BuffToHex(Buffer)[1], s[i * (HexLength * BUFFERSIZE) + 1],
        HexLength * BytesRead);
      Inc(i);
      Progressbar1.StepIt;
      Application.ProcessMessages;
    until BytesRead < BUFFERSIZE;
    Memo1.Text := s;
  finally
    FreeAndNil(fs);
  end;
end;
Danke schonmal
Jab
  Mit Zitat antworten Zitat
Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: openDialog für Hexeditor

  Alt 12. Feb 2005, 17:36
wenn ich das richtig verstanden habe sollte es so funktionieren:

Delphi-Quellcode:
if OpenDialog1.Execute then
  fs:= TFileStream.Create(OpenDialog1.Filename,
    fmOpenRead);
Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat
Jab

Registriert seit: 19. Dez 2004
21 Beiträge
 
#3

Re: openDialog für Hexeditor

  Alt 13. Feb 2005, 14:31
Danke, das hat funktioniert...

Weiß denn auch einer, wie ich es schaffe, ähnlich wie in einem Hexeditor, den hexadezimalen Block aus der Memo1 Komponente , gleichzeitig im Ansii Zeichensatz (oder wie das heißt) in einer Memo2 Komponente darstellen zu lassen??? (siehe Anhang)

Über Codesnippets würde ich mich freuen

Jab
Miniaturansicht angehängter Grafiken
hexeditor_647.jpg  
  Mit Zitat antworten Zitat
Fourcorner

Registriert seit: 26. Aug 2004
Ort: Grenzach-Wyhlen
51 Beiträge
 
Delphi 7 Personal
 
#4

Re: openDialog für Hexeditor

  Alt 13. Feb 2005, 14:40
Hallo,

Aus der Delphihilfe zu der Funktion Chr:

Zitat:
function Chr(X: Byte): Char;

Die Funktion gibt das Zeichen mit einem bestimmten ASCII-Wert zurück.

Chr gibt das Zeichen zurück, das dem im Byte-Wert X angegebenen Ordinalwert (ASCII-Wert) entspricht.
Julian
  Mit Zitat antworten Zitat
Kernel32.DLL
(Gast)

n/a Beiträge
 
#5

Re: openDialog für Hexeditor

  Alt 13. Feb 2005, 15:08
Wobei du aber darauf achten musst, dass das ASCII-Zeichen #13 einen Zeilenumbruch darstellt! D.H. wenn du zufällig als Byte den Wert 13 hast (Dezimal), wird in deinem Memo die Zeile umgebrochen.

(
Denke mal das war so richtig, ansonsten gilt das Zitat:

[equote="Flomei's Fahrlehrer soll mal gesagt haben:"]
Ich hab doch keine Ahnung von dem Sch**** hier...
[/equote]
)


mfg Daniel
  Mit Zitat antworten Zitat
Jab

Registriert seit: 19. Dez 2004
21 Beiträge
 
#6

Re: openDialog für Hexeditor

  Alt 13. Feb 2005, 18:31
???

Auch wenn das jetzt n bisschen doof klingt, aber ich hab da mal garkeine Ahnung wie das gehen soll . Gibt's da nicht einfach n Befehl für? sowas wie Intohex() nur umgedreht?
  Mit Zitat antworten Zitat
Kernel32.DLL
(Gast)

n/a Beiträge
 
#7

Re: openDialog für Hexeditor

  Alt 13. Feb 2005, 21:01
Wozu brauchst du denn eine Funktion, die Hexadezimalzahlen in Integer umwandelt??

Pass auf:
Du liest das erste Byte ein, wandelst das in einen Hexadezimalwert um und schreibst ihn in das erste Memo. Dann nimmst du dir wieder das gerade gelesene Byte, wandelst das mit Chr(Byte) in ein ASCII - Zeichen um schreibst das ins zweite Memo.
Na ja, usw...

mfg
Daniel
  Mit Zitat antworten Zitat
Quake

Registriert seit: 25. Aug 2003
222 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: openDialog für Hexeditor

  Alt 14. Feb 2005, 06:22
Such dir doch einfach im i-Net eine neue Komponente, die dir dein Hex-Editor anzeigt.
Zum Beispiel hier.
  Mit Zitat antworten Zitat
Kernel32.DLL
(Gast)

n/a Beiträge
 
#9

Re: openDialog für Hexeditor

  Alt 14. Feb 2005, 11:57
man könnte sowas zur Abwechslung aber auch mal selbst machen
war eins der ersten Programme, was ich geschrieben habe, wenn auch ziemlich rudimentär
  Mit Zitat antworten Zitat
Jab

Registriert seit: 19. Dez 2004
21 Beiträge
 
#10

Re: openDialog für Hexeditor

  Alt 14. Feb 2005, 12:11
@Kernel32.DLL
Ja genau sowas brauch ich, weiß aber nicht wie ich das programmieren soll...
Hast du dein Programm vielleicht zufällig noch ?
Wär echt super, da ich mit Delphi noch nicht so richtig durchblicke...


@Quake

Danke für den Link, hab mal ein paar runtergeladen, sehen aber alle ziemlich kompliziert aus.



Schon mal danke für alles...

Jab
  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 21:18 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