![]() |
ini Datei wird nich ausgelesen
Es kann sein das diese Frage schön des öffteren gestellt wurde, hab auch schon einiges darüber gelesen.
Doch alles bringt mich nicht wirklich weiter, also versuch ich es nochmal. Hab ein Programm wo ich den Inhalt dreier Listboxen in eine INI Datei Speichern tueh, das klappt auch, nur mit dem auslesen der gespeicherten Datein hab ich Probleme
Delphi-Quellcode:
dies ist der Code zum Speichern.
procedure TForm4.Button4Click(Sender: TObject);
var ini: TIniFile; begin try ini := TIniFile.Create(IncludeTrailingPathDelimiter(GetCurrentDir)+'einstellungen.ini'); ini.WriteString('Fach','Name',(Listbox1.Items.Text)); ini.WriteString('Heftcode','Name',(Listbox2.Items.Text)); ini.WriteString('Note','Zahl',(Listbox3.Items.Text)); finally ini.Free; end; end; und hier mein Code zum Lesen:
Delphi-Quellcode:
Nun er liest es nicht aus, hab es schon mit dem Code probiert:
procedure TForm4.FormCreate(Sender: TObject);
var ini: TIniFile; begin try ini := TIniFile.Create(IncludeTrailingPathDelimiter(GetCurrentDir)+'einstellungen.ini'); ini.ReadString('Fach','Name',(Listbox1.Items.Text)); ini.ReadString('Heftcode','Name',(Listbox2.Items.Text)); ini.ReadString('Note','Zahl',(Listbox3.Items.Text)); finally ini.Free; end; end;
Delphi-Quellcode:
Da schreibt er mir in die Listbox eben Name rein, nun wie kann ich es hinbekommen das er mir die Dateien richtig ausliest?
ini.ReadSectionValues('Name',(Listbox1.Items));
Danke schonmal für Eure Anworten |
Re: ini Datei wird nich ausgelesen
Hallo,
versuche es einmal so:
Delphi-Quellcode:
...
Listbox1.Items.Text:=ini.ReadString('Fach','Name', ''); ... |
Re: ini Datei wird nich ausgelesen
Hat Prima geklappt Danke, achso hab noch eine Frage die ich vergessen hab, wie kann ich es erreichen das die vorhandenden einträge durch ein neues Speichern nicht gelöscht und ersetzt werden?
|
Re: ini Datei wird nich ausgelesen
die vorhandenden einträge werden nicht gelöscht (bei TInifile), es sei denn, du machst EreaseSection (löscht alle Einträge einer section) oder gibst diesem Eintrag einen neuen Wert (dann ist der alte Wert natürlich weg)
HTH Frank |
Re: ini Datei wird nich ausgelesen
Ja habs auch gesehen, er trägt die neuen Dateien schon in die ini datei ein, doch kann er beim auslesen immer nur den ersten eintrag anzeigen.
Die INI Datei: [Fach] Name=Erdkunde Latein Musik [Heftcode] Name=fdbdfbdf fsgsdfgv dfgvbdf [Note] Zahl=2,2 2,2 2,2 wie kann ich es also schaffen, das er alle einträge die eingetragen werden, auch wieder nacheinander in der Listbox eingetragen werden? |
Re: ini Datei wird nich ausgelesen
Hallo,
ich würde das anders speichern. Beispiel:
Code:
Dann kannst du mit ReadSections bzw. ReadSectionValues alle Werte lesen und mit Write... natürlich schreiben.
[Fach1]
Name=Erdkunde Heftcode=sdhkfg Zahl=2,2 [Fach2] Name=Musik ... Aber mal ein genereller Tipp: Die ![]() Gruß, ManuMF P.S.: Vielleicht hilft dir, wenn du es wie oben machen willst, ![]() |
Re: ini Datei wird nich ausgelesen
Ja Danke für deine Antwort, nur hilft mir das nich wirklich weiter, weil ich keine besonders große Ahnung davon hab, versuch mich jetz erst dareinzuarbeiten.
Wenn du mir vielleicht einen Anhaltspunkt oder einen Code geben könntest wie ich dein Beispiel umsetzen kann, wäre ich dir Dankbar. Ansonsten trotzdem vielen Dank, ich werds auf jedenfall sehen ob ichs eventuell hinbekomme. |
Re: ini Datei wird nich ausgelesen
Hallo,
hast du dir das Thema (von meinem Link) angesehen? Dort gibt es Code-Beispiele. Auch die Delphi-Hilfe hat (für die meisten Funktionen) einen Link "Beispiel". Gruß, ManuMF |
Re: ini Datei wird nich ausgelesen
Wie viele Ini-Dateien verteilst du denn o am tag über das ganze System?
Delphi-Quellcode:
;)
ini := TIniFile.Create(IncludeTrailingPathDelimiter(GetCurrentDir)+'einstellungen.ini');
GetCurrentDirectory liefert dir das aktuelle Arbeitsverzeichnis, was aber nicht zwingend das Verzeichnis deiner Anwendung ist. Entweder mit ParamStr arbeiten oder noch besser es ![]() |
Re: ini Datei wird nich ausgelesen
Hallo,
@Luckie: Die Ini wird inzwischen ja nicht mehr gar nicht ausgelesen, sondern beim Schreiben wird ein Zeilenumbruch reingesetzt, der natürlich dann nicht geladen wird. Gruß, ManuMF |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 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