![]() |
ini readsections nur 296 einträge von 1010
hi,
komisches problem hab ich da eigentlich simpel dachte ich, wollte ja nur ini sectionen in ner listbox auflisten. jedoch sind es immer NUR 296 einträge die gelesen werden, der rest wird einfach nicht eingelesen... könnt mir da jemand nen tipp geben?
Code:
procedure TForm1.Button1Click(Sender: TObject);
var ini:tinifile; begin try Ini := TIniFile.Create('D:\mark.ini'); Ini.ReadSections( form1.listbox1.Items ); finally Ini.Free; end; end; |
AW: ini readsections nur 296 einträge von 1010
Nimm einfach einmal TMemIniFile. Denn TIniFile setzt auf den seit 15 Jahren veralteten Windows 3.x API-Funktionen auf.
Davon abgesehen sieht das bei der Menge an Einträgen so aus als wären INI-Dateien nicht gerade das richtige... :gruebel: |
AW: ini readsections nur 296 einträge von 1010
Zitat:
also neuschreiben!aber zeit ist bei mir gerade nicht vorhanden, deswegen wollt ich eine vorübergehende lösung. also ein zweites prog. erstmal! soweit , danke danke funktioniert! :) |
AW: ini readsections nur 296 einträge von 1010
Zitat:
Wenn ich mich richtig erinnere, ich find's nur im Augenblick nicht, gab es da auch so etwas wie eine 64kGrenze. Gruß K-H |
AW: ini readsections nur 296 einträge von 1010
Zitat:
|
AW: ini readsections nur 296 einträge von 1010
In älteren Windowsversionen konnte eine INI-Datei maximal 64 KB groß sein, da intern mit einem festen Puffer gearbeitet wurde,
aber das ist aktuell (k.A. seit wann) nicht mehr so. Aber schon alleine bei der Anzahl der Einträge ist ein Problem, denn TIniFile geht, wie schon gesagt, auf eine uralte API und diese arbeitet so: Für jeden einzelnen Lese-/Schreibzugriff (Sektionnamen oder einen Value auslesen und schreiben/verändern) wird die Datei komplett neu ausgelesen und danach wieder freigegeben. Wenn man also 1000 Werte liest, dann wird die Datei 1000 Mal geladen, geparst, der Wert gesucht und alles wieder freigegeben ... jedesmal. Wie sieht denn deine Datei aus? Es gibt doch nicht etwa mehrere Sektionen, welche den selben Namen besitzen? (es gibt manchmal Dateiformate, die sehen wie eine INI aus, sind aber eigetlich vollkommen inkompatibel) |
AW: ini readsections nur 296 einträge von 1010
Aber TMemIniFile hat keine derartigen Probleme, insofern ist damit alles in Ordnung.
|
AW: ini readsections nur 296 einträge von 1010
@jaenicke
In diesem Fall sollte man noch erwähnen, dass man irgendwann, wenn man fertig ist, oder auch zwischendurch, ein Update der Datei starten muß. Das nur der Vollständigkeitshalber. Was die 64k Grenze angeht, das war mal, ich weiß aber nicht mehr bis wann. Da ich mit Delphi erst ab Windows 95 angefangen habe und mich erinnern kann dort mal eine böse Überraschung erlebt zu haben, kann die Grenze da noch gewesen sein. Aber ich hab da noch sowohl mit Delphi 1, wie auch mit Delphi 2 gearbeitet. |
AW: ini readsections nur 296 einträge von 1010
Das Delphi ist hier insofern egal, da es ja eine Begrenzung in der API ist und nicht in der Delphi-Klasse.
In Win9x war's IMHO noch drin, also wirde es wohl mir NT/2K geändert. In XP war's, woweit ich mich erinnere, schon nicht mehr begenzt. (ab Vista isses definitiv weg) |
AW: ini readsections nur 296 einträge von 1010
Zitat:
mit 8 werten nein keine gleichen namen ... das hab ich beim speichern damals schon verhindert! if sectionexists..... ich habe dieses programm erstellt (lange iss es her )ist aber ne ini.nur hab ich keinen quellcode mehr (platte hat damals den geist aufgegeben) danke an alle für die schnellen antworten und die 64k erklärung :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 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