![]() |
TStringList -> Stückweise Datei einlesen ?
Hallo,
gibt es bereits eine Fertige als Freeware version, folgende Klasse: Eine Klasse wie TStringList halt das diese klasse nicht eine Datei aufeinmal list sondern nur ein stück z.b. du hast 1000 Zeilen du kannst aber nur 50 zeilen anzeigen also sollten auch nur diese 50 Zeilen geladen werden. Ich hatte versucht es selbst zu schreiben der kern ist ja eifnach: du musst einfach nur 1000 div 50 machen dann hast du die seiten anzahl. Problem was mit TFilestream und bevor ich weiter schreibe wollte ich fragen ob es sowas schon fertig gibt und wenn nicht: hier ist die funktion die das problem verursacht:
Delphi-Quellcode:
die position wurde nicht gesetzt aus irgenein grund....
procedure TPlayliste.OpenPlayliste(FileName:TFileName);
var Q:TFileStream; i,len,c:Integer; str:String; begin Q:=TFileStream.Create(FileName,fmOpenRead or fmShareExclusive); Q.Read(len,SizeOf(len)); SetLength(str,len); Q.Read(str[1],len); c:=StrToInt(GetToken(str,',',1)); for i:=0 to c do begin Q.Read(len,SizeOf(len)); SetLength(str,len); Q.Read(str[1],len); Add(GetToken(str,',',FN),GetToken(str,',',AL),StringToColor(GetToken(str,',',FC)),StringToColor(GetToken(str,',',HC)),False,False,True,False); end; FreeAndNil(q); end; // OpenPlayliste Weil mein ziel ist es: eine Klasse zu entwicklen wie TStirngList nur der unterschied das meine Klasse eine Datei nicht auf einmal einliest sondern z.b. 50 zeilen von 1000 zeilen. Gut es gibt ein paar schwirkkeiten: z.b. suchen aber das sollte nicht das Hauptproblem werden. Wenn einer eine Idee hat warum die Position von Q nicht gesetzt wird währe ich sehr Dankbar. :-D |
Re: TStringList -> Stückweise Datei einlesen ?
wie ist der aufbau deiner Datei? so wie ich den Quelltext deute handelt es sich nicht einfach um eine Datei wo in jeder zeile was steht sondern du scheinst ganz vorn noch eine Längenangabe etc. zu haben?
|
Re: TStringList -> Stückweise Datei einlesen ?
genau: da stehen einfach zeilenweise daten drin z.b. so:
3(Zeilencount)* 10: ........ 15: ........ 16: ....... diese werte scrheibe ich mit TFileStream rein und lese sie auch wieder aus. wobei die zahlen sind ohne doppelpunkt. *wichtig damit ich die seitenanzahl ausrechnen kann |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 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