AGB  ·  Datenschutz  ·  Impressum  







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

Ini Readsection begrenzt?

Ein Thema von gogl1985 · begonnen am 6. Aug 2009 · letzter Beitrag vom 9. Apr 2011
Antwort Antwort
Seite 2 von 3     12 3      
WInfo

Registriert seit: 3. Jan 2009
36 Beiträge
 
#11

Re: Ini Readsection begrenzt?

  Alt 6. Aug 2009, 15:09
Zitat von TeronG:
bissel OT:
Zitat von HeikoAdams:
...Daher wohl das Limit von 64 KB.
Naja. Ich glaube mal nicht, dass das Limit deswegen absichtlich eingebaut wurde.
Aber evtl. wurde es deswegen noch nie beseitigt/berichtigt.
Hatte ja damals auch dicke ausgereicht, bis alle Programme damit anfingen allen möglichen Schrott in die .INI zu schreiben. Dann wurde es halt recht eng und M$ hat dann das Update (Registry) auf dem Markt gebracht, welches noch einiges mehr an Daten ermöglicht. Was leider auch nicht so glücklich war...
  Mit Zitat antworten Zitat
gogl1985

Registriert seit: 21. Feb 2006
13 Beiträge
 
Delphi 2010 Professional
 
#12

Re: Ini Readsection begrenzt?

  Alt 6. Aug 2009, 15:19
Vielen Dank, also mit TMemIniFile funktioniert es!

Ist nur die Frage wieviel Speicher TMemIniFile unterstützt.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#13

Re: Ini Readsection begrenzt?

  Alt 6. Aug 2009, 15:22
Zitat von gogl1985:
Ist nur die Frage wieviel Speicher TMemIniFile unterstützt.
Die Ini-Datei kann bis 2GB groß werden - theoretisch...
Uwe Raabe
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Ini Readsection begrenzt?

  Alt 7. Aug 2009, 01:20
Zitat von himitsu:
Zitat von HeikoAdams:
Daher wohl das Limit von 64 KB.
das Limit stammt wohl eher daher, daß nur ein Speicher von 64 KB reserviert wird (eine Speicherseite von Windows).
da wird die INI dann reingeladen, die Änderung vorgenommen und alles neu gespeichert.
Ich hatte bisher immer 8 KB im Kopf.

Zitat von WInfo:
Hatte ja damals auch dicke ausgereicht, bis alle Programme damit anfingen allen möglichen Schrott in die .INI zu schreiben. Dann wurde es halt recht eng und M$ hat dann das Update (Registry) auf dem Markt gebracht, welches noch einiges mehr an Daten ermöglicht. Was leider auch nicht so glücklich war...
Das war wohl nur ein Grund von vielen. Viel wichtiger wahr wohl, dass man in der Registry Daten strukturierter ablegen kann.

Trotzdem halte ich es nicht für gut Ini-Dateien als Protokolldateien einzusetzen, dafür sind sie einfach nicht gedacht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Ini Readsection begrenzt?

  Alt 7. Aug 2009, 02:26
das, was Windows intern verwaltet könnten 8 KB sein (oder 4 bzw. 16 KB weis es grad auch nicht),
aber das was Windows weiterreicht, ist an 64 KB-Grenzen ($0001xxxx) ausgerichtet.
$2B or not $2B
  Mit Zitat antworten Zitat
Maik81ftl

Registriert seit: 31. Mär 2011
Ort: Wahlstedt
26 Beiträge
 
FreePascal / Lazarus
 
#16

AW: Ini Readsection begrenzt?

  Alt 5. Apr 2011, 21:24
Habe da auch mal eine Frage, ich verwende in dem sinne keine wirkliche ini-Datei, allerdings die Systematik dieser Datei.

Wenn ich nun Werte auslese werden bei mir ebendfalls alle einträge "Verschluckt"

an der Größe kann es auf jedenfall nicht liegen, da ich in diesem programm schon mit einer File von 1,0 KB erfolgreich daten innerhal des Programmes verwalte. Die datei, welche ich verwalte hat selbst eine Größe von 62 Byte.

Hier der entsprechende Code für die verwaltung

Delphi-Quellcode:
function TUser.GetUserList: TStringlist;
var s, _s: String;
    Count: Byte;
begin
  fStringList2:= TStringList.Create;
  Count:= 0;
  fFilename:= Format('%s%s', [fPath, fExt2+'.'+fList]);
  if FileExists(fFilename) then begin
    // Userliste Laden
    fStringlist2.LoadFromFile(fFileName);
    with TIniFile.Create(fFilename) do try
      S:= Format('%s', [fList]);
      ReadSection(s, fStringList);
{      for Count:= 1 to fStringList2.Count do
        begin
        _S:= ReadString(s, fList+intToStr(Count), ' ');
        fStringList.Add(_S);
        end;  }

      finally
        Free;
      end;
    end;
  TempS:= IntToStr(fStringList.Count);
  Result:= fStringList;
