![]() |
TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Guten Tag allerseits
Ich möchte ich meinem Program eine Treeview einstellung abspeichern und öffnen können. Gespeichert wird es indem man in einer Edit Komponente den Speichernamen eintippt und auf den Speicherbutton drückt. Bis jetz funktionierts. Zumm öffnen dachte ich mir das könnte man mit einer TComboBox machen funktioniert im Prinzip auch jedoch nur wenn man in der Box den Speichernamen angibt. Ich möchte aber das wenn man bei der ComboBox auf den Pfeil geht, die Dateien die man öffnen kann/möchte, gleich angezeigt werden. Da ich das nie gemacht habe, habe ich auch keine Ahnung wie das gehen könnte. Hat jemand eine Idee? Greez |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Es ist eigentlich ganz einfach:
Erstelle dir eine Liste mit allen Dateien, die du öffnen könntest und klatsche diese Liste an die ComboBox |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Ok? Ääähm und jetz speziell für mich bitte :stupid:
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Was wird hier wie, wo gespeichert? Ein Edit kann nur Eingaben entgegennehmen, aber nichts speichern.
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Ist es das hier
![]() |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe hier mal einen Screen hochgeladen von der Oberfläche. Vlt. versteht ihr so was ich meine.
Wenn ich im Edit Fenster den speichernamen eingebe und auf Speichern Drücke ist der TreeView gesaved. Und die gesaveden .txt Dateien möchte ich mir dann direkt darunter anzeigen lassen damit ich nicht erst in einem anderen Fenster suchen muss. Aber hab auch schon wieder diverse andere Probleme entdeckt ^^ |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Dann speichere die Dateinamen irgendwo an bekannter Stelle ab (Textdatei, IniFile, Registry, etc.) und lies sie später wieder aus.
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Es gibt aber keinen Zauberbefehl in Delphi oder eine Zauber-ComboBox.
Wenn in der ComboBox bestimmte Werte in der Liste stehen sollen, dann muss man diese Werte in die Items-Eigenschaft der ComboBox eintragen. Sollen diese Werte auch das Programm-Ende überleben, dann muss man diese Werte sogar (selber programmieren) irgendwie auf dem Datenträger speichern und beim nächsten Start von dort hervorholen und wieder der ComboBox zuweisen. |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Danke Sir Rufo... Für deine Aufklärung das es keinen Zauberbefehl gibt.
Und DeddyH: Wie gesagt das speichern und der speicherort ist kein Problem. Aber ich habe keine Ahnung wie man es wieder ausliest. |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Wie speicherst Du denn?
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Na ganz einfach so (z.B. mit
![]()
Delphi-Quellcode:
procedure SaveStringsToIni( Ini : TCustomIniFile; const Section, Ident : string; AStrings: TStrings );
begin Ini.WriteString( Section, Ident, AStrings.CommaText ); end; procedure LoadStringsFromIni( Ini : TCustomIniFile; const Section, Ident : string; AStrings: TStrings ); begin AStrings.CommaText := Ini.ReadString( Section, Ident, '' ); end; |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
procedure TForm1.SpeichernButtonClick(Sender: TObject);
var F: TFileStream; begin F := TFileStream.Create('D:\\TreeView.txt', fmCreate or fmShareCompat); try F.WriteComponent(TreeView1); finally F.Free; end; Bei mir sieht das so aus. Wird daran liegen das ich das erst seit 2 Wochen mache ^^ |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Wenn Du immer hardkodiert nach D:\Treeview.txt speicherst, brauchst Du auch keine Liste.
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Das ist momentan noch hauptsächlich für mich damit es überhaupt irgendwo abspeichert.
Das ganze kommt später auf einen Chip bzw. der Tree. Die Software ist dann nur da um zB. Parents zu erstellen oder einfach im allgmeinen für den Betrieb vorzubereiten. Auch wenn ich das so mache sollte ich mir das doch anzeigen lassen können? |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Vielleicht reden wir an einander vorbei. Ich dachte, es geht eher nicht darum, wie man den Inhalt einer TreeView abspeichert, sondern darum, dass man sich eine Liste der Speicherdateien erstellt und diese abspeichert bzw. neu einliest.
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Ja eben ^^ Das speichern klappt ja.
Nur das auslesen nicht. Oder muss ich das mit dem speichern anders machen damit ichs auslesen und anzeigen lassen kann? |
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Dein Code oben ist für das Speichern der TreeView an sich zuständig. Das hat aber nichts mit der Liste der Speicherdateien zu tun.
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Ja das ist mir klar. Ich wurde gefragt wie ich speichere deswegen hat sich das Gespräch glaub grad ein bisschen verlagert.
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
OK, dann mal ganz langsam: pack Dir am Besten einen TSaveDialog auf Dein Formular, damit der Anwender den Speicherort bestimmen kann. Für die Liste der Dateinamen kann man eine TStringlist nehmen, die man im FormCreate erzeugt und im FormDestroy wieder freigibt. Damit keine doppelten Dateinamen vorkommen, kann man Sorted auf true und Duplicates auf dupIgnore setzen. So, wenn der Anwender nun also eine Speicherdatei festgelegt hat, fügt man diesen der Liste hinzu und speichert diese dann ab. Zusätzlich kann man sie noch den ComboBox.Items zuweisen (ComboBox.Items.Assign(Liste)). Genügen Dir diese Infos vorerst?
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Super !! Danke ja das hilft mir.
|
AW: TComboBox gespeicherte Dateien anzeigen lassen und öffnen.
Wenn die gespeicherten Dateien immer in das selbe Verzeichnis gespeichert werden, dass entweder hardcodiert oder irgendwie kofigurierbar ist, dann könnte es für das Füllen der Combobox oder Listbox ausreichen, beim Programmstart und danach bei Bedarf dieses Verzeichnis nach Dateien zu durchsuchen. Dafür sollten sich hier in der DP viele Beispiele finden lassen.
Sollten die Dateien dagegen irgendwo gespeichert werden können, ist der SaveDialog, den DeddyH vorgeschlagen hat sinnvoll. Dann musst du aber noch dafür sorgen, dass du in deiner Anwendung eine Struktur/Liste verwaltest, in der gespeicherte Dateinamen drin stehen. Diese Liste musst du dann natürlich auch bei Progammende irgendwo speichern und beim nächsten Start ggf. wieder laden können. Als einfachste Struktur bietet sich dafür eine Stringlist an, oder eine Ini-Datei, wie von Sir Rufo vorgeschlagen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 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