Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   INI-Datei: Zeilenbegrenzung? (https://www.delphipraxis.net/90435-ini-datei-zeilenbegrenzung.html)

Dawn87 17. Apr 2007 14:15


INI-Datei: Zeilenbegrenzung?
 
Hallo,

ich schreibe zur Zeit ein Programm das einige Einstellungen in einer INI Datei speichert (ist zwar nicht mehr Zeitgemäß, wird aber so gefordert).

Der Benutzer soll im Programm die Möglichkeit haben, einen Kommentar einzugeben:

Nun stellt sich mir die Frage, ob

a) in Textdateien generell ein Limit an Zeichen pro Zeile existiert
b) in Ini-Dateien ein Limit an Zeichen pro Zeile existiert

Wobei ich nicht vermute, dass für die Ini Dateien eine spezielle Regelung existiert?

Vielen Dank!

Grüße
Stefan

Bernhard Geyer 17. Apr 2007 14:18

Re: INI-Datei: Zeilenbegrenzung?
 
AFAIK gibts (noch) bei INI-Dateien eine 64-KByte-Begrenzung für die gesamte Datei.
Diese kannst du bei Delphi z.B. mit BigIni umgehen.

Luckie 17. Apr 2007 14:23

Re: INI-Datei: Zeilenbegrenzung?
 
Unter 32-Bit Consumer Windows (Win95ff) besteht ein Limit von 64KB. Unter Windows NT ff, besteht meines Wissens kein Limit. Aber allein schon die Frage impliziert einen Designfehler: If you have to ask, you're probably doing something wrong
Zitat:

You're not supposed to come anywhere near the limits. [..] If you have to ask about various operating system limits, you're probably doing something wrong.
So viel Einstellungen und so lange Kommentare kann eigentlich kein Programm haben, als dass du an die Grenzen von Ini-Dateien stossen könntest.

Tyrael Y. 17. Apr 2007 14:30

Re: INI-Datei: Zeilenbegrenzung?
 
Moin...

...wenn man TIniFile benutzt und eine ReadString durchführt ist dieser string auf 2kB begrenzt, da ein Buffer von 2048 Zecihen zum Lesen angelegt wird

...bei Einträgen die lange Strings enthalten können sollte man beim Lesen TMemIniFile benutzen, dieser benutzt TStrings und ist nur auf die Größe deines Arbeitsspeichers bzw dem 64kB Limit beschränkt


Gruß T.

Bernhard Geyer 17. Apr 2007 14:31

Re: INI-Datei: Zeilenbegrenzung?
 
Zitat:

Zitat von Luckie
Unter 32-Bit Consumer Windows (Win95ff) besteht ein Limit von 64KB. Unter Windows NT ff, besteht meines Wissens kein Limit.

AFAIK aber bei NT schon. Jedenfalls wenn man von 16-Bit-Anwendungen kommt.

Zitat:

Zitat von Luckie
So viel Einstellungen und so lange Kommentare kann eigentlich kein Programm haben, als dass du an die Grenzen von Ini-Dateien stossen könntest.

Außer man mißbraucht es. Hatte mal eine Logdatei auf Basis von Ini schreiben wollen da das unter MFC/ATL m.E. die einfachste Lösung für eine Debug-Log war (Achtung MFC 1.5, 16-Bit).

Dawn87 17. Apr 2007 14:35

Re: INI-Datei: Zeilenbegrenzung?
 
Hallo,

vielen Dank für eure Antworten.

Der Link ist übrigens sehr interessant.

Ich habe gefragt, weil ich angenommen habe das ein Eintrag (d.h eine Zeile) in der Ini-Datei auf z.B. 255 Zeichen begrenzt sein könnte. Da ich nun ein Kommentarfeld einfüge und der Kommentar in der Ini-Datei abgelegt werden soll hieße das zwangsweise, dass ich entweder einen Zeilenumbruch hinzufügen müsste oder die Länge des Kommentares begrenzen müsste.

@Tyrael:
Top Antwort, danke! :)

Merkwürdiger Zufall:
Alle außer Luckie sind 33 Jahre die mir geantwortet haben :mrgreen: (Luckie halt dich ran!)

Grüße
Stefan

yankee 17. Apr 2007 14:47

Re: INI-Datei: Zeilenbegrenzung?
 
Du kannst auch meinen Parser benutzen:
http://www.delphipraxis.net/internal...t.php?p=699290

Der hat solche Begrentzungen nicht :-).

bigg 17. Apr 2007 15:04

Re: INI-Datei: Zeilenbegrenzung?
 
Ist im Vergleich zu anderen Ini-Klassen sehr langsam, soweit ich mich errinnere.^^

yankee 17. Apr 2007 15:47

Re: INI-Datei: Zeilenbegrenzung?
 
Zitat:

Zitat von bigg
Ist im Vergleich zu anderen Ini-Klassen sehr langsam, soweit ich mich errinnere.^^

Also wenn ich eine ini-Datei mit einer Section mit 10.000 Werten drin habe (185KB), die Datei komplett parse, die Werte ändere und komplett wieder schreibe, brauche ich dafür <2 Sekunden.
Mit Delphi's TIniFile brauche ich für das gleiche fast 12 Sekunden.

Das war der erste Test, den ich mal eben kurz gemacht habe und da liege ich zumindest schonmal weeeeiiiiitttt vorne!
*Von wegen langsam*.

bigg 17. Apr 2007 15:57

Re: INI-Datei: Zeilenbegrenzung?
 
Hab ich mit einer anderen Klasse verwechselt, sorry. Hatte damals nur TIniFile und TMemFile gegeneinander antretten lassen, aber gut das du's auch grade testest. Mir ist trotzdem etwas negatives aufgefallen: Der Umgang mit deiner Klasse ist recht kompliziert. Wie liest bzw. schreibt man Werte/Gruppen in deine Ini-Klasse? So wie in deiner Demo? :shock:

Man vermisst hier regelrecht die gewohnten Read/Write- Methoden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 Uhr.
Seite 1 von 2  1 2      

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