![]() |
Anfänger kommt nicht weiter...
Hallo,
kann mir jemand sagen wie ich aus der ini einen Wert lese, denn ich zuvor mit einer Combobox eingetragen habe?? Code: schreiben ... IniFile.WriteString ('Aktien',ComboBox1.Text,Edit2.Text); ... lesen ... Label31.Caption := IniFile.ReadString'Aktien',ComboBox1.Text,Edit2.Te xt); ... Vielen Dank Anfänger |
Bis auf die fehlende Klammer nach readstring ist doch alles ok. Was geht den nicht?
Wolfgang |
Sorry, die Klammer ist aber da.
Ich weiß nicht warum das nicht geht :?: Liegt es daran das man mit der Combobox verschiedene Strings auswählen kann? z.B. Telekom oder BASF oder Bank24 Gruß Anfänger |
Hallo Anfänger,
die Syntax ist nicht korrekt. Außerdem musst du vor Benutzung einer Ini-Datei ein TIniFile Objekt erstellen:
Code:
WriteIni benötigt dann die Sektion, in die geschrieben werden soll, sowie den String. Einen Sektionsnamen hast du vergeben (Aktien) aber
IniFile := TIniFile.Create('C:\Test.Ini');
Zitat:
Was genau willst du denn schreiben? ComboBox1.Text oder Edit2.Text oder beide Werte durch ein Komma getrennt oder beide Werte einfach aneinandergehängt? Beim Lesen übergibst du 3 Parameter: Die Sektion, aus der gelesen werden soll, die Zeile aus der entsprechenden Sektion (Teil vor dem = Zeichen) und ein default-Wert, der benutzt werden soll, wenn die Sektion oder der Wert nicht existiert. Willst du Edit2.Text als Standardwert erhalten? |
Hallo Moderator,
mein jetziger Code:
Code:
Aktien ist die Sektion, aus der ComboBox soll der Name gelesen werde
procedure TForm1.schreibe_ini;
var IniFile : TIniFile; begin try IniFile:=TIniFile.create(ExtractFilePath(Paramstr(0))+'daten.dat'); IniFile.WriteString ('Aktien',ComboBox1.Text,Edit2.Text); finally IniFile.Free; end; end; (s.o.) und aus Edit2 wird eine Nummer gelesen zum Schluß soll stehn: [Aktien] Telekom=555750 das funzt ja auch soweit. Nur beim Einlesen sehe ich noch nicht durch. Ich möchte gern das Telkom in ein Label geschreiben wird. Und geht nicht.
Code:
procedure TForm1.lese_ini;
var IniFile : TIniFile; begin IniUpdate := true; IniFile := TIniFile.create(ExtractFilePath(Paramstr(0))+'daten.dat'); Label31.Caption := IniFile.ReadString('Aktien',ComboBox1.Text,Label31.Caption); IniUpdate := false; IniFile.Free end; Danke schon mal im vorraus Anfänger [edit=Admin]Code-Tags eingefügt.[/edit] |
Hallo,
so wie ich das sehe sollte dein Code eigentlich funktionieren. Das lesen der Telekom Aktie aus der Ini funktioniert in deinem Beispiel eben nur wenn in ComboBox1 auch die "Telekom" gewählt ist. Außerdem schreibst du im Moment den Telkom Wert in das Label. Wie wäre es damit:
Code:
Gib mal noch ein paar Hinweise was genau nicht geht, und wie es später aussehen soll.
Label31.caption := Combobox1.text +': '+ Inifile.ReadStrring ('Aktien',ComboBox1.Text,Label31.Caption);
Mfg Salomon |
Hi, klar doch.
Also das ganze sool halt so gehen. Ich wähle mit der ComboBox ein Name. zB. Telekom Dadurch wird das Edit2 aktiviert und der Wert 555750 wird angezeigt. Wenn ich dann z.B. BASF auswähle ändert sich auch Edit2 in Wert 123456 Jetzt speichern. (so wie oben beschrieben, das klapt auch) :) Der Eintrag in der ini sieht dann so aus. [Aktien] Telekom=555750 Der nächste Eintrag mit BASF sieht dann so aus. [Aktien] Telekom=555750 Basf=123456 Jetzt möchte ich auslesen, und das funzt nicht. Das Label zeigt statt den Namen dann die Zahl an 555750. Ich hoffe ich konnte es gut beschreiben. :coder: Danke Anfänger |
Moin Anfänger,
Auslesen heisst ja auch, dass Du den Wert (555750) des Eintrags (Telekom) ausliest. So wie ich Deine Programmlogik verstanden habe, müsste schlicht ein
Code:
genügen.
Label31.Caption := ComboBox1.Text;
|
Das ist klar: Eine Inidatei ist so aufgebaut
[Sektion] Key=Value Gelesen wird immer der value, spezifiziert dur die Sektion unfd den Key |
Eigentlcih ist es richtig sonst gehe erst mal Schritt für Schritt vor.
Ersetze erst mal in dem Ini.Read... Combobox1.... durch 'Telekom' und dann Lable31.Caption durch '', dann dürfte auf jeden Fall gehen, wenn nicht liegt es an einem anderen Code. Wenn es jedoch funzt kannst du es ja Schrittweise wieder richtig einfügen. Kommt denn ein Fehler oder kommt nur nicht der richtige Wert heraus? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 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