AGB  ·  Datenschutz  ·  Impressum  







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

Grenzen von INI

Ein Thema von Popov · begonnen am 24. Apr 2015 · letzter Beitrag vom 26. Apr 2015
Antwort Antwort
Seite 1 von 2  1 2      
Popov
(Gast)

n/a Beiträge
 
#1

Grenzen von INI

  Alt 24. Apr 2015, 00:23
Alles was ich gefunden habe ist schon etwas älter, deshalb wollte ich es noch mal kurz ansprechen. Evtl. gibt es inzwischen neue Erkenntnisse.

Ich überlege in einem Programm mehrere INIs zu einer zusammen zu fügen. Grund ist, dass es auf langsamen System u. U. bis zu einer halben Sekunde dauert bis alles eingelesen ist und das Programm somit starten kann. Das ist nicht lange, aber entweder ich lasse es so und man wundert sich über die lange Ladezeit, baue ein Splashscreen ein damit man sieht, dass da etwas geladen wird, oder ich packe mehrere INIs zu einer INI. Dann wird nur eine Datei geöffnten. Das geht schneller.

Die Frage ist wie es nun mit der Größe der INI aussieht. Liegt die Begrenzung immer noch bei 64 KB oder ist das das Schnee von gestern?

Wenn ja, auf Welchen Systemen gibt es welche Begrenzungen? Ich meine Win 9x, NT, XP, usw. (falls es einer weiß).

Ich hab gerade eine 2 MB große INI erstellt. System XP und Delphi 7. Also bei XP scheint es kein 64 KB grenze zu geben. Die frage ist, seit wenn gibt es die nicht.

Das andere ist die länge des Strings der gespeichert werden kann. Ich hab 2047 Byte gezählt. Ist das korrekt, gibt es eine Möglichkeit über die Grenze zu speichern?
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Grenzen von INI

  Alt 24. Apr 2015, 00:53
Die 64 K Grenze gibt es spätestens seit D7/XP nicht mehr. Bei TIniFile weiß ich's nicht genau aber bei TMemIniFile können die Strings beliebig lang sein. Schneller sind INI's mit kleinen Abschnitten. (Also besser viele Sections mit wenig Einträgen als wenig Sections mit vielen Einträgen).
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.387 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Grenzen von INI

  Alt 24. Apr 2015, 06:40
Hi,

Json ist das neue Ini!

Vorteile Json gegenüber Ini:
* Mehrzeilige Strings kein Problem
* verschachtelte Hierarchien kein Problem
* Arrays,... kein Problem
* Du hast deine Einstellungen gleich in einer Klasse gekapselt.

Du brauchst lediglich einen Parser dazu, bei neueren Delphis (ich glaube ab XE6) ist ja einer von Haus aus verfügbar.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.212 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Grenzen von INI

  Alt 24. Apr 2015, 08:50
Json ist das neue Ini!
Wohl eher XML. JSON ist eher das neue SOAP.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.387 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Grenzen von INI

  Alt 24. Apr 2015, 09:17
Json ist das neue Ini!
Wohl eher XML. JSON ist eher das neue SOAP.
http://thedailydeveloper.com/skillsprint14-json/
  Mit Zitat antworten Zitat
Jumpy

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

AW: Grenzen von INI

  Alt 24. Apr 2015, 09:19
Es gab da meine ich auch mal einen SkillSprint oder sowas dazu, ich meine das war der hier.

Edit: Wo war die rote Box? Naja zumindest ist es nicht der selbe Link
Ralph
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#7

AW: Grenzen von INI

  Alt 24. Apr 2015, 13:39
Json ist das neue Ini!
Nichts gegen Json, ich bin schon sehr früh drauf aufmerksam geworden und wenn es einfach wäre, ich würde es heute nutzen. Aber ich hab mir dreimal das Delphi dabei zerschossen irgendein Json bei mir zu installieren, nun habe ich es aufgegeben. Laut dem was man so liest ist Json etwas ultraeinfaches. Es kann mehr als Ini und ist nicht so überladen wie Xml. Und wenn man sich anguckt was es so können muss, dann dürfte es nicht kompliziert programmiert sein. Ich frage mich deshalb wieso es nicht einfach eine 1 Unit Erweiterung ist. Einfach einbinden und gut ist es. Alles was ich bisher gefunden habe verlangte entweder eine höhere Delphiversion oder ein Rattenschwanz an anderen Erweiterungen die man vorher installiert haben muss. Somit bleibe ich bei Ini, oder wenn es komplexer werden muss, dann... mal sehen.

Ist das dein Ernst? Für 0.5 Sekunden willst du einen Splash einblenden?
Ja, die Welt ist schon komisch. Vor 100 Jahren hat man sich für die Dinge noch Zeit genommen. Wenn ich aber heute ein Programm starte, dann erwarte ich, dass es sofort da ist. Wenn es nicht sofort da ist, starte ich es sofort noch mal. Eine halbe Sekunde klingt nicht nach viel, es ist aber die Zeit wo man sich fragt wo das Programm bleibt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Grenzen von INI

  Alt 24. Apr 2015, 11:44
Json ist das neue Ini!
Wohl eher XML. JSON ist eher das neue SOAP.
Alles, was mit INI geht, geht auch mit JSON (und noch mehr)
und alles was mit JSON geht, geht auch mit XML (und mehr).

Jenachdem, was man mindestens benötigt, nimmt man Einwas davon, was Dieses unterstützt.


PS: Registry ist das neue INI.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: Grenzen von INI

  Alt 24. Apr 2015, 16:21
Wohl eher XML. JSON ist eher das neue SOAP.
REST ist das neue SOAP (naja, nicht ganz so schlimm). JSON ist das für REST was XML für SOAP ist (obwohl REST nicht auf JSON als Datenaustauschformat beschränkt ist)

Ich finde TOML für Konfigurationsdateien interessant, aber leider ist das noch nicht stabil spezifiziert und noch nicht verbreitet genug.

Geändert von BUG (24. Apr 2015 um 16:27 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Grenzen von INI

  Alt 24. Apr 2015, 17:36
INI, über die INI-WinAPI, wurde in einen 64-KB-Puffer (eine komplette Speicherseite im virtuellen Arbeitsspeicher) eingelesen und da drin verarbeitet (und das bei jedem einzelnen Lese/Schreibzugrif jedes einzelnen Wertes komplett von Vorne)
Lösung: TMemIniFile (das benutzt nicht diese API und ist auch noch schneller)

INI hat aber einen Vorteil, da dort jede Zeile einzeln analysiert wird, ist es der API egal, ob die Datei kaputt ist (also in der Datenstruktur), denn solange die SectionZeile und die eine WertZeile bis zum = OK sind, kann dieser Wert auch ausgelesen werden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:24 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