![]() |
[TStringList] Problem mit einer Datei (bricht zu früh ab)
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe folgende Datei (aus dem Editor kopiert):
GBX BUCR 0 $½ 0 $) 0 $ 0 $ 0 $ę ’’’’’’’’’’’’’’’’ 7PUDKCVe4OE64UDv8LH9tfCgBa @ Stadium xZise hjjghhgklk ? @ Day @ @ Nadeo ā <header type="challenge" version="TMc.5" exever="0.1.7.5"><ident uid="7PUDKCVe4OE64UDv8LH9tfCgBa" name="hjjghhgklk" author="xZise"/><desc envir="Stadium" mood="Day" type="Race" nblaps="0" price="386" /><times bronze="-1" silver="-1" gold="-1" authortime="-1" authorscore="0"/><deps><dep file="Any\Advertisement\SignRight.bik"/><dep file="Any\Advertisement\SignUp.bik"/><dep file="Any\Advertisement\SignWarning.bik"/><dep file="Any\Advertisement\SignWrongWay.bik"/><dep file="Any\Advertisement\TMSmallExit.bik"/><dep file="Any\Advertisement\Dynamic Ad1.dds"/><dep file="Any\Advertisement\Dynamic Ad2.dds"/><dep file="Any\Advertisement\Dynamic Ad3.dds"/><dep file="Any\Advertisement\pfeil_links.bik"/><dep file="Any\Advertisement\SignLeft.bik"/><dep file="Any\Advertisement\SignDown.bik"/><dep file="Any\Advertisement\PressForward.bik"/><dep file="Any\Advertisement\GamesserverAnim.bik"/><dep file="Any\Advertisement\Gamesserver.dds"/><dep file="Any\Advertisement\FullSpeed.bik"/></deps></header> | 2 0 $ ’) 0 $ @ Ą$ l ŽŹśJ ĄOĄ $h* Ą $) é -] Ķ^ `ź¤l 0 $PIKS?y ĶP} )< J Ü® mĶ|qĄp}\^ @ 7PUDKCVe4OE64UDv8LH9tfCgBaD @ StadiumYd xZise ThjjghhgklkQ@cDayM$@xdNadeo Tģ I a+` @(t PlatformWallPub2 ]@h $ \1mP Any\Advertisement\SignRight.bii h 7S+@(@ *A7BUp45(4I +y!74Warning4I(H@,I"8HrongWay4M(Lh9 TMSmallExi5(HN*4äDynamic Ad1.ddsp?,i(I t I24I (HlU ą(34I(I.|,M(µ t Lpfeil_links41(I .I7Lef5%(= <Down4}(=.<4 PressForward4M(M.M%3ĢGamesserverAnim4Y(Y.X4)X4y(I.H4ĄFullSpee0č^@0p LoopStart,|lČ“RoadMainSlopeStrat” ' @0NTov C@DDI @|Š GrassClip Ą? !0,É"Łę$Ž %øĢ\( &0 $’’’’ŽŹś Aus dieser Datei wollte ich die Pfade herausfiltern: <dep file="Any\Advertisement\SignRight.bik"/><dep file="Any\Advertisement\SignUp.bik"/><dep file="Any\Advertisement\SignWarning.bik"/><dep file="Any\Advertisement\SignWrongWay.bik"/><dep file="Any\Advertisement\TMSmallExit.bik"/><dep file="Any\Advertisement\Dynamic Ad1.dds"/><dep file="Any\Advertisement\Dynamic Ad2.dds"/><dep file="Any\Advertisement\Dynamic Ad3.dds"/><dep file="Any\Advertisement\pfeil_links.bik"/><dep file="Any\Advertisement\SignLeft.bik"/><dep file="Any\Advertisement\SignDown.bik"/><dep file="Any\Advertisement\PressForward.bik"/><dep file="Any\Advertisement\GamesserverAnim.bik"/><dep file="Any\Advertisement\Gamesserver.dds"/><dep file="Any\Advertisement\FullSpeed.bik"/> Dazu habe ich mir folgenden Code geschrieben:
Delphi-Quellcode:
Ergebnis ist:
procedure TForm1.Button1Click(Sender: TObject);
var slTrack : TStringList; begin if odTrack.Execute then begin slTrack := TStringList.Create; slTrack.LoadFromFile(odTrack.FileName); {...} end; end; Zitat:
|
Re: [TStringList] Problem mit einer Datei (bricht zu früh ab
Es scheint so als ob .loadFromFile ein EOF erkennt.
|
Re: [TStringList] Problem mit einer Datei (bricht zu früh ab
Könntest du sagen was ein EOF ist?
(Ich tippe mal auf "End of File"...) |
Re: [TStringList] Problem mit einer Datei (bricht zu früh ab
Zitat:
|
Re: [TStringList] Problem mit einer Datei (bricht zu früh ab
Und wie kann ich es denn öfnfnen, wie der Editor? Der hat es ja immerhin geschafft :D
|
Re: [TStringList] Problem mit einer Datei (bricht zu früh ab
Versuch mal die datei als Binärdatei zu behandeln und lade sie per Stream oder in einen Buffer.
|
Re: [TStringList] Problem mit einer Datei (bricht zu früh ab
Genau ... eine Binärdatei sollte man nicht als Strings laden. Ein File oder MemoryStream dürfte das Richtige sein.
Florian |
Re: [TStringList] Problem mit einer Datei (bricht zu früh ab
Okay... Ich habe es so gemacht, bekomme aber eine nette AV. (Habe bisher noch nicht mit Streams gearbeitet)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var fsStream : TFileStream; Text : string; begin if odTrack.Execute then begin fsStream := TFileStream.Create(odTrack.FileName, fmOpenRead or fmShareDenyWrite); try fsStream.Seek(1, soFromBeginning); fsStream.Read(Text, fsStream.Size - 1); Showmessage(Text[1]); finally fsStream.Free; end; end; end; |
Re: [TStringList] Problem mit einer Datei (bricht zu früh ab
Das ist ja auch wieder nicht Sinn der Sache, wenn du den Buffer doch wieder in einen String lädst :wink:
Diese Funktion sollte dir helfen: ![]() Florian |
Re: [TStringList] Problem mit einer Datei (bricht zu früh ab
Ich verstehe aber irgendwie nicht den unterschied zwischen einen "array [0..10000] of Char" und einem "string"...
Weil, wie man der Datei entnehmen kann, gibt es das Suchwort öfters... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 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