Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Comboboxen dynamisch füllen (https://www.delphipraxis.net/70308-comboboxen-dynamisch-fuellen.html)

RWarnecke 28. Mai 2006 13:39


Comboboxen dynamisch füllen
 
Hallo,

ich möchte gerne Comboboxen dynamisch mit werden füllen. Diese möchte ich in meinem Programm fest definieren ohne das der User darauf zugriff hat oder Sie verändern kann. Ich möchte aber auch wiederum diese Listen einfach erweitern können ohne das ich das ganze Programm neu verteilen muss bei einem Update.

Ich habe da als erstes an Stringtables in RES-Dateien gedacht. Weiß aber nicht so richtig, wie ich das umsetzen soll. Ich bin natürlich für jeden anderen Vorschlag auch offen.

Wie würdet Ihr das Problem lösen ?

mkinzler 28. Mai 2006 13:43

Re: Comboboxen dynamisch füllen
 
Verwende doch einfach die .LoadFromFile- oder .LoadFromStream-Methode der Liste.

RWarnecke 28. Mai 2006 13:55

Re: Comboboxen dynamisch füllen
 
Bei LoadFromFile, kann ich ja nur ein Textfile laden. Dieses Textfile kann aber der User über einen Editor leicht ändern, was ich ja nicht will. Mit der LoadFromStream-Methode habe ich noch nicht gearbeitet. Welchen Vorteil bietet mir diese Methode ?

mkinzler 28. Mai 2006 13:57

Re: Comboboxen dynamisch füllen
 
Der Stream kann auch aus der Ressource stammen.

faux 28. Mai 2006 13:58

Re: Comboboxen dynamisch füllen
 
Zitat:

Zitat von RWarnecke
ohne das ich das ganze Programm neu verteilen muss bei einem Update.

Also wenn es nur um die ComboBoxen geht, ist mein Vorschlag vielleicht etwas übertieben, aber wenn es auch mehrere andere Elemente und häufige Veränderungen betrifft, kannst du ja mal an die Möglichkeit der Verwenung von DLLs denken.

Grüße
Faux

drschubi 28. Mai 2006 13:58

Re: Comboboxen dynamisch füllen
 
Hallo Rolf, ich mach das so
Delphi-Quellcode:
procedure TForm1.fillcb;
var
  Progdir: string;
  CBList: TStringlist;
begin
  ProgDir := ExtractFilePath(ParamStr(0));
  CBList := TStringlist.create;
  with CBList do
    begin
      Sorted := True;
      Duplicates := dupIgnore;
      CBList.LoadFromFile(progdir + 'anrufer.dat');
      CBAnrufer.Items.Addstrings(CBList);
    end;
  CBList.Free
end;
CBAnrufer ist die Combobox,i ch lade die Daten aus der anrufer.dat, die eine normale editierbare Textdatei ist.

Gruß Schubi

mkinzler 28. Mai 2006 14:06

Re: Comboboxen dynamisch füllen
 
@drschubi: Die Lösung mit der editierbaren datei wollte er ja nicht (siehe #3)

RWarnecke 28. Mai 2006 14:07

Re: Comboboxen dynamisch füllen
 
Zitat:

Zitat von drschubi
Hallo Rolf, ich mach das so
Delphi-Quellcode:
procedure TForm1.fillcb;
var
  Progdir: string;
  CBList: TStringlist;
begin
  ProgDir := ExtractFilePath(ParamStr(0));
  CBList := TStringlist.create;
  with CBList do
    begin
      Sorted := True;
      Duplicates := dupIgnore;
      CBList.LoadFromFile(progdir + 'anrufer.dat');
      CBAnrufer.Items.Addstrings(CBList);
    end;
  CBList.Free
end;
CBAnrufer ist die Combobox,i ch lade die Daten aus der anrufer.dat, die eine normale editierbare Textdatei ist.

Gruß Schubi

Und genau so möchte ich es nicht machen. Lese bitte nochmals meinen ersten Beitrag. Die Dateien sollen nicht mit einem einfach Texteditor editierbar sein.

Zitat:

Zitat von faux
Also wenn es nur um die ComboBoxen geht, ist mein Vorschlag vielleicht etwas übertieben, aber wenn es auch mehrere andere Elemente und häufige Veränderungen betrifft, kannst du ja mal an die Möglichkeit der Verwenung von DLLs denken.

Danke für den Vorschlag faux, ich werde diese Möglichkeit als letztes in Betracht ziehen, wenn es vielleicht noch eine andere Möglichkeit gibt.

EDIT :
Hier hat SirThornberry eine Function gepostet. Verstehe ich das richtig, das mit dieser Funktion direkt die RES-Datei aufgerufen wird ?

drschubi 28. Mai 2006 14:14

Re: Comboboxen dynamisch füllen
 
Stimmt, habe ich wohl nicht richtig gelesen :-D

Einen schönen Sonntag noch

Schubi

Luckie 28. Mai 2006 14:44

Re: Comboboxen dynamisch füllen
 
Dann verschlüssel die Datei doch einfach.


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

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