![]() |
Stream wie Editor einlesen
Hallo,
vorab: ich habe keine Ahnung, wie ich ansetzen muss, dass ich das realisieren kann, was ich möchte - hoffe auf eure Hilfe! Ich würde gerne, dass mir Delphi den Text in ein Memo schreibt, den ich sehe, wenn ich eine x-beliebige Datei (zB jpeg oder mp3) mit dem Editor öffnen würde. Ich habe angefangen, die Datei in einen TFileStream oder TMemoryStream einzulesen. Aber weiter bin ich nicht gekommen, weil mir das Lesen mit Buffer etc... Schwierigkeiten bereitet. Entweder AVs oder Compilerfehler. Könnt ihr mir ein bissl damit helfen? Danke im Voraus |
Re: Stream wie Editor einlesen
Warum willst du das machen?
|
Re: Stream wie Editor einlesen
Hi,
Wie versuchst du es denn? Also was du auf jeden fall beachten musst, ist dass du alle #0en rausfiltern musst. Der Rest dürfte von alleine gehen. Gruß Neutral General |
Re: Stream wie Editor einlesen
Vlt. hilft dir TStringStream weiter?! :wink:
|
Re: Stream wie Editor einlesen
Hallo,
habe bisher nur die Beiträge gelesen, da ich eben erst nach Hause gekommen bin. Wenn man ein Bild oder eine PDF im Editor öffnet, sieht man Hyroglyphen. DIese möchte ich auch in einem Memo anzeigen. Mehr eigentlich nicht. Danke |
Re: Stream wie Editor einlesen
Memo.Lines.LoadFromFile...
|
Re: Stream wie Editor einlesen
Hm...
Das habe ich mal probiert, aber da werden nur die ersten für Zeichen (Bytes ?) gelesen? Nämlich nur Zitat:
|
Re: Stream wie Editor einlesen
Liste der Anhänge anzeigen (Anzahl: 1)
Das liegt daran, dass in der Datei das Zeichen #0 vorkommt, welches in Delphi als Ende eines Strings angesehen wird. Dieses Zeichen musst du erst einmal im ganzen Stream löschen. Ich habe das auch schonmal gemacht, im Anhang mal mein Source dazu.
Edit: Achtung, bei Dateien > 1MB kann das Laden schonmal was länger dauern :cyclops: |
Re: Stream wie Editor einlesen
Boah... wie recht du hast...
Das muss ich mir mal genauer ansehen. Nur leider bin ich gleich zu einer Hochzeit... Ich denke, ich werde mich morgen wieder melden. Vielen Dank...! |
Re: Stream wie Editor einlesen
wenn du solche sachen machen willst, musst du die datei byteweise einlesen und interpretieren. entweder als hex oder die nicht darstellbaren zeichen gegen ein anderes ersetzen.
PS: wegen des unicode zuges solltest besser 'n file of char verwenden, statt of byte... |
Re: Stream wie Editor einlesen
Zitat:
Bitte erklärt ihr mir ein bisschen Theorie. Ich mache das einfach, um zu lernen. Mich hat es interessiert, was passiert, wenn ich eine Datei (zb MP3) im Texteditor öffne und was ich dann sehe! Danke |
Re: Stream wie Editor einlesen
Zitat:
|
Re: Stream wie Editor einlesen
Jetzt habe ich doch nochmal eine Frage...
Im Windows Editor sieht man doch auch Leerzeichen statt eines bescheuerten "Trennzeichens" wie ich es gemacht habe. Ich habe ja alle #0 durch &% ersetzt. Wieso kann der Editor die Datei richtig anzeigen, ohne etwas ersetzen zu müssen? Danke |
Re: Stream wie Editor einlesen
du kannst doch auch durch leerzeichen ersetzen...mehr macht der windows-editor vermutlich auch nicht, aber in dem Moment, wo du eine solche ersetzung machst und nicht reproduzieren kannst, welches zeichen ursprünglich da war, kannst du sie nicht mehr "editieren". es gibt nicht ohne grund Hexeditoren...auch diese haben eine Textansicht, ebenfalls mit ersetzten steuerzeichen.
vielleicht mal kurz als Erklärung...steuerzeichen sind zeichen, die nicht im normalen Texteditor darstellbar sind, im ansi-code sind diese <$20. bestimmte steuerzeichen (#8,#13,#10) werden entsprechend interpretiert. z.b. ein zeilenumbruch besteht unter windows aus #13#10. in einer Binärdatei hat diese zeichenfolge nicht diese Funktion.somit ist eine normale textanzeige zum bearbeiten von Binärdateien ungeeignet (nur unterstützend zur besseren Lesbarkeit). was willst du denn sehen? ohne wissen, wie die Datei aufgebaut ist, wirst du mit der textanzeige weniger anfangen können, als mit der Hex-Darstellung. HTH Frank |
Re: Stream wie Editor einlesen
das ist leider nur der halbe teil. DJ-SPM möcht nämlich die daten ändern und auch wieder zurückspeichern ... :-)
ps: da fällt mein, da liegt doch der HxD in der freeware section... 'n prima Hexeditor :-) kannst mal probieren... :-) |
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