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
floppybe

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

AW: INI File Schreiben und auslesen

  Alt 17. Mär 2014, 18: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
 
#2

AW: INI File Schreiben und auslesen

  Alt 17. Mär 2014, 19: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
 
#3

AW: INI File Schreiben und auslesen

  Alt 20. Mär 2014, 05: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
 
#4

AW: INI File Schreiben und auslesen

  Alt 20. Mär 2014, 10: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
 
#5

AW: INI File Schreiben und auslesen

  Alt 24. Mär 2014, 11: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
 
#6

AW: INI File Schreiben und auslesen

  Alt 24. Mär 2014, 14: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 14:58 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 03:10 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