Autor Beitrag
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mi 04.09.02 18:16 
Hallo,

Es gibt bei einigen Programmen einen Dialog, der sich "Verzeichnis Suchen" nennt.
Er enthält eine Baumstruktur, die sämtliche Ordner enthält. Quasi nur das rechte Fenster vom Win95-Explorer (auch Win98 und folgende, aber ohne Hintergrundbild). Man kann dort einen Ordner auswählen und sämtliche Dateien und die der Unterverzeichnisse werden zurückgegeben. Mit dem OpenFile-Dialog von Delphi6 (PE) kann man aber nur die Dateien auswählen, aber keine Ordner.
Wie kann ich so einen Dialog, bei dem mn nur den Ordner angeben muss, auch in Delphi realisieren?

Tschüß
Thomas

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Mi 04.09.02 18:30 
hi tommie-lie,

ab delphi 6 gibt es dir Komponente TShellTreeView, welche eine Baumstruktur darstellt. Das dürfte eigentlich sein, was du suchtest. Achja, die Kompo findest du unter Beispiele.

_________________
Viele Grüße
Jakob
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Mi 04.09.02 18:38 
Hi,

vielleicht meinst Du ja sowas:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
uses Filectrl;  
{....} 
procedure TForm1.Button1Click(Sender: TObject);  
var  
  Dir: String;  
begin  
  SelectDirectory('Select a directory', '', Dir);  
  ShowMessage(Dir);  
end;


Moderiert von user profile iconTino: Inhalt von SwissDelphiCenter eingefügt.
tommie-lie Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mi 04.09.02 19:26 
Jungs, ich muss euch was beichten:
Ich hab' die englische Version.

Aber unter Samples findet sich in der 6er PE nur ein TDirectoryOutline, was allerdings gar nicht nach dem aussieht, was ich suche, auch wenn es vielleicht die richtige Funktion erfüllt. Das Ding sieht aus, als wäre es noch von Windows3.11 übriggeblieben, und ich habe keine Einstellmöglichkeit für den Style gefunden.

Aber das, was bis11 verlinkt hat, ist genau das, was ich brauche.

THX
Thomas

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Mi 04.09.02 19:33 
Zitat:
Aber das, was bis11 verlinkt hat, ist genau das, was ich brauche.


Ist auch kürzer :mrgreen: Um ehrlich zu sein, kannte ich den Befehl bis eben noch nicht.

_________________
Viele Grüße
Jakob
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mi 04.09.02 23:43 
Die Suchfunktion von AUQ hätte Dir min. zwei Ergebnisse geliefert. Hier einen: www.auq.de/viewtopic.php?t=1670

Gruß
TINO
S - tefano
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Mo 09.09.02 21:56 
Hi,

ich hab im PSDK und auf anderen Seiten auch solche Methoden gefunden.
Aber auf Screenshots dazu war der Dialog immer in Englisch.
Ist der immer englisch oder hängt das von der aktuell eingestellten Systemsprache ab?

Bis denn

S - tefano

_________________
Es gibt Tage, an denen verliert man, und es gibt Tage, an denen gewinnen die anderen.
Walk on
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Di 10.09.02 06:38 
Hi s - tefano,

nimm mal meinen Link, den ich etwas weiter oben gepostet habe. Der ruft den Dialog direkt vom System auf und zeigt Ihn auch in der aktuellen Systemsprache an. Installierst Du Dein Programm auf ein System wo die Sprache englisch ist wird auch dieser Dialog in englisch angezeigt, genau so ist es auch für die anderen Sprachen.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Di 10.09.02 09:44 
bis11 hat folgendes geschrieben:
nimm mal meinen Link, den ich etwas weiter oben gepostet habe. Der ruft den Dialog direkt vom System auf und zeigt Ihn auch in der aktuellen Systemsprache an.

Das sollte der Beitrag den ich oben verlinkt angegeben habe auch machen!

Gruß
TINO
tommie-lie Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Fr 13.09.02 20:17 
Okay, soweit so gut, jetzt habe ich das Verzeichnis.

Aber Tino:
Ich habe bei meiner Suche ncihts gefunden. Und ich habe sogar nur nach Ordner gesucht, ohne weitere Einschränkungen.
Aber das, auf das du da verlinkt hast ist doch nicht das was ich meinte. Das öffnet doch den "normalen" Datei-Öffnen-Dialog, oder?!? Ich wollte eben diesen Baum haben...

Tschüß
Thomas

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
tommie-lie Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Fr 13.09.02 20:39 
Ich habe jetzt Tino's Prozedur ausprobiert.
Die zeigt nciht nur die Dateien sondern auch die Verzeichnisnamen an. Wie kann ich das denn so machen, daß ich nur die Dateinamen habe? Einfach die löschen, die keine Extension haben? Und was ist dann mit den Dateien, die keine Extension haben?

Tschüß
Thomas

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 13.09.02 21:41 
Hallo Tommie,

tommie-lie hat folgendes geschrieben:
Das öffnet doch den "normalen" Datei-Öffnen-Dialog, oder?!? Ich wollte eben diesen Baum haben...

In dem Link den ich Dir gepostet habe meine ich besonders den Beitrag von Deykin11. In diesem wird eine Code-Beispiel gezeigt mit dem man den "Ordner suchen"-Dialog anzeigen lassen kann.

tommie-lie hat folgendes geschrieben:
Die zeigt nciht nur die Dateien sondern auch die Verzeichnisnamen an.

Das kann ich mir nicht vorstellen. Die sollte nur die Verzeichnisstruktur (inkl. Desktop und so) anzeigen.

