Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Inidatei auslesen aus Liste nicht aus Datei (https://www.delphipraxis.net/136366-inidatei-auslesen-aus-liste-nicht-aus-datei.html)

Jackie1983 29. Jun 2009 11:31


Inidatei auslesen aus Liste nicht aus Datei
 
Servus,

komische Frage, aber ist es möglich bzw gibt es eine klasse der man Text in dieser Art übergeben kann:
[Text]
Param1=Wert
Param2=Wert
Param3=Wert
etc.

und dann die Werte wie bei TMemIniFile abfragen kann?

Nomal liest man die Werte aus eine Ini Datei. Möchte gerne diesen Aufbau verwenden aber ohne den Text aus der Stringliste in eine Ini-Datei zu speichern und dann auszulesen.

Mfg

himitsu 29. Jun 2009 11:33

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Hier im Forum suchenTBigIniFile/Bei Google suchenTBigIniFile arbeitet intern mit einer TStringList und da könnte man theoretisch auch etwas direkt reinladen :angel:

TIniFile geht nur über die entsprechenden WinAPIs und die wollen eine Datei haben.

Jackie1983 29. Jun 2009 11:35

Re: Inidatei auslesen aus Liste nicht aus Datei
 
werde ich mir mal anschauen thx

Lannes 29. Jun 2009 11:35

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Hallo,

schau Dir mal StringList.Values und StringList.Names an.

Jackie1983 29. Jun 2009 11:38

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Zitat:

Zitat von Lannes
Hallo,

schau Dir mal StringList.Values und StringList.Names an.

servus,

da habe ich aber nur name und wert brauche aber noch ne kategorie...

himitsu 29. Jun 2009 11:40

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Macht TBigIni intern auch so ... also Values und Names auslesen, nur daß da vorher noch die "Section" gesucht wird :)

Popov 29. Jun 2009 11:40

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Zitat:

Zitat von Lannes
schau Dir mal StringList.Values und StringList.Names an.

Stimmt, mit StringList, und Values und Names, kann man wie mit einer Ini arbeiten, allerdings fehlt da die Möglichkeit der Sektion.

Lannes 29. Jun 2009 11:52

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Hallo,

dann ist der Vorschlag von himitsu zielführender.

Oder Du nimmst eine StringList für die Sektionen, an die Eigenschaft Objects setzt Du dann jeweils einen Zeiger auf weitere Stringlists, die die Schlüsselvariablen enthalten auf die Du mit Values und Names zugreifen kannst.

Popov 29. Jun 2009 12:06

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Nur mal eine Zwischenfrage, da ich TBigIniFile nicht kenne. Früher hatten die normalen IniFiles eine Grenze um die 64KB. Da ich aber immer mit der normalen TIniFile arbeite und inzwischen viel größere Inis geladen habe, sollte sich das mit der Grenze inzwischen erledigt haben. Was macht also die TBigIniFile jetzt noch spezielles?

Jackie1983 29. Jun 2009 12:09

Re: Inidatei auslesen aus Liste nicht aus Datei
 
könnte mit einer Stringliste eine Verwaltung progammieren,
aber wieso was neuprogrammieren wenn jemand so was schon programmiert hat...
Werde TBigIniFile mal ausprobieren...

Lannes 29. Jun 2009 12:25

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Hallo,
Zitat:

Zitat von Popov
... Was macht also die TBigIniFile jetzt noch spezielles?

z.B. WriteFont, WriteRect, WriteBinaryData etc.

Popov 29. Jun 2009 12:56

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Ok, aber das kann man auch alleine machen.

Ich hab mir gerade angeguckt wie in der BigIniFile das Datum gespeichert wird. Viel Mühe macht sich der Programmierer dabei aber nicht, sondern speichert es nur über DateToStr. Das ist nicht verwerflich, aber nach meinem Verständnis muß die Ini-Nutzung Idiotensicher sein. Und nichts knallt sicherer als Konvertierungen zwischen Datum und String und Datum. Dabei kann man es wirklich Idiotensicher machen. Genauso wie Float. Ok, man kann damit arbeiten und Glück haben, aber ein anderer Rechner kann andere Einstellungen haben und plötzlich kommen nur Fehlermeldungen. Also da konvertiere ich Daten lieber selber.