end;

      S:= Format('[%s]', [fList]);       S:= Format('%s', [fList]);
Die Definition eine Bibliothek ist bei mir eine *.so

Geändert von Maik81ftl ( 5. Apr 2011 um 21:53 Uhr) Grund: Fehler gefunden...
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#17

AW: Ini Readsection begrenzt?

  Alt 5. Apr 2011, 23:38
Den übermäßigen Gebrauch von Format brauchst du gar nicht. Um 2 Strings aneinander zu pappen kann man auch ganz einfach machen: String1 + String2. (Nur so als Hinweis). Und ein Format('%s', [String1]) hat keine andere Wirkung als die Variable selber.

Zu dem anderen Teil aus deinem Code: Du verwendest mehr oder weniger 2 Stringlisten, die irgendwo als globale Variablen vorliegen. Das finde ich höchst fraglich, da du eine der beiden auch noch als Rückgabewert deiner Funktion verwendest.
Was ich nicht verstehe ist, warum du eine StringList aufmachst, dort den gesamten Inhalt reinlädst und diese dann als Memory-Leak frei rumlaufen lässt. -> Erst mal aufräumen.

Außerdem muss man eine Variable vor einer FOR-Schleife nicht initialisieren. Das kontert Delphi nur mit einer Warnung auf eine überflüssige Zuweisung.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ini Readsection begrenzt?

  Alt 9. Apr 2011, 08:32
Was heißt "Verschluckt"?
Ist fStringList danach noch leer? (und wurde fStringList auch irgendwo erstellt? )

Wie sieht deine "es ist keiner, aber sieht fast wie eine INI-Datei aus"-Datei denn aus? (also was ist da drin)
$2B or not $2B
  Mit Zitat antworten Zitat
Maik81ftl

Registriert seit: 31. Mär 2011
Ort: Wahlstedt
26 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Ini Readsection begrenzt?

  Alt 9. Apr 2011, 09:58
Den übermäßigen Gebrauch von Format brauchst du gar nicht. Um 2 Strings aneinander zu pappen kann man auch ganz einfach machen: String1 + String2. (Nur so als Hinweis). Und ein Format('%s', [String1]) hat keine andere Wirkung als die Variable selber.
Ähmmm in der File, welche in der TStringlist2 liegen befinden sich Mehrere Zeilen. *mal anmerk*

Zu dem anderen Teil aus deinem Code: Du verwendest mehr oder weniger 2 Stringlisten, die irgendwo als globale Variablen vorliegen. Das finde ich höchst fraglich, da du eine der beiden auch noch als Rückgabewert deiner Funktion verwendest.
Was ich nicht verstehe ist, warum du eine StringList aufmachst, dort den gesamten Inhalt reinlädst und diese dann als Memory-Leak frei rumlaufen lässt. -> Erst mal aufräumen.
Die TStringlisten sind einzig und allein in der klasse definiert. Das mit dem Speicherleak hat sich schon lange erledigt.

Außerdem muss man eine Variable vor einer FOR-Schleife nicht initialisieren. Das kontert Delphi nur mit einer Warnung auf eine überflüssige Zuweisung.
Was das angeht, ist das noch ein Überbleibsel aus der Fehlersuche unter verwendung einer Repeat Until- Schleife.
und wenn du dir mein Profil richtig anschauen würdest, würdest du sehen, das ich kein geld aufgeben muß, um Pascal-Programme zu schreiben

Was heißt "Verschluckt"?
Ist fStringList danach noch leer? (und wurde fStringList auch irgendwo erstellt? )

Wie sieht deine "es ist keiner, aber sieht fast wie eine INI-Datei aus"-Datei denn aus? (also was ist da drin)
Ähmmm Siehst du diese Befehlszeile??? fStringList2:= TStringList.Create; was in der File drinne steht???

Code:
[[UserList]]
UserList1=Maxim Mustermann
UserList2=Maik Geßner
da ich aber den fehler schon gefunden habe spielt das nun mehr oder weniger keine rolle mehr...
Die Definition eine Bibliothek ist bei mir eine *.so
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#20

AW: Ini Readsection begrenzt?

  Alt 9. Apr 2011, 10:06
Was heißt "Verschluckt"?
Ist fStringList danach noch leer? (und wurde fStringList auch irgendwo erstellt? )
Ähmmm Siehst du diese Befehlszeile??? fStringList2:= TStringList.Create;
ja und? Ist bei FreePascal fStringList2 das gleiche wie fStringList?
Seltsam, da bleib ich doch bei Delphi
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 21:30 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