tommie-lie hat folgendes geschrieben:
Wie kann ich das denn so machen, daß ich nur die Dateinamen habe?

Wieso Dateien? Du wolltest doch ein Verzeichnis vom User auswählen lassen, oder?

Gruß
TINO
tommie-lie Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 14.09.02 11:49 
Ja. Ich wollte, daß der User ein Verzeichnis auswählt. Dann braucht das Programm die Pfade aller DATEIEN in diesem Verzeichnis. Dein Codebeispiel (findFiles) listet aber (zumindest bei mir) in der Listbox auch die Verzeichnisnamen auf.
Beispiel:
Er sagt:
C:\Windows
C:\Programme\
C:\autoexec.bat
...
C:\Windows\progman.exe
...

Er soll aber sagen:
C:\autoexec.bat
...
C:\Windows\progman.exe

Also einfach ohne Verzeichnisse, sondern nur die Dateien. Aber die Dateien in den Unterverzeichnissen soll er trotzdem aklappern.

Tschüß
Thomas

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
S - tefano
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Sa 14.09.02 12:40 
Hi,

naja, du kannst ja wenn die Liste gefüllt ist (also wenn dein Prog mit dem Auflisten fertig ist) die Einträge, die nur Verzeichnisnamen darstellen manuell rausnehmen.
So würd ichs jedenfalls machen...

Bis denn

S - tefano

_________________
Es gibt Tage, an denen verliert man, und es gibt Tage, an denen gewinnen die anderen.
Walk on
tommie-lie Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 14.09.02 13:16 
Und wie sieht das dann aus?
Alle Einträge ohne Extension, also ohne Teil hinter dem Punkt sind Verzeichnisse?
Und was ist dnn mit den Dateien ohne Extension?

Tschüß
Thomas

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Sa 14.09.02 13:22 
tommie-lie hat folgendes geschrieben:
Ja. Ich wollte, daß der User ein Verzeichnis auswählt.

Ich hoffe das hast Du jetzt mit dem richtigen Dialog remacht. Also z. B. mit dem Code den Deykin11 hier gepostet hat. Damit hast Du ja erstmal einen Teil Deiner Aufgabe gelöst.

tommie-lie hat folgendes geschrieben:
Dein Codebeispiel (findFiles) listet aber (zumindest bei mir) in der Listbox auch die Verzeichnisnamen auf.

Welches Codebeispiel meinst Du? Wenn Du diesen FAQ-Beitrag meinst dann ja. Allerdings wusste ich gar nicht das es um diesen Beitrag ging :?

tommie-lie hat folgendes geschrieben:
Also einfach ohne Verzeichnisse, sondern nur die Dateien. Aber die Dateien in den Unterverzeichnissen soll er trotzdem aklappern.

Dann schau Dir doch noch mal den FAQ-Beitrag genauer an. Dann wirst Du dort eine Stelle finden wo die gefundenen Dateien/Verzeichnisse in die Stringliste eingefügt werden:
ausblenden Quelltext
1:
2:
// ...Ergebnis in die Stringlist einfügen 
aResult.Add (aPath + FindRec.Name);

Diese Stelle müsstest Du ein bissel erweitern und eine IF-THEN-Abfrage einbauen und prüfen ob es sich nicht um ein Verzeichnis handelt!

Gruß
TINO

PS: Ich würde Dir vorschalgen das Du in Zukunft für jede Frage (1. Frage: Verzeichnis suchen Dialog; 2. Frage: nur Dateien bei dem FAQ-Beitrage) ein eigenes Topic erstellen :wink:
tommie-lie Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Sa 14.09.02 13:40 
Hallo Tino,

Ich habe den Link von bis11 aus dem Delphicenter genommen, der aber das gleiche ist wie das von deykin11. Also ist ds schonmal gelöst.

Dann zu Sache mit deinem FAQ-Eintrag:
Ich habe gar nicht gemerkt, daß ich in diesem Thread nichts dvon geschrieben habe. Da ich den Mozilla nutze und regen gebrauch des Tabbed-Browsings mache, scheint das wohl irgendwo untergegangen zu sein. Aber ich meine deinen FAQ-Beitrag. Ich galube, ich habe ihn irgendwo mit der Suchen-Funktion gefunden. Aber von dem Augenblick an, an dem ich geschrieben habe, daß ich "Tino's Prozedur ausprobiert! habe, meinte ich den FAQ-Beitrag.

Verzeichnisse filtern:
Also meinst du ,daß ich schon vor dem eintragen in die Listbox überprüfen soll, ob's ein Verzeichnis ist, oder nicht, und nciht erst, wenn die Liste schon fertig ist? Aha. Und das mache ich dann mit der Atrributüberprüfung, richtig?

Tschüß
Thomas

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
S - tefano
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 28



BeitragVerfasst: Sa 14.09.02 21:29 
Also ich würd gucken, ob ein Eintrag mit nem Backslash aufhörht.
Wenn ja, dann raus.
Hm, ich guck mal ob mir was eleganteres einfällt...

_________________
Es gibt Tage, an denen verliert man, und es gibt Tage, an denen gewinnen die anderen.
Walk on
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 14.09.02 22:02 
ExtractFilePath müßte einen Leerstring zurückgeben, wenn nur ein Verzeichnis übergeb wurde.
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Sa 14.09.02 22:24 
Wenn ein Backslash am Ende des Strings steht, gibt ExtractFilePath genau den gleichen String zurück -> keine Veränderung.

_________________
Viele Grüße
Jakob