AGB  ·  Datenschutz  ·  Impressum  







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

Ini-File aus dem Speicherlesen

Ein Thema von Highttower · begonnen am 22. Okt 2010 · letzter Beitrag vom 22. Okt 2010
Antwort Antwort
Seite 1 von 2  1 2      
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#1

Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:11
Delphi-Version: 5
Hallo zusammen,

ich wollte fragen ob es möglich ist ein Ini-File dirket aus dem Speicher zu lesen? Oder ob ich zwangsweise über die Platte gehen muss? Kann ich vllt irgendwie eine Speicheradresse als Filename angeben?
Ich hab leider den Eindruck das es schneller geht eine Ini-Memomry-Klasse neu aufzubauen.

Vielen Dank,

Tobi

@EDIT:
Kann ich die Klasse TMemIniFile nutzen?

[OT:] Wie bekomme ich das "Delphi Version 5" weg? -> Meine Delphi Version RAD 2010.
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.

Geändert von Highttower (22. Okt 2010 um 11:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

AW: Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:16
Mit TMemIniFile bist Du auf der richtigen Spur, sofern ich Dich richtig verstanden habe.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:20
Das Problem was ich mit der TMemIniFile habe ist:

Zitat von Delphi Hilfe:
...
Die INI-Datei wird einmal bei der Erzeugung des Objekts gelesen. Die Daten der INI-Datei werden in hierarchischen String-Listen gespeichert.
...
Die TMemIniFile-Klasse sieht aber so aus: Wo sind da die hierarchischen String-Listen???
Delphi-Quellcode:
TMemIniFile = class(TCustomIniFile)
  private
    FSections: TStringList;
    FEncoding: TEncoding;
    function AddSection(const Section: string): TStrings;
    function GetCaseSensitive: Boolean;
    procedure LoadValues;
    procedure SetCaseSensitive(Value: Boolean);
  public
    constructor Create(const FileName: string); overload;
    constructor Create(const FileName: string; Encoding: TEncoding); overload;
    destructor Destroy; override;
    procedure Clear;
    procedure DeleteKey(const Section, Ident: String); override;
    procedure EraseSection(const Section: string); override;
    procedure GetStrings(List: TStrings);
    procedure ReadSection(const Section: string; Strings: TStrings); override;
    procedure ReadSections(Strings: TStrings); override;
    procedure ReadSectionValues(const Section: string; Strings: TStrings); override;
    function ReadString(const Section, Ident, Default: string): string; override;
    procedure Rename(const FileName: string; Reload: Boolean);
    procedure SetStrings(List: TStrings);
    procedure UpdateFile; override;
    procedure WriteString(const Section, Ident, Value: String); override;
    property CaseSensitive: Boolean read GetCaseSensitive write SetCaseSensitive;
    property Encoding: TEncoding read FEncoding write FEncoding;
  end;
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:27
Wenn Du hierarchische Strukturen brauchst, dann Schau Dir mal XML an.

TMemIniFile entspricht TIniFile, nur dass die Sektionen im Hauptspeicher zwischengespeichert werden.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:35
Wenn Du hierarchische Strukturen brauchst, dann Schau Dir mal XML an.
Genau das verwirrt mich ja, aber wenn das nur in der Hilfe steht und eigendlich nicht da ist dann, ist ja alles gut.

TMemIniFile entspricht TIniFile, nur dass die Sektionen im Hauptspeicher zwischengespeichert werden.
D.h. ich brauche doch eine Datei? Oder kann ich eine leere Dummydatei "einlesen", und die Werte danach noch manipulieren?
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:40
Was hat du eigentlich vor?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:50
Szenario:

Ich bekomme eine Email, diese hole ich mir via Indy ab, in dieser Mail stehen Einstellungen diese. Einstellungen habe ich im Projektantrag (es ist ein Abschlussprojekt bei der IHK), als Value-Pairs deklariert weil ich dachte, hey da nimmst du einfach nen Ini-File und wola alles ist gut. -> Pustekuchen

Diese Email stellt das Programm ein, ich verarbeite die angehängten Daten und schreibe eine Mail zurück.

Jetzt stehe ich vor dem Problem, ich habe die Mail im Speicher. Der Sender ist Authenfiziert, und ich will nicht extra über das FileSystem auf die im Speicher liegende "Ini-Datei" zugreifen, es ginge sieht aber blöd aus und braucht lang .

Viele Grüße,

Tobi
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#8

AW: Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:52
Du brauchst keine Datei (es sei denn, Du willst die gesetzten Werte auch dauerhaft ablegen). In jeder Read-Methode gibt es als letzten Parameter einen Defaultwert, welcher genommen wird, wenn entweder die Section oder der Ident nicht gefunden wird. Und setzt Du einen Wert mittels einer Write-Methode, dann geschieht dies auch nur im Speicher.
BTW: Mit der Hierarchie ist vermutlich gemeint, dass die Sections eine Liste bilden, in der jede Section wiederum eine Liste der Ident-Wertepaare enthält.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:53
Man kann über .SetStrings eine Datei z.B. über eine TStringList direkt in TMemIniFile reinladen.
Beim Erstellen der TMemIniFile einfach keinen Dateinamen .Create(''); angeben und danach dann .SetStrings .
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#10

AW: Ini-File aus dem Speicherlesen

  Alt 22. Okt 2010, 11:58
Ah , mal wieder zu kompliziert gedacht.

Dank himitsu, es geht
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.
  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:26 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