![]() |
[INI] Wie lange darf ein Key sein?
Hallo DP,
habe hier mal gelesen, dass ein Key in einer INI-Datei nur eine bestimmte Länge haben darf. Habe dazu leider nichts mehr gefunden, deswegen wollte ich euch fragen.
Code:
Vielleicht weiß ja jemand die Antwort. Danke euch.
[ID]
101=Wie lang darf das hier sein? |
AW: [INI] Wie lange darf ein Key sein?
Moin,
also erstmal wäre das der Wert und nicht der Schlüssel (Key), aber die Antwort auf deine Frage hängt komplett davon ab was benutzt wird um die INI zu lesen. Also sei doch mal etwas spezifischer ;) |
AW: [INI] Wie lange darf ein Key sein?
zum lesen die normale mitgelieferte Inifiles
|
AW: [INI] Wie lange darf ein Key sein?
Du könntest mal das ausprobieren:
Delphi-Quellcode:
Ich kanns mangels Delphi nicht testen
var
i:Integer; s:String; ini:TIniFile; iTemp:Integer;//damit uns i nicht bei einer exception flöten geht begin ini:=TIniFile.Create('C:\Temp\test.ini'); try for i:=0 to maxint do begin iTemp:=i; s:=StringOfChar('a', i); ini.writeString('new-section', 'newKey', s); end; except ShowMessage(Inttostr(iTemp)); end; end; |
AW: [INI] Wie lange darf ein Key sein?
Zitat:
|
AW: [INI] Wie lange darf ein Key sein?
In älteren Windows-Versionen gab es mal eine 64 KB-Grenze, für die ganze Datei.
Ansonsten sollten in dem Wert (Value) besser keine Sonderzeichen < 32 (Leerzeichen) enthalten sein, vorallem keine Zeilenumbrüche (#10, #13) oder die #0. PS: Bei TIniFile wird für jeden einzelnen Schreib/Lesezugriff, ala ini.ReadString oder ini.WriteString, die komplette Datei ausgelesen und dann eventuell der eine Wert verändert und alles neu abgespeichert. Das ist auch der Grund, warum das Teil so langsam ist und weswegen es eigentlich nicht für große Datenmengen geeignet ist. :stupid: und jupp
Delphi-Quellcode:
for i := 0 to 31 do
begin iTemp := i; s := StringOfChar('a', $1 shl i); ini.writeString('new-section', 'newKey', s); end; |
AW: [INI] Wie lange darf ein Key sein?
Ich schätze es wird bei 255 eh aufhören oder?
|
AW: [INI] Wie lange darf ein Key sein?
Also ich habs mal ne kurze Zeit laufen gehabt. Bin auf 22,7 MB gekommen. Das ist auf jedenfall genug. Würd mich aber trotzdem interessieren was die absolute Grenze ist. :stupid:
|
AW: [INI] Wie lange darf ein Key sein?
Eigentlich lag doch die Grenze bei Inis bei 64 kb??:?:
|
AW: [INI] Wie lange darf ein Key sein?
Das wurde von Microsoft zwischen Win98 und XP/Vista geändert.
Die absolute Grenze wird aktuell irgendwo zwischen 0 und 1 GB liegen. (Grenze von 2 GB virtuellem Speicher ... und eventuell noch einer Arbeitskopie der INI, also nur die Hälfte) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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 by Thomas Breitkreuz