Delphi-PRAXiS
Seite 2 von 3     12 3      

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

Re: Combobox in eine Ini einlesen
 
Zitat:

Zitat von DeddyH
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.

Ich verwende normale Comboboxen. Eine für Jahr und eine für Monat.


Zitat:

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

Würde das meinem eigentlichen Problem weiter helfen?

DeddyH 28. Jan 2010 10:16

Re: Combobox in eine Ini einlesen
 
Zitat:

Zitat von kumar89
Ich verwende normale Comboboxen. Eine für Jahr und eine für Monat.

Und die erzeugen die beiden Zeilen in der Ini. Oder hab ich Dich jetzt völlig falsch verstanden?

kumar89 28. Jan 2010 10:29

Re: Combobox in eine Ini einlesen
 
Zitat:

Zitat von DeddyH
Zitat:

Zitat von kumar89
Ich verwende normale Comboboxen. Eine für Jahr und eine für Monat.

Und die erzeugen die beiden Zeilen in der Ini. Oder hab ich Dich jetzt völlig falsch verstanden?


Code:
 else if Components[i] is TCombobox then
          ini.WriteString('Summen',(Components[i] as TCombobox).name,((Components[i] as TCombobox).text));
    end;

wenn ichs so schreib, dann fehlt es mir in der Summe, daran kann es, dann nicht liegen. Aber die 2 Zeilen stehen noch mit Jahr und Monat in der Ini.

DeddyH 28. Jan 2010 10:31

Re: Combobox in eine Ini einlesen
 
Vielleicht erklärst Du mir besser erst einmal, was genau Du in der Ini speichern willst. Ich bin wohl etwas begriffsstutzig :gruebel:

kumar89 28. Jan 2010 10:39

Re: Combobox in eine Ini einlesen
 
In der Ini, soll folgendes erscheinen unter dem Punkt "Summe" soll einmal des Jahr und einmal der Monat angezeigt werden nur die Zahlen die drin stehen.

Z.b. ich wähl in der Combobox Jahr: 2012 aus und in der Combobox Monat 08 aus soll in der Ini gespeichert werden unter dem Punkt Summe 201208.
Aber was nicht erscheinen soll sind die 2 Zeilen am Ende mit Jahr und Monat die sind nutzlos für meine Ini.

Ich hoffe das man des so versteht. :)

mkinzler 28. Jan 2010 10:41

Re: Combobox in eine Ini einlesen
 
Ich finde es toll, dass du unseren Ernstgemeinten Ratschläge in den Wind schlägst. :zwinker:

DeddyH 28. Jan 2010 10:44

Re: Combobox in eine Ini einlesen
 
Du willst also nur den Sektionsnamen aus den Einträgen der Comboboxen ermitteln?

kumar89 28. Jan 2010 10:48

Re: Combobox in eine Ini einlesen
 
Zitat:

Zitat von DeddyH
Du willst also nur den Sektionsnamen aus den Einträgen der Comboboxen ermitteln?

Jop, genau. Die sollen hinter dem Sektionsname "Summe" stehen und es sollen nicht 2 extra Zeilen dafür erstellt werden.

DeddyH 28. Jan 2010 10:51

Re: Combobox in eine Ini einlesen
 
Ich weiß nicht, ob das funktioniert, da Du ja eigentlich mindestens ein Schlüssel-Wertepaar eintragen sollst. Und selbst, wenn man dafür Leerstrings nimmt, müsste zumindest das Gleichheitszeichen erscheinen. Mir scheint, Du willst TIniFile zweckentfremden.

kumar89 28. Jan 2010 13:28

Re: Combobox in eine Ini einlesen
 
hmm ok danke trotzdem :-D . eine frage hätte ich noch. wenn ich die ini speichere schaut sie so aus z.b:

[Daten2020]
prodlk=
unprodlk=
gehaltserv=
berufsbekl=
anschkostfremd=
personalnk=
kostenserv=
[Summen202005]
Jahr=2020
Monat=05

Wie kann ich denn die ini anders gliedern indem sie so ausschaut:

[Daten2020]
[Summen202005]
Jahr=2020
Monat=2020
prodlk=
unprodlk=
gehaltserv=
berufsbekl=
anschkostfremd=
personalnk=
kostenserv=


Hier mein Quellcode von der ini nochmal:

Delphi-Quellcode:
var Ini: TIniFile;
    i:  Integer;
begin
  ini := TIniFile.Create('C:\Versuch.ini');
  try
    // Zum Speichern
    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;
  finally
    ini.Free;
  end;
end;
ich habe auch schon probiert den Code zu tauschen das er erst Daten dann Summe abfragt aber ist nicht zum gewünschten ergebnis gekommen.

Hoffe es kann jemand helfen

MFG Kumar89


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 Uhr.
Seite 2 von 3     12 3      

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