Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi EXE in Memo (https://www.delphipraxis.net/37096-exe-memo.html)

mschaefer 31. Dez 2004 08:20

Re: EXE in Memo
 
Moin, moin,

Der entscheidente und zielgerichtete Hinweis kam von Luckie!

Ein Memo ist prinzipbedingt durch die Zeilentrennung via #10#13 und die Dateiendmarkeirung #0 sowie etliche nicht darstellbare Zeichen simpel trivial völlig ungeeignet. Jeglicher Versuch wird mit vergeudeter Arbeitszeit bestraft...

Gruß // Martin

bigg 31. Dez 2004 08:29

Re: EXE in Memo
 
Ein normaler Zeilenumbruch in Windows sieht so aus: #13#10.

mschaefer 31. Dez 2004 08:35

Re: EXE in Memo
 
Korrekt: #13#10 ! MfG /Martin

Phoenix 31. Dez 2004 08:41

Re: EXE in Memo
 
Zitat:

Zitat von bigg
Ein normaler Zeilenumbruch in Windows sieht so aus: #13#10.

:roll:

1.) Kann so ein Zahlendreher immer mal wieder vorkommen und
2.) Hilft das bei der Fragestellung auch nicht gerade weiter. Sorry.

Das Problem liegt tatsächlich im Memo: Es ist einfach nicht dazu geeignet, solche Daten darzustellen.

Zitat:

Zitat von Christian Seehase
sobald eine binäre Null in der Datei auftaucht ist Schluss.

Zitat:

Zitat von Muetze1
Nenn mich altklug, aber eine hexadezimale oder sogar eine oktale Null würden das selbe bewirken, oder? Mal ganz abgesehen von der dezimalen...

Nee, nicht Altklug, das ganze war einfach nur Schwachfug von Euch beiden. ;-)

Ne binäre Null taucht allein bei der Darstellung des ASCII-Zeichens '0' (Dez: 48, Hex: 30, Oct: 060) in der Binärdarstellung ('110000') schon gleich 4 mal auf, ohne das das Memo hier auch nur daran denkt auszusetzen. Demnach ist aus Mützes Beitrag falsch, denn eine Hexadezimale, Oktale oder Dezimale null bewirken eben nicht das gleiche wie eine (einzelne) binäre.

Damit das Memo denkt, die Datei sei zu ende muss schon ein komplettes null-Byte da sein, also 8 binäre nullen unmittelbar hintereinander - oder eben eine Null in den von Muetze genannten Darstellungsformen ;-)

Ja, und jetzt dürft ihr mich allesamt Klugscheisser nennen, und es macht mir nix aus :lol:

Christian Seehase 31. Dez 2004 13:13

Re: EXE in Memo
 
Moin Phoenix,

Zitat:

Zitat von Phoenix
Zitat:

Zitat von bigg
Ein normaler Zeilenumbruch in Windows sieht so aus: #13#10.

:roll:

1.) Kann so ein Zahlendreher immer mal wieder vorkommen und

Das stimmt zwar, kann aber fatale Folgen haben.
Beispielsweise kommt der Textimportassistent von Access 2003 ins Trudeln, wenn der Zeilenumbruch nicht #13#10 lautet.
Für Access 97 und 2000 (oder war es XP :gruebel: ) sagt MS dazu in einem Knowledgebaseartikel:
"This behaviour is by design."

...

:gruebel:

Zumindest Access 97 hat allerdings mit einem reinen #10 keine Probleme :mrgreen:

Zitat:

Zitat von Phoenix
Ne binäre Null taucht allein bei der Darstellung des ASCII-Zeichens '0' (Dez: 48, Hex: 30, Oct: 060) in der Binärdarstellung ('110000') schon gleich 4 mal auf, ohne das das Memo hier auch nur daran denkt auszusetzen.

"binäre Null" ist ein feststehender Begriff für ein Byte, dass sich aus acht Nullbits zusammensetzt, da ein Byte die kleinste Einheit ist, die direkt gelesen/geschrieben werden kann. ;-)

Äfan 31. Dez 2004 13:15

Re: EXE in Memo
 
Zitat:

Hilft das bei der Fragestellung auch nicht gerade weiter. Sorry.
Das Stimmt allerdings.

@Phoenix: Klugscheißer ! Nein Spaß ! :-D Die Erklärung war nicht ganz ohne :gruebel: :) thx

Zitat:

Der entscheidente und zielgerichtete Hinweis kam von Luckie
Ja klar, nennt mich begriffsstutzig oder dumm, aber das muss doch auch einfacher gehen und ich will keinen HexEdit machen. Ich will die Datei genauso darstellen, als wenn man ne EXE im Editor öffnet.

Jetzt kommt mir da noch die frage: Könnte man das nicht mit ner ActiveX komponente darstellen ? Also einfach die vom Editor verwenden ? :gruebel: oder ?

MFG

Luckie 31. Dez 2004 13:17

Re: EXE in Memo
 
Äh, so langsam schwant mir wo von du redest. Willst du die compilierte Exe Datei wieder so in einem Memo öffnen, wie du sie in der Delphi IDE gesehen hast, also den Quellcode?

Christian Seehase 31. Dez 2004 13:20

Re: EXE in Memo
 
Moin Äfan,

Zitat:

Zitat von Äfan
Ich will die Datei genauso darstellen, als wenn man ne EXE im Editor öffnet.

Dann lies die Datei in einen TFileStream ein, geht Zeichenweise durch, und wandele dort jedes Nullbyte in ein Blank um.
Anschliessen kannst Du dann das Memo aus dem Buffer füllen.

Äfan 31. Dez 2004 13:27

Re: EXE in Memo
 
Zitat:

Äh, so langsam schwant mir wo von du redest. Willst du die compilierte Exe Datei wieder so in einem Memo öffnen, wie du sie in der Delphi IDE gesehen hast, also den Quellcode?
:-D Ja ! Naja, zu teil ! Also den Quellcode aus einer Delphi EXE zu bekommen ist meines Wissens nicht möglich und dies habe ich auch nicht vor.

Zitat:

Dann lies die Datei in einen TFileStream ein, geht Zeichenweise durch, und wandele dort jedes Nullbyte in ein Blank um.
Anschliessen kannst Du dann das Memo aus dem Buffer füllen.
Ähhh ja..... Beispiel ? :-D :wiejetzt:

MFG

Luckie 31. Dez 2004 13:28

Re: EXE in Memo
 
Mal einen Gegenfrage: Was willst du mit der Exe in deinem memo anfangen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr.
Seite 2 von 3     12 3      

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