AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi [INI] Wie lange darf ein Key sein?
Thema durchsuchen
Ansicht
Themen-Optionen

[INI] Wie lange darf ein Key sein?

Ein Thema von Muellermilchtrinker · begonnen am 14. Feb 2011 · letzter Beitrag vom 15. Feb 2011
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#1

[INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 17:29
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:
[ID]
101=Wie lang darf das hier sein?
Vielleicht weiß ja jemand die Antwort. Danke euch.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#2

AW: [INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 17:31
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
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#3

AW: [INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 17:33
zum lesen die normale mitgelieferte Inifiles
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#4

AW: [INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 17:44
Du könntest mal das ausprobieren:
Delphi-Quellcode:
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;
Ich kanns mangels Delphi nicht testen
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

AW: [INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 17:49
Du könntest mal das ausprobieren:
...
So dauert das doch ewig... da würd ich eher ne binäre Suche vorschlagen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#6

AW: [INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 17:58
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.


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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Feb 2011 um 18:01 Uhr)
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#7

AW: [INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 17:59
Ich schätze es wird bei 255 eh aufhören oder?
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#8

AW: [INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 18:00
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.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#9

AW: [INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 18:05
Eigentlich lag doch die Grenze bei Inis bei 64 kb??
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.163 Beiträge
 
Delphi 12 Athens
 
#10

AW: [INI] Wie lange darf ein Key sein?

  Alt 14. Feb 2011, 18:09
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)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 00:37 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