Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Combobox in eine Ini einlesen (https://www.delphipraxis.net/146862-combobox-eine-ini-einlesen.html)

kumar89 28. Jan 2010 08:57


Combobox in eine Ini einlesen
 
Sers Delphi-Programmierer,

Nämlich hab ich eine Combobox , wenn ich in der Combobox ein Eintrag auswähle soll der Eintrag in der Ini eingetragen werden.

Code:
if Components[i] is TCombobox then
          ini.WriteString('Jahr',(Components[i] as TCombobox).name,((Components[i] as TCombobox).text));
bisher hab ich den Code stehen, was müsste ich daran ändern?


Vielen dank im voraus :thumb:


mfg

kumar89

mkinzler 28. Jan 2010 09:01

Re: Combobox in eine Ini einlesen
 
Ich würde nicht den Text sondern den Inhalt des ausgewählten Eintrags in die Ini schreiben
Delphi-Quellcode:
    name := (Components[i] as TCombobox).name;
    value := (Components[i] as TCombobox).Items[ (Components[i] as TCombobox).itemIndex];

hoika 28. Jan 2010 09:03

Re: Combobox in eine Ini einlesen
 
Hallo,

aha, wo steht denn dieser Code ???
Was funktioniert nicht ?
Warum diese ganzen TypeCasts ? Wenn schon, dann nur einmal wieder in eine lokale Variable (ComboBoxX).

Benutze mal eine lokale Variable zum Auslesen des aktuellen Eintrages.

Delphi-Quellcode:
var
  sSelCBItem: String;
begin
  sSelCBItem:= ComboBox1.Items[ComboBox1.ItemIndex];
  Ini.WriteString ...  sSelCBItem
ItemIndex kann auch -1 sein, dann gibt's bei meinem Code eine Exeption,
also vorher prüfen ...


Heiko

kumar89 28. Jan 2010 09:37

Re: Combobox in eine Ini einlesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
es geht soweit ichs mir vorgestellt hab, blos das 2 zeilen erscheinen die nicht erwünscht sind, ich versteh auch net wieso, warum die 2 zeilen in die ini gespeichert werden.

Mein Quellcode:

Code:
if Components[i] is TCombobox then
          ini.WriteString('Summen'+(Jahr.Text)+(Monat.Text),(Components[i] as TCombobox).name,((Components[i] as TCombobox).text));
Weiß jemand einen Rat?


Siehe Anhang

mfg Kumar89

DeddyH 28. Jan 2010 09:40

Re: Combobox in eine Ini einlesen
 
Und welche Zeilen sind das? Wie sieht Deine Schleife aus? Wir können ja nicht hellsehen.

kumar89 28. Jan 2010 09:50

Re: Combobox in eine Ini einlesen
 
Die Zeilen Jahr und Monat müssten raus mit dem Zahlen in der Ini.

Schleife:

Delphi-Quellcode:
For i := 0 to ComponentCount - 1 do
    begin
      if (TEdit(Components[i]).Name = 'prodLK') or (TEdit(Components[i]).Name = 'unprodLK') or (TEdit(Components[i]).Name = 'GehaltServ') or
         (TEdit(Components[i]).Name = 'PersonalNK') or (TEdit(Components[i]).Name = 'Berufsbekl') or (TEdit(Components[i]).Name = 'KostenServ') or
         (TEdit(Components[i]).Name = 'AnschKostFremd') then
 
          ini.WriteString('Daten'+(Jahr.text),(Components[i] as TEdit).name,(Components[i] as TEdit).text)
 
    else if Components[i] is TCombobox then
          ini.WriteString('Summen'+(Jahr.Text)+(Monat.Text),(Components[i] as TCombobox).name,((Components[i] as TCombobox).text));
    end;
Danke

DeddyH 28. Jan 2010 09:56

Re: Combobox in eine Ini einlesen
 
Hast Du die Ini mal zwischendurch gelöscht? Vielleicht stammen die Zeilen noch von vorherigen Versuchen.

kumar89 28. Jan 2010 09:59

Re: Combobox in eine Ini einlesen
 
hab mal die ganze Ini gelöscht, aber wird auch immer wieder angezeigt.

mkinzler 28. Jan 2010 10:00

Re: Combobox in eine Ini einlesen
 
Ich würde den Namen vorher in eine loakle Variable übernehmen.
Name := TEdit(Components[i]).Name;
Delphi-Quellcode:
if (name = 'prodLK') or (name = ...

DeddyH 28. Jan 2010 10:04

Re: Combobox in eine Ini einlesen
 
Welche Comboboxen hast Du denn auf dem Formular? Übrigens finde ich es etwas befremdlich, dass Du das Components-Array durchläufst und die Edits dann doch wieder nach ihren Namen ausfilterst. Übrigens prüfst Du in dem Fall noch nicht einmal, ob es auch Edits sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:43 Uhr.
Seite 1 von 3  1 23      

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