![]() |
Wie geht's: Ini - Section in ComboBox ?
Tag, DPler, ich hab mal wieder ne frage! :dp:
mittlerweile habe ich es ja hinbekomemn, diverse daten in einer ini datei zu speichern und wieder löschen zu können.
Delphi-Quellcode:
es soll jetzt folgendermaßen weitergehen:
// KUNDEN EINTRAGEN (IN DATA.INI)
procedure TForm1.Button1Click(Sender: TObject); begin vname := edit1.Text; nname := edit2.Text; strasse := edit3.Text; anrede := combobox2.Text; plz := edit5.Text; ort := edit4.Text; mail := edit6.Text; block := vname+' '+nname; try ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'data.ini'); ini.writestring(block,'vname',vname); ini.writestring(block,'nname',nname); ini.writestring(block,'anrede',anrede); ini.writestring(block,'strasse',strasse); ini.writestring(block,'plz',plz); ini.writestring(block,'ort',ort); ini.writestring(block,'mail',mail); showmessage('Kunde erfolgreich eingetragen!'); finally ini.free; end; end; // KUNDEN LÖSCHEN (AUS DATA.INI) procedure TForm1.Button11Click(Sender: TObject); begin vname := edit1.Text; nname := edit2.Text; block := vname+' '+nname; IF MessageDlg('Soll der Kunde wirklich gelöscht werden?', mtConfirmation,[mbyes, mbno],0) = mryes THEN try ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'data.ini'); ini.EraseSection(block); finally ini.free; end; end; in einer combobox sollen die überschriften der section (in der variable "block") als namen dargestellt werden. wenn ich sie nun auswähle, sollen die einzelnen werte in die entsprechenden edits geladen werden! das laden in die textfelder ist kein problem! aber wie bekomme ich die variable "block" in die combobox, und rufe dann die entsprechenden einträge aus der ini auf??? vielen danks chonaml im vorraus.... :-) |
Re: Wie geht's: Ini - Section in ComboBox ?
|
Re: Wie geht's: Ini - Section in ComboBox ?
Steht alles in der Hilfe:
![]() |
Re: Wie geht's: Ini - Section in ComboBox ?
Das sieht doch jetzt stark nach einer Datenbank-Application aus. Ich befürchte, daß das mit den Ini-Dateien mittelfristig nicht zum Erfolg führt. 8) Das sind eben nur Textdateien, sonst nichts.
|
Re: Wie geht's: Ini - Section in ComboBox ?
der umgang mit der ini sollte nicht das problem sein, aber wie bekomme ich "block" in die combobox, und speicher die einzelnen leutchen dann auchnoch dauerthaft in der ini
(sorry, wenn die frage -mal wieder- blöd is, aber das muss jetzt einfach sein) ;-) [edit] da fällt mir ein, ich hab vergessen, beim speichern der ini muss das ganze ja sofort auch in die combobox!! (mist!) :? [/edit] |
Re: Wie geht's: Ini - Section in ComboBox ?
kannst du "block" mal genauer definieren?
Aenogym edit: wenn du mit Block eine Section meinst (in der Ini die teile in den eckigen klammern []), dann hilft dir, wie von mir und Luckie besagt ![]() |
Re: Wie geht's: Ini - Section in ComboBox ?
Du willst doch die Sektionen in eine Kombobox bekommen oder? Und genau das macht TIniFile.ReadSections.
|
Re: Wie geht's: Ini - Section in ComboBox ?
is schon richtig, mit "block" (das ist quasi vorname + nachname einer person (block := nname+vname) /steht irgentwo oben im qt) hab ich ja auch kein prob!
aber: wie mach ich das mit der blöden combobox! die variable muss ja auch dort quasi gespeichert werden und nachher wieder abrufbar sein (muss dann auch inenr ini stehen, was da alles für namen in der box sind, argh) aber nett, dass ihr euch um mich bemüht ^^ :dp: :dp: :dp: |
Re: Wie geht's: Ini - Section in ComboBox ?
TOMMY!!!, komm mal mit deiner Glaskugel. ich verstehge nur banhof. :gruebel:
|
Re: Wie geht's: Ini - Section in ComboBox ?
lol :-)
es geht mir nicht um den qt im bezug auf das lesen der section.. ich muss nur die vorhandenen dinger (namen der sections) in die box bekommen, hab aber keine ahnung, wie ich das anstellen soll! quasi: ini.readsections und speicher als combobox.elelemt!!! asoooo, warte, kann ich die einfach zu combobox1.items hinzufügen?! [edit] also: lese alle sections und speichere deren namen für jede einzeln als item einer combobox[/edit] |
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 17:28 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