AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TStringList -> Stückweise Datei einlesen ?
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList -> Stückweise Datei einlesen ?

Ein Thema von mimi · begonnen am 14. Aug 2005 · letzter Beitrag vom 20. Aug 2005
Antwort Antwort
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#1

TStringList -> Stückweise Datei einlesen ?

  Alt 14. Aug 2005, 15:59
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:
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
die position wurde nicht gesetzt aus irgenein grund....

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.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TStringList -> Stückweise Datei einlesen ?

  Alt 14. Aug 2005, 16:07
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?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: TStringList -> Stückweise Datei einlesen ?

  Alt 20. Aug 2005, 20:01
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
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:34 Uhr.
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