![]() |
Re: Edit.text aus einer ini lesen
Hallo gasty,
kannst Du das nicht ohne eine Ini-Datei machen? Einfach mit:
Delphi-Quellcode:
ComboBox1.Items.SaveToFile(FileName)
Delphi-Quellcode:
Bis bald Chemiker
ComboBox1.Items.LoadFromFile(FileName)
|
Re: Edit.text aus einer ini lesen
Damit hätte er ja nur die Sections ohne Werte.
|
Re: Edit.text aus einer ini lesen
Also lesen sollten dann klar sein, Sectionen einlesen hast Du ja schon gemacht.
Dann die Werte bei Bedarf einlesen:
Delphi-Quellcode:
Jetzt wird es etwas unsauber:
// im OnChange... den Index brauchst Du nicht abfragen, da ja die Section schon im Textfeld steht
Edit1.Text := IniFile.ReadString(ComboBox.Text, 'Value1', ''); Edit2.Text := IniFile.ReadString(ComboBox.Text, 'Value2', ''); Wenn jetzt jemand etwas in das Combobox Textfeld eingibt, bleiben die Edits leer, solange die Section nicht existiert. (OnChange wird bei jeder Zeicheneingabe/Listenauswahl aufgerufen) Mit einem Save Button kannst Du dann eine neue Section anlegen. (Siehe oben, nur eben IniFile.WriteString).
Delphi-Quellcode:
Das hässliche: Bei jedem Zeichen wird von IniFile gelesen (gepuffert, aber nicht schön) und die Edits werden immer geleert, wenn man in Combobox was eingibt.
// SaveButton Click
IniFile.WriteString(ComboBox.Text, 'Value1', Edit1.Text); IniFile.WriteString(ComboBox.Text, 'Value2', Edit2.Text); Besser wäre eine Combobox im DropDownList Stil (siehe Objektinspektor) und ein Insert Button. Der ruft ein InputQuery auf (Funktion siehe Hilfe), und fügt dann die neue Section ein. |
Re: Edit.text aus einer ini lesen
Also die Combobox ist schon im DropDownList Modus, werd mal den Code probieren und melde mich dann ;D
|
Re: Edit.text aus einer ini lesen
Nochwas... das IniFile-Objekt brauchst Du eigentlich nicht dauernd neu erzeugen.
Leg die Variable ins Formular (private-Abschnitt) und erzeuge das Objekt in TForm.FormCreate. |
Re: Edit.text aus einer ini lesen
Hm, was genau muss ich ins Private legen?
Delphi-Quellcode:
?
ini,rlini: TiniFile;
Und im Form Create hab ich
Delphi-Quellcode:
Aber irgendwie führt es zu einem Error. Kann es vielleicht an den 2 Ini-Files liegen?
ini:= Tinifile.Create((ExtractFileDir(Application.Exename)+'\Pfad.ini'));
rlini:= Tinifile.Create((ExtractFileDir(Application.Exename)+'\Realmlisten.ini')); In der einen ist der Pfad gespeichert und in der anderen die Daten. Aber das mit dem ins Edit auslesen klappt :D Und zum speichern, ich wollte das so machen: *Button klick* Neues Formular wird aufgerufen mit Edits zum eingeben der Daten. dann ini.writestring Aber wird dann nich alles überschrieben? Oder einfach ans Ende hinzugefügt? |
Re: Edit.text aus einer ini lesen
Zitat:
Welcher Fehler kommt denn bei den beiden Inis? |
Re: Edit.text aus einer ini lesen
Ini.WriteString schreibt dort, wo Du angibst [Section] -> Identifier.
Wenn eines von beiden nicht existiert, wird ein neuer Wert eingetragen, ansonsten halt überschrieben. €: IniFiles
Delphi-Quellcode:
genau, das legst Du so ab und erzeugst die Objekte wie oben beschrieben. Jetzt musst Du noch schauen, das auch auf die beiden Variablen zugegriffen wird. Falls also vom vorherigen Code noch irgendwo anders (z.B. lokal in einer Procedure) ini/rlini angelegt ist, das entfernen.
ini,rlini: TiniFile;
|
Re: Edit.text aus einer ini lesen
Irgendwie gibt das bei mir immer einen Access Violation Error.
Aber egal, ich lass es so wie es ist, es funktioniert :D Und das Thema ist ja Edit.text aus ini auslesen und das geht ja jetzt. Danke an alle die geholfen haben :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:34 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