AGB  ·  Datenschutz  ·  Impressum  







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

INI File Schreiben und auslesen

Ein Thema von floppybe · begonnen am 13. Mär 2014 · letzter Beitrag vom 24. Mär 2014
Antwort Antwort
Seite 4 von 4   « Erste     234   
DateTimeError
(Gast)

n/a Beiträge
 
#31

AW: INI File Schreiben und auslesen

  Alt 15. Mär 2014, 00:15
Würde ich nicht machen. Besser dafür ist eine Funktion geeignet, auch wenn sie als Result den gleichen Wert liefert. Man hat dann immer die Möglichkeit den Pfad anzupassen.
Meinst Du mich?
  Mit Zitat antworten Zitat
floppybe

Registriert seit: 24. Dez 2008
Ort: Belp
65 Beiträge
 
Delphi XE5 Architect
 
#32

AW: INI File Schreiben und auslesen

  Alt 16. Mär 2014, 09:33
Hallo Jumpy und Popov,

jetzt wird es mir auch wieder etwas klarer mit der INI. OK.
Ich mache es mal Global und versuche den Test wieder auszulesen.

Ich erlaube mir das Resultat hier wieder zu Präsentieren.

Habt vielen Dank für Alle Eure Ausführungen.


Chris
Christian Schär
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: INI File Schreiben und auslesen

  Alt 17. Mär 2014, 11:00
Ich hatte es im DT schon angedeutet, trotzdem scheint es trotz mehrfacher Hinweise auch in diesem Thread immer noch nicht angekommen zu sein. Was wird in diesem Testcode jeweils ausgegeben?
Delphi-Quellcode:
const
  Blubb = 'Hallo Welt';
begin
  ShowMessage('Blubb');
  ShowMessage(Blubb);
Wenn man das weiß, muss man sich nur das Schreiben und Lesen noch einmal ganz genau anschauen.
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
floppybe

Registriert seit: 24. Dez 2008
Ort: Belp
65 Beiträge
 
Delphi XE5 Architect
 
#34

AW: INI File Schreiben und auslesen

  Alt 17. Mär 2014, 19:54
Hallo Guten Abend,

ich habe den Code vom Einlesen der INI so umgeschrieben dass ich statt der Const
direkt den "Wert" genommen habe.

Delphi-Quellcode:
  filename := ExtractFilePath(ParamStr(0)) + 'ini/einstellungen.ini'; //???
  ini := TIniFile.Create(filename);

  silang1.Language := Ini.ReadString('language', 'last language', 'Deutsch' );
Wenn ich "language" und "last language" nehme gehts. Ich verstehe das noch nicht so ganz,
binn aber froh dass ich nun weiter gekommen bin.

Danke an alle welche geholfen haben bei der Lösung.

Chris
Christian Schär
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#35

AW: INI File Schreiben und auslesen

  Alt 17. Mär 2014, 20:54
Man merkt, dass du gegen gute Tipps schon klein wenig abgeneigt bist. Es ist nun mal so, dass es die typischen Fehler gibt. Anscheinend möchtest du die selbst erleben. Kann man aber auch gut verstehen - no Risk, no Fun

Du verstehst nicht was da passiert? Dabei ist das Ganze eigentlich nicht so schwer. Aber vielleicht sollte man nicht alles auf einmal durchnehmen. Wenn du Lust hast, können wir es noch mal in kleinen Schritten durchgehen:

silang1.Language := Ini.ReadString('language', 'last language', 'Deutsch' );

Was sagt dieser Parameter aus. Welchen Teil der Ini repräsentiert er?
  Mit Zitat antworten Zitat
floppybe

Registriert seit: 24. Dez 2008
Ort: Belp
65 Beiträge
 
Delphi XE5 Architect
 
#36

AW: INI File Schreiben und auslesen

  Alt 20. Mär 2014, 06:01
Hallo Popov,

vielen Hertzlichen Dank dass Du Dir Zeit nimmst mir das ganze etwas besser zu Erklähren. Ich nehme das Angebot gerne an.

Language ist der Einstig der Werte Wo die Daten abgelegt sind, denke ich.
Wenn ich also "Sektion" nehmen würde sucht er mir nach Sektion und nicht nach Language. Wenn ich das Richtig verstehe.

Ich bin es mir gewohnt immer noch den Code selber zusammen zu basteln, als dass ich fertige Infos bekomme. Was
ich sehr Gut verstehen kann aber bei mir manchmal eben zu verwirrungen führt. Ich bin froh, einen Code zu bekommen
den mann verstehen kann. Ich habe einfach bei Euren Ausführungen falsch gelesen und miss verstanden.


Gruss

Chris

Man merkt, dass du gegen gute Tipps schon klein wenig abgeneigt bist. Es ist nun mal so, dass es die typischen Fehler gibt. Anscheinend möchtest du die selbst erleben. Kann man aber auch gut verstehen - no Risk, no Fun

Du verstehst nicht was da passiert? Dabei ist das Ganze eigentlich nicht so schwer. Aber vielleicht sollte man nicht alles auf einmal durchnehmen. Wenn du Lust hast, können wir es noch mal in kleinen Schritten durchgehen:

silang1.Language := Ini.ReadString('language', 'last language', 'Deutsch' );

Was sagt dieser Parameter aus. Welchen Teil der Ini repräsentiert er?
Christian Schär
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#37

AW: INI File Schreiben und auslesen

  Alt 20. Mär 2014, 11:01
Gut, ich hab die Frage missverständlich gestellt, ist aber nicht schlimm.

silang1.Language := Ini.ReadString('language', 'last language', 'Deutsch' );

Eigentlich wollte ich wissen, in welchem Teil der Ini er sucht. Man muss sich zuerst über den Aufbau der Ini im klaren sein, man muss sich bewusst sein, dass es bei der Ini drei Schritte bis zu gesuchten Info gibt - zuerst muss man die Ini-Datei wählen, dann muss man innerhalb der Ini den Teilbereich (Section) wählen, zuletzt muss man den Schlüssel (Ident) wählen:
Code:
IniFile
     |
     +-Section1
     |   |
     |   +-Ident1 = Value
     |   +-Ident2 = Value
     |   +-Ident3 = Value
     |
     +-Section2
     |   |
     |   +-Ident1 = Value
     |   +-Ident4 = Value
     |   +-Ident5 = Value
     |
     +-Section3
Man kann übrigens auch eine normale Textdatei nehmen, sie über TStringLIst laden und Werte über Schlüssel suchen. Das kann jede StringList, sie kennt nur keine Sektionen. Das würde dann so aussehen:
Code:
TxtFile
     |
     +-Name1 = Value
     +-Name2 = Value
     +-Name3 = Value
     +-Name4 = Value
     +-Name5 = Value
     +-Name6 = Value
Die StrlingList hat dann also eine Liste in der Form:
Code:
Info1 = Wert A
Info2 = Wert B
Info1 = Wert C
Man kann hier also genauso an die Daten kommen wie bei einer Ini. Was ist aber der Unterschied? Die StringList kennt keine Unterteilung innerhalb der Liste. In der ganzen Liste müssen alle Schlüssel (also Ident oder Names) stets einmalig sein, sonst werden sie nicht gefunden. Auf den Wert in Zeile 3 kommt man bei einer StringList nie dran - Grund: sie benutzt als Schlussel die Bezeichnung "Info1", und das taucht in der Liste in der ersten Zeile bereits auf. Die dritte Zeile kann also nicht angesprochen werden.

Hier schlaft die Ini-Datei Abhilfe, denn sie kann die Datei noch ein weiteres Mal unterteilen, und zwar in Sektionen.
Code:
[Sektion1]
Info1 = Wert A
Info2 = Wert B

[Sektion2]
Info1 = Wert C
Und nun kann man an den Wert drann, man muss aber der Funktion zum auslesen der Info sagen an welche Info1 in der Liste will man. In welcher Sektion befindet es sich. Also schriebt man:
Delphi-Quellcode:
xyz := Ini.ReadString('Sektion2', 'Info1 ', 'Erstzwert');
//
Sektion unterteilt also die eine große Ini Liste mit Werten in kleine Teillisten, geordnet nach Themen
Delphi-Quellcode:
silang1.Language := Ini.ReadString('language', 'last language', 'Deutsch' );
//
Man kann sich die Sektion auch als Ordner vorstellen und die Idents als Blätter mit Infos. In einen Ordner kann man viel Blätter legen. In einen weiteren Ordner kann man andere Blätter legen.
  Mit Zitat antworten Zitat
floppybe

Registriert seit: 24. Dez 2008
Ort: Belp
65 Beiträge
 
Delphi XE5 Architect
 
#38

AW: INI File Schreiben und auslesen

  Alt 24. Mär 2014, 12:11
Hallo Popov,

ich glaube langsam verstehe ich den Bereich INI auch etwas besser.
Bei der TXT Datei statt der INI würde man also Nur Language wählen,
oder last language aber nicht beides.

Dass ich aber das ganze auch über eine TXT Datei fürhren könnte
wusste ich nun auch nicht. Ist aber eigentlich Logisch.

Beides sind Text Dateien. Beide sollten ähnlich lesbar sein.

Chris
Christian Schär
  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
 
#39

AW: INI File Schreiben und auslesen

  Alt 24. Mär 2014, 15:53
Du solltest verstehen:
  • Was ist eine Datei?
  • Was ist eine Textdatei?
  • Was ist eine INI-Datei?
Denn die Abhängigkeit ist auch wie folgt:
Code:
Datei->Textdatei->INI-Datei
Mit jedem Schritt weiter in die Tiefe wird es immer konkreter und damit spezieller.
Code:
<Datei>
Pfad
Name
Erweiterung
Größe (in Bytes)
Code:
<Textdatei>(<Datei>)
Kodierung (ASCII, ANSI, UTF8, ...)
Zeilenende (CR, LF, CRLF, ...)
ZeilenAnzahl
ZeichenAnzahl
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)

Geändert von Sir Rufo (24. Mär 2014 um 15:58 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   

 

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 04:55 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