AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tstringlist hat ein Maximum von 3277 Zeilen?

Ein Thema von muhael · begonnen am 26. Aug 2015 · letzter Beitrag vom 26. Aug 2015
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
muhael

Registriert seit: 5. Mär 2013
42 Beiträge
 
#1

Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 13:55
Delphi-Version: 7
Heyho habe mal eine Frage zu Stringlist.
Und zwar ist mir Aufgefallen dass man, wenn man eine datei mit einer Stringliste läd "unendlich" viele Zeilen in der Liste haben kann aber wenn man die Stringliste vom Quellcode her füllt (über eine For schleife) dann ist die liste maximal 3277 Zeilen lang.

ist das ein bekanntes Problem? bei Google hab ich nichts gefunden und her in der suche auch nicht.
Oder mach ich einfach nur was falsch?


PS: Meine Delphi Version ist Delphi 7 Enterprise


LG

muhael
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 13:59
Zeig doch mal deine for-Schleife und sag uns den Fehler den du bekommst.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
muhael

Registriert seit: 5. Mär 2013
42 Beiträge
 
#3

AW: Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 14:06
es ist kein fehler er hört einfach nach 3277 auf:

habe ein procedure da lade ich eine datei in die Stringlist und gebe den count in einer showmessage aus:
Delphi-Quellcode:
sl.LoadFromFile(pfad);
showmessage(inttostr(sl.Count)+ ' Clienten werden importiert.');
hier zeigt er die gesamte anzahl an z.B. 4500...

aber im programmstart wenn die Clienten in das Stringrid(sgclients) geladen werden sollen stoppt er bei 3277...
Delphi-Quellcode:
  ini.ReadSections(SL);
  SL.Sort;
  SGClients.RowCount := SL.Count +1;
  Statusb.Panels[0].Text := InttoStr(SGclients.RowCount-1) + ' Clients registriert.';
  FOR i := 0 to SL.Count -1 do
  begin
    // Mach was
  end;
hier speichert er nur 3277... von den eigendlichen 4500


ich würde es gerne nur wissen das programm wird nie solch eine anzahl von Clienten erhalten bzw verarbeiten müssen

Geändert von muhael (26. Aug 2015 um 14:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 14:20
Das liegt daran, dass Du Äpfel (Anzahl Zeilen=4500) mit Birnen (Anzahl Sektionen=3277) vergleichst.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
muhael

Registriert seit: 5. Mär 2013
42 Beiträge
 
#5

AW: Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 14:24
ja aber die Sectionen in der iniDatei zählen auch die 4500... also theoretisch verliere ich die daten bei der zeile:
ini.readsections(sl); oder nicht?

da zuerst der import erfolgt eine Zeile bei der import Stringlist ist eine Section in der ini Datei das heißt beim import werden dann 4500 Sections erstellt.
diese sind auch vorhanden. aber beim einlesen dann nicht mehr oder was?
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 14:34
Gibt es vllt. doppelte in der Stringlist?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 14:36
Hast da alle Sektionen per Hand durchgezählt?

Nein -> mach es!

Eine andere Möglichkeit ist eine leere Ini-Datei und dort alle Einträge importieren.
Vor jedem Schreiben prüfst du aber nun, ob die Sektion schon existiert -> Dublette entdeckt!
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 14:37
Hab mal nen kleinen Test gemacht. Showmessage bringt mir die erwarteten 4500.

Delphi-Quellcode:
procedure TForm26.Button1Click(Sender: TObject);
var
  i : Integer;
  s : TStringList;

begin
  s := TStringList.Create;
  for i := 1 to 4500 do
  begin
    s.Add('[Sect'+IntToStr(i)+']');
  end;
  s.SaveToFile('c:\temp\test.ini');
  s.Free;
end;

procedure TForm26.Button2Click(Sender: TObject);
var
  ini : TIniFile;
  s : TStringList;

begin
  ini := TIniFile.Create('c:\temp\test.ini');
  s := TStringList.Create;
  ini.ReadSections(s);
  ini.Free;
  showmessage(IntToStr(s.Count));
  s.Free;
end;
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 14:39
@baumina

Er würde dir auch 9999 melden, wenn du 9999 unterschiedliche Sektionen erstellst
(Dir war das klar)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
muhael

Registriert seit: 5. Mär 2013
42 Beiträge
 
#10

AW: Tstringlist hat ein Maximum von 3277 Zeilen?

  Alt 26. Aug 2015, 14:41
Gibt es vllt. doppelte in der Stringlist?
nein Forlaufender Section Zähler von 1000 beginnend (Personalnummern kennt man ja ^^)

Hast da alle Sektionen per Hand durchgezählt?

Nein -> mach es!
Kann es sein das die ini datei bei 3277 sections gecappt ist?


Das einzige was doppelt sein kann sind 2 Keys da stets max als name und Mustermann als nachname eingetragen ist

Geändert von muhael (26. Aug 2015 um 14:49 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 07:23 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