![]() |
Re: Wie geht's: Ini - Section in ComboBox ?
AAAAALSO,
ich hab grad gute laune, deswegen werd ich ein beispiel schreiben (aus dem kopf, nicht getestet):
Delphi-Quellcode:
hilft dir das?
//sections ("blöcke") in combobox lesen
ini.ReadSections(combobox1.items); //......... procedure TForm1.Combobox1Change(sende: TObject); begin //beim auswählen eines eintrags aus der combobox, jeweilige daten laden with ini do begin edit1.text := readstring(combobox1.items[combobox1.itemindex], 'Vorname', ''); edit2.text := readstring(combobox1.items[combobox1.itemindex], 'Nachname', ''); //... end; end; edit: ja, das sollte dir helfen, wenn ich deinen post vor diesem richtig interpretiere ;) Aenogym |
Re: Wie geht's: Ini - Section in ComboBox ?
da bin ich ja froh, dass du gute laune hast (bald nichtmehr :? )
danke, das hilft schon! nur dass esbei mir halt die namen der section, udn nicht die einzelnen elemente wären.. aber danke schonmal :dp: EDIT quatsch, vertan: das hilft sogar prima!!! (hatte was falsch gelesen << das auchnoch! ;-) ) VIELEND ANK FÜR EURE GEDULD! :roll: |
Re: Wie geht's: Ini - Section in ComboBox ?
Zitat:
drücke dich doch mal bitte klar und schritt für schritt sortiert aus, WAS du machen willst! dann könnten wir dir leichter helfen. also: Was soll dein programm machen? was hast du schon (bezüglich des problems)? wo liegt dein problem genau? edit: Na endlich :D Aenogym |
Re: Wie geht's: Ini - Section in ComboBox ?
Zitat:
Frage: Ich habe eine INI-Datei mit mehreren Sections. In meinem Programm habe ich eine ComboBox, in dieser sollen alle diese Sections angezeigt werden. Wenn der Anwender in der ComboBox einen der Sections auswählt, dann sollen automatisch die richtigen Daten aus der korrespondierenden Section angezeigt werden. Antwort: ReadSections möchte ein TStrings-Objekt, in das sämtliche Sektionsnamen der INI-Datei kommen sollen. Die ComboBox speichert die anzuzeigenden Einträge ebenfalls in einem TStrings-Objekt, namentlich das Property "Items" der TComboBox-Klasse. Mit dem einfachen Aufruf
Delphi-Quellcode:
hat man dann in der Combobox sämtliche Sektionen der INI-Datei, also sämtliche vorher eingetragenen "block"-Variablen.
MeinINIFile.ReadSections(MeineComboBox.Items);
Des Weiteren hat die ComboBox ein OnChange-Event, das aufgerufen wird, sobald der Benutzer einen Eintrag für die ComboBox ausgewählt hat. Über das Property "Text" der ComboBox kommt man innerhalb dieses Events an den Text in der ComboBox, ergo die ausgewählte Sektion ran. Und diesen String kann man für TINIFile.ReadXXX() benutzen, um aus dieser Sektion die Daten zu holen. Obigen Befehl führt man z.B. jedesmal aus, nachdem man die INI-Datei geändert hat, dann sind die in der ComboBox angezeigten Einträge immer aktuell. Wenn's das auch nicht war, versagt selbst meine glasige Intuition und man bräuchte eine genauere Fragestellung. P.S.: Es heißt tommie ![]() Edit: Oh mann, hab' ich lange gebraucht... :oops: |
Re: Wie geht's: Ini - Section in ComboBox ?
grandios! am besten du machst das forum alleine ;-) , ne quatsch! aber genau das meint ich von anfang an.. :duck:
zum glück konnte mir ja geholfen werden... (war auch schwer nötig) |
Re: Wie geht's: Ini - Section in ComboBox ?
Zitat:
Zitat:
Und Luckie bettelte ja nach Aufklärung :mrgreen: |
Re: Wie geht's: Ini - Section in ComboBox ?
LETZTE FRAGE ZU DEM THEMA INI/COMBOBOX:
Delphi-Quellcode:
damit soll eigentlich die liste+ alle sections geleert werden, ich bekomme aber eine accesviolation (was sonst ;-) )
procedure TForm1.Button12Click(Sender: TObject);
begin try ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'data.ini'); repeat ini.ReadSections(sections); section := sections[0]; ini.EraseSection(section); until sections.Count = 0; finally ini.readsections(combobox1.Items); ini.free; end; end; ich wette die antwort is wieder mal simpel... :duck: |
Re: Wie geht's: Ini - Section in ComboBox ?
Hmh, ich würde es mal so ausprobieren:
Delphi-Quellcode:
procedure TForm1.Button12Click(Sender: TObject);
[...] ini.ReadSections(sections); for i := 1 to sections.count do ini.EraseSection(sections[i - 1]); [...] end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:53 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