AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Klasse für sehr große Ini-Dateien + Unicode gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Klasse für sehr große Ini-Dateien + Unicode gesucht

Ein Thema von Aurelius · begonnen am 9. Jun 2008 · letzter Beitrag vom 17. Jun 2008
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#11

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

  Alt 12. Jun 2008, 13:11
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...
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi
Online

Registriert seit: 17. Jul 2005
856 Beiträge
 
Delphi 11 Alexandria
 
#12

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

  Alt 12. Jun 2008, 13:21
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);
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#13

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

  Alt 12. Jun 2008, 13:54
Ich werde es mal versuchen und melde mich dann...
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 12. Jun 2008, 13:59
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#15

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

  Alt 13. Jun 2008, 07:49
Das geht so leider nicht, da die Liste ja leer bleibt. Das Bearbeiten der Klassen funktioniert nicht (bzw. ich schaffs einfach nicht)...
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#16

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

  Alt 13. Jun 2008, 08:40
Kennt jemand die TntIniFiles? Diese unterstützen auch Unicode.
Bin mir aber nicht sicher, ob sie >64KB unterstützen.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

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

  Alt 13. Jun 2008, 11:03
'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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#18

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

  Alt 13. Jun 2008, 11:39
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
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#19

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

  Alt 16. Jun 2008, 08:57
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^^
Jonas
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#20

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

  Alt 16. Jun 2008, 09:03
Hi xX0815Xx,

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
Frederik
  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 08:15 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