AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

INI File & ComboBox

Ein Thema von floppybe · begonnen am 3. Apr 2013 · letzter Beitrag vom 3. Apr 2013
Antwort Antwort
floppybe

Registriert seit: 24. Dez 2008
Ort: Belp
65 Beiträge
 
Delphi XE5 Architect
 
#1

INI File & ComboBox

  Alt 3. Apr 2013, 15:02
Hallo Liebe DP'ler hallo Wicht,

vielleicht liest Wicht mit und kann mir auch Helfen.
Ich möchte meinem Programm die Mehrsprachigkeit spendieren.
Nun möchte ich aus der ComboBox in der die Sprachen sind das in ein INI File Speichern damit ich immer die
gleiche Sprache laden kann wie zuletzt gewählt.

Die INI erstellen habe ich verstanden:

Delphi-Quellcode:
uses IniFiles;

...

var
  ini: TIniFile;
  filename: String;
begin
  filename := ExtractFilePath(ParamStr(0)) + 'einstellungen.ini';
  ini := TIniFile.Create(filename);
Aber ich raffe es nicht bei allen Postings wie ich die ComboBox auslesen kann und in die INI schreibe.
Ich habe das Tut vom Delphi Treff gelesen, aber dort schreiben Sie hart Codiert die INI. Und ich möchte das beim
ändern der Auswahl von der ComboBox machen.

Ich weis, Ihr macht es ungern Fertigen Delphi Code zu präsentieren aber ich komme mit meinem Verständnis nicht
weiter. Denn ich habe 4 weitere Form's bei denen ich dann die Combobox wieder auslesen würde aus der INI.

Ich habe ein Delphi XE3 Architect EDU.

Grüsse

Chris
Christian Schär
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: INI File & ComboBox

  Alt 3. Apr 2013, 15:12
Mir ist der Zusammenhang zwischen ComboBox und IniFile noch nicht ganz klar. Was genau steht in der ComboBox und was willst Du wohin speichern?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: INI File & ComboBox

  Alt 3. Apr 2013, 15:16
Ich verstehe jetzt nicht ganz genau, wo das Problem ist. Wie man in eine Ini schreibt bzw. daraus liest?

z.B. im OnChange Event der Combobox in die ini schreiben:
Delphi-Quellcode:
const
  Sektion='DerNameDerSektion';
  Eintrag='DerNameDesEintrages';
var
  ini: TIniFile;
  filename: String;
begin
  filename := ExtractFilePath(ParamStr(0)) + 'einstellungen.ini';
  ini := TIniFile.Create(filename);
  ini.WriteString(Sektion,Eintrag,combobox1.Text);
  ini.Free;
end;
im OnCreate oder OnShow eines Formulares dann auslesen:
Delphi-Quellcode:
const
  Sektion='DerNameDerSektion';
  Eintrag='DerNameDesEintrages';
var
  ini: TIniFile;
  filename: String;
begin
  filename := ExtractFilePath(ParamStr(0)) + 'einstellungen.ini';
  ini := TIniFile.Create(filename);
  combobox1.Text:=ini.ReadString(Sektion,Eintrag,combobox1.Text);
  //In einem Formular, in dem nur die Sprache gesetzt werden soll, wo also keine Combobox ist
  //muss natürlich entsprechend eine variable gefüllt oder eine Prozedur bedient werden:
  SpracheSetzen(ini.ReadString(Sektion,Eintrag,'Deutsch'));
  ini.Free;
end;
Ralph
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: INI File & ComboBox

  Alt 3. Apr 2013, 15:18
Hallo,

in Combobox.text steht der aktuell angezeigte Wert.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#5

AW: INI File & ComboBox

  Alt 3. Apr 2013, 15:28
BTW: Wenn es sich nicht um eine portable Anwendung handelt, gehört sie ins Programme-Verzeichnis. Dort hast Du aber normalerweise als Standard-Benutzer keine Schreibrechte. Ich würde daher die Ini ins AppData-Verzeichnis des Benutzers verschieben, so hat jeder Benutzer seine eigenen Einstellungen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: INI File & ComboBox

  Alt 3. Apr 2013, 15:33
gerade im Druck daher kommentarlos ...

Code:
[english]
Button1=Button X
Button2=Button Y
[deutsch]
Button1=Knopf X
Button2=Knopf Y

Delphi-Quellcode:
uses Inifiles;

const
  C_IniFile = 'C:\temp\trans.ini';

procedure TForm1.ComboBox1CloseUp(Sender: TObject);
var
  ini: TInifile;
  sl: TStringList;
  i: Integer;
  c: TComponent;
begin
  sl := TStringList.Create;
  try
    ini := TInifile.Create(C_IniFile);
    try
      ini.ReadSectionValues(ComboBox1.Items[ComboBox1.ItemIndex], sl);
      for i := 0 to sl.Count - 1 do
      begin
        c := TComponent(FindComponent(sl.Names[i]));
        if Assigned(c) then
          (c as TControl).SetTextBuf(Pchar(sl.ValueFromIndex[i]));
      end;
    finally
      ini.Free;
    end;
  finally
    sl.Free;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  ini: TInifile;
begin
  ini := TInifile.Create(C_IniFile);
  try
    ini.ReadSections(ComboBox1.Items);
  finally
    ini.Free;
  end;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi ( 3. Apr 2013 um 17:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

AW: INI File & ComboBox

  Alt 3. Apr 2013, 15:40
DRY
Delphi-Quellcode:
const
  ININAME = 'C:\temp\trans.ini';

...
ini:=TInifile.Create(ININAME);
Zum try-finally-Block sag ich jetzt mal nichts.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: INI File & ComboBox

  Alt 3. Apr 2013, 16:30
@DeddyH
[OT] Willst Dich schon jetzt als Papst bewerben
Er hat doch geschrieben, daß das bloß eine Anregung ist.[/OT]

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:02 Uhr.
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