himitsu 29. Jun 2009 13:06

Re: Inidatei auslesen aus Liste nicht aus Datei
 
zum Glück bleiben INIs meißt auf dem rechner, wo sie auch erstellt wurden und da nicht sehr oft nachträglich an den Spracheinstellungen von PCs rumgespielt wird, macht die Konvertierung recht selten Probleme ... aber man Bedenke auch, wie alt TBigIni inzwischen ist und daß der Ersteller damals nicht unbedingt alles "besser" wußte.

Popov 29. Jun 2009 13:49

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Zitat:

Zitat von himitsu
zum Glück bleiben INIs meißt auf dem rechner, wo sie auch erstellt wurden

INIs ja, Ini-Artige Dateien dagegen nicht unbedingt. Das Ini-Artige Format bieten eine leichte Möglichkeit Informationen abzuspeichern, also warum nicht nutzen? Und warum es nicht Rechnerübergreifend nutzen?

Wobei ich die BigIniFile nicht abwerten will, sondern nur auf möglichen Problem hinweise.

Wenn ich ein Datum und Zeit in einer Ini speichere, dann vertraue dabei nicht auf die Systemeinstellungen, denn die kännen sich ändern, sondern sorge beim lesen und speichern für ein eigenes Format. Geht ganz leicht:

Delphi-Quellcode:
  //zuerst die alten Einstellungen sichern

  //dann eigene Formatierung setzten
  DateSeparator := '.';
  TimeSeparator := ':';
  ShortDateFormat := 'dd/mm/yyyy';
  LongTimeFormat := 'hh:mm';

  //speichern was zu speichern ist...

  //alte Einstellungen wieder herstellen
Nun kann ich mit DateToStr hin und her speichern und die Ini auch in die USA schicken.

jaenicke 29. Jun 2009 13:55

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Und wenn ich in einem eigenen Format speichere, kann ich direkt den Wert als Zahl speichern, dann brauche ich erst keine Konvertierung. Deshalb ziehe ich das INIs vor (auch wenn ich für veröffentlichte Projekte auch noch die alten INIs unterstütze).

Mithrandir 29. Jun 2009 14:02

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Zitat:

Und wenn ich in einem eigenen Format speichere, kann ich direkt den Wert als Zahl speichern, dann brauche ich erst keine Konvertierung
Is' doch gehüpft wie gesprungen. Man könnte ja auch daherkommen und einfach den UTC-Timestamp in der INI speichern. Bumms, kann sich jeder das Datum anzeigen lassen, wie er lustig ist.

Popov 29. Jun 2009 14:49

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Zitat:

Zitat von jaenicke
Und wenn ich in einem eigenen Format speichere, kann ich direkt den Wert als Zahl speichern, dann brauche ich erst keine Konvertierung. Deshalb ziehe ich das INIs vor (auch wenn ich für veröffentlichte Projekte auch noch die alten INIs unterstütze).

An für sich ist es die einfachste Methode, aber wenn man sich die Ini im Editor ansieht, kann man mit der Datum-Zahl wenig anfangen. Das soll nicht bedeuten, daß die Methode schlecht ist, sondern nicht so einfach editierbar.

Jackie1983 3. Jul 2009 10:39

Re: Inidatei auslesen aus Liste nicht aus Datei
 
lol ok brauche keine ander Komp.
Habe mir die Klasse von Inifiles von Delphi angeschaut und siehe da es geht auch ohne Datei:
Delphi-Quellcode:
  ini := TMemIniFile.Create('');
  ini.SetStrings(mylist);

himitsu 3. Jul 2009 11:07

Re: Inidatei auslesen aus Liste nicht aus Datei
 
Und was Datums-/Zeitwerte in XML angeht, da wird ein global einheiltiches Format verwendet.
Gut, XML ist ein paar Byte größer als INI und es ist etwas aufwendiger zum Parsen, aber dafür hat man dazu noch die Unterstüzung anderer Zeichensätze und eine Bäumchenstrucktur.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 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-2025 by Thomas Breitkreuz