![]() |
Was ist das für ein DateiTyp? Zeichen1+chr(0)+Zeichen2+...
Hallo!
Ich bin grade am decodieren einiger Dateitypen :P. Da bin ich auf nen String gestossen, der ungerfähr so aussieht :
Delphi-Quellcode:
Das das nun ABCB heißt, kann man sich denken, wenn ich jedoch nen TMemoryStream machen möchte und dafür nen Datentypen definieren möchte dann geht ja ein normaler String nicht.
Zeichen Wert
1 65 2 0 3 66 4 0 5 67 6 0 7 66 8 0 Weiss jemand zufällig was das für ein string ist? Mfg, Draco |
Re: Was ist das für ein DateiTyp? Zeichen1+chr(0)+Zeichen2+.
WideString, oder was anderes mit Wide... wäre da wohl das Richtige.
|
Re: Was ist das für ein DateiTyp? Zeichen1+chr(0)+Zeichen2+.
naja,
wenn ich aber nun einen Datentyp definiere, und diesen mit
Delphi-Quellcode:
definiere, weiss ich doch noch nicht wie große der widestring ist, den ich lesen werde.
record
string:widestring; ... end; Gibt es dafür vielleicht ne allgemein-Lösung? Mfg, Draco |
Re: Was ist das für ein DateiTyp? Zeichen1+chr(0)+Zeichen2+.
Zitat:
Delphi-Quellcode:
Gruß,
var
String1: WideString; i: integer; begin for i:=0 to Length(String1) do begin ShowMessage('Hallo'); end; |
Re: Was ist das für ein DateiTyp? Zeichen1+chr(0)+Zeichen2+.
Delphi-Quellcode:
type tghdaten=packed record // mein Problem : // Ein String, der beliebig lang ist, und so aussieht : Zeichen+chr(0)+Zeichen2+chr(0)+... SectionName:string; // Weiss hier vor dem lesen nicht wie lang der ist. BlockCount:integer; end; var ghdaten:tghdaten; var tms:tmemorystream; begin tms:=tmemorystream.create; tms.LoadFromFile('meinegh.dat'); tms.Read(ghdaten,sizeof(ghdaten)); end; |
Re: Was ist das für ein DateiTyp? Zeichen1+chr(0)+Zeichen2+.
Der UniCode-String wird wahrscheinlich mit zwei #0 Zeichen abgeschlossen. Dadaurch weist du nie wie lang der String ist.
Also musst du die Zeichenkette separat Zeichen für zeichen einlesen. |
Re: Was ist das für ein DateiTyp? Zeichen1+chr(0)+Zeichen2+.
hatte ich mir schon gedacht.
Mfg, DracoBlue [Frage damit erledigt] |
Re: Was ist das für ein DateiTyp? Zeichen1+chr(0)+Zeichen2+.
Ist es vielleicht so dass für Section eine gewisse Anzahl an Bytes reserviert ist?
|
Re: Was ist das für ein DateiTyp? Zeichen1+chr(0)+Zeichen2+.
Am Anfang der Datei, wird bereits gesagt wo die einzelnen Einträge stehen jedoch nicht wie lang sie sind.
Das Rauslesen ist mit dem abschließenden chr(0) kein Problem. Wenn ich die Datei jedoch selbst erzeugen möchte bzw. Elemente hinzufügen will komme ich zu Problemen. Mfg, DracoBlue |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 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