Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Klasse für sehr große Ini-Dateien + Unicode gesucht (https://www.delphipraxis.net/115244-klasse-fuer-sehr-grosse-ini-dateien-unicode-gesucht.html)

Aurelius 12. Jun 2008 13:11

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
Könntest du dir vielleicht mal meine angehängten Klassen oben anschauen und sagen wo ich das machen muss? Ich bekomm das gerade einfach nicht hin...

Gausi 12. Jun 2008 13:21

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
Ich geh einfach mal von der normalen Ini-Klasse aus, die ich auch an einigen Stellen zum Speichern von Unicode-Strings benutze. Aber wie schon gesagt: Wenn die Datei zu groß wird, dann wird das ineffizient. Dann sollte man sich ggf. ein eigenes Format für die Dateien überlegen - kommt drauf an, was man machen möchte.

Delphi-Quellcode:
var tmp: String;
//...

// schreiben:
tmp := Utf8Encode(MyWideStringVar);
ini.WriteString('Section', 'MeinWideStringWert', tmp);


//lesen:
tmp := ini.ReadString('Section', 'MeinWideStringWert', '-');
MyWideStringVar := Utf8Decode(tmp);

Aurelius 12. Jun 2008 13:54

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
Ich werde es mal versuchen und melde mich dann...

himitsu 12. Jun 2008 13:59

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
Delphi-Quellcode:
// schreiben
ini.WriteString('Section', 'MeinWideStringWert', Utf8Encode(MyWideStringVar));

// lesen
MyWideStringVar := Utf8Decode(ini.ReadString('Section', 'MeinWideStringWert'));
läßt sich auch mit den anderen NichtUnicodeKlassen so machen


oder notfalls 'ne Klasse ableiten und diese Konvertierung darin machen.

Aurelius 13. Jun 2008 07:49

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
Das geht so leider nicht, da die Liste ja leer bleibt. Das Bearbeiten der Klassen funktioniert nicht (bzw. ich schaffs einfach nicht)...

toms 13. Jun 2008 08:40

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
Kennt jemand die TntIniFiles? Diese unterstützen auch Unicode.
Bin mir aber nicht sicher, ob sie >64KB unterstützen.

himitsu 13. Jun 2008 11:03

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
'ne Erweiterung für TBigIniFile könnte z.B. so aussehn.
(ein ReadAnsiString und WriteAnsiString gibt's in TBigIniFile ja auch schon)
Delphi-Quellcode:
type
  TWideBigIniFile = class(TBigIniFile)
  public
    function ReadWideString(const aSection, aKey: string; const aDefault: WideString): WideString; virtual;
    procedure WriteWideString(const aSection, aKey: string; const aValue: WideString); virtual;
  end;

function TWideBigIniFile.ReadWideString(const aSection, aKey: string; const aDefault: WideString): WideString;
begin
  Result := Utf8Decode(ReadString(aSection, aKey, Utf8Encode(aDefault)));
end;

procedure TWideBigIniFile.WriteWideString(const aSection, aKey: string; const aValue: WideString);
begin
  WriteString(aSection, aKey, Utf8Encode(aValue)));
end;

Assertor 13. Jun 2008 11:39

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
Hi,

also TTnt(Mem)IniFile bzw. T(Mem)IniFile nutzen beide GetPrivateProfileString/WritePrivateProfileString. Nur nutzt Tnt eben die WideString Funktionen.

Aber eine generelle Rückfrage: Das Limit betrifft afaik doch nur Win98SE und älter. Dort dann ja teilweise auch 32k statt 64k.

Nutzt Du denn wirklich INI files > 32/64k auf Win98?

Gruß Assertor

Aurelius 16. Jun 2008 08:57

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
Danke für die Antworten!

@ himitsu: Danke, ich werde es mal testen!

@ Assertor: Ich möchte Reg-Dateien einlesen, welche ja im Enddefekt nur Ini-Dateien sind. Diese sind aber sehr, sehr groß (komplette Reg-Sicherung beträgt z.B. auf meinem Laptop 70 MB). Wo bekomm ich denn die TntInis her? Die suche findet nur einen Verwei sauf http://forum.vingrad.ru/forum/s/b375...1036793/0.html, aber leider kann ich mit meinen beschränkten Russisch-Kenntnissen kein Login finden^^

Assertor 16. Jun 2008 09:03

Re: Klasse für sehr große Ini-Dateien + Unicode gesucht
 
Hi xX0815Xx,

Zitat:

Zitat von xX0815Xx
Wo bekomm ich denn die TntInis her?

Das ganze TntUnicode Paket gibt es z.B. noch bei
Delphi Inspiration.

Himitsus Idee mit der Klassenerweiterung für UTF8Encode/Decode finde ich übrigens sehr gut geeignet, so etwas nutze ich an anderer Stelle auch.

Gruß Assertor


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:16 Uhr.
Seite 2 von 3     12 3      

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-2025 by Thomas Breitkreuz