AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TFileOpenDialog für Dir mit Delphi 7

Ein Thema von Poelser · begonnen am 29. Apr 2021 · letzter Beitrag vom 30. Apr 2021
Antwort Antwort
Seite 1 von 2  1 2      
Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
145 Beiträge
 
Delphi 10.4 Sydney
 
#1

TFileOpenDialog für Dir mit Delphi 7

  Alt 29. Apr 2021, 12:31
Hallo zusammen!

Ich such' mir im Netz 'nen Wolf und werd' nicht fündig.

Für ein altes D7-Projekt muss ich eine Verzeichnis-Auswahl einbauen. Eigentlich ganz einfach, wenn man den Standard-Dialog von D7 nimmt (TSelectDirectory). Da aber kein altes OS mehr läuft, dachte ich, man kann ja TFileOpenDialog mit der Einstellung [..DirOnly oder so] nehmen.

Aber den gibt's ja nicht in D7. Alles, was ich gefunden habe, um das mit der API zu machen, hat in den Code-Beispielen nur den Standard-Dialog.

Hat jemand Code oder 'nen Link für D7 + moderner SelectDirectory-Dialog?
LG aus dem hohen Norden, Edmund
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#2

AW: TFileOpenDialog für Dir mit Delphi 7

  Alt 29. Apr 2021, 13:27
da wirdst'e wohl im MSDN selbsr suchen müssen
und die APIs nach Delphi portieren.

Das sind die neuen Vista-Dialoge, weil es seit da diese API gab und somit D7 es noch nicht kennen kann.

CLSID_FileOpenDialog: TGUID = '{DC1C5A9C-E88A-4dde-A5A1-60F82A20AEF7}'
Delphi-Quellcode:
{ TCustomFileOpenDialog }

function TCustomFileOpenDialog.CreateFileDialog: IFileDialog;
var
  LGuid: TGUID;
begin
{$IF DEFINED(CLR)}
  LGuid := Guid.Create(CLSID_FileOpenDialog);
{$ELSE}
  LGuid := CLSID_FileOpenDialog;
{$ENDIF}
  CoCreateInstance(LGuid, nil, CLSCTX_INPROC_SERVER,
    StringToGUID(SID_IFileOpenDialog), Result);
end;

function TCustomFileOpenDialog.GetResults: HResult;
begin
  if not (fdoAllowMultiSelect in Options) then
    Result := inherited GetResults
  else
  begin
    Result := (Dialog as IFileOpenDialog).GetResults(FShellItems);
    if Succeeded(Result) then
      Result := GetFileNames(FShellItems);
  end;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TFileOpenDialog für Dir mit Delphi 7

  Alt 29. Apr 2021, 15:11
LMD hat auch entsprechende TOpen/Save-Dialog im Vista-Style für älter Delphi.
Hier musst du aber evtl. eine älteren Stand der Bibliotheken versuchen zu bekommen.
Mit der neuesten 2021er Version/Edition unterstützen sie keine Antiken Versione mehr die älter als Delphi XE2 sind.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
145 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: TFileOpenDialog für Dir mit Delphi 7

  Alt 30. Apr 2021, 06:40
Moin,

@Himitsu: Das hatte ich mir schon gedacht, ich werd' das auf der Basis mal umsetzen. Wenn's zu kompliziert wird, muss die alte Anwendung eben im alten Style bleiben.
@Bernhard: Die LMD-Tools sind doch kostenpflichtig, oder? Ich glaub', da bekomm' ich kein Geld für locker gemacht - wäre auch mit Kanonen auf Spatzen schießen...
LG aus dem hohen Norden, Edmund
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TFileOpenDialog für Dir mit Delphi 7

  Alt 30. Apr 2021, 08:26
@Bernhard: Die LMD-Tools sind doch kostenpflichtig, oder? Ich glaub', da bekomm' ich kein Geld für locker gemacht - wäre auch mit Kanonen auf Spatzen schießen...
Wenn das im Beruflichen Umfeld unterwegs bist, ist selbst machen immer teurer als kaufen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#6

AW: TFileOpenDialog für Dir mit Delphi 7

  Alt 30. Apr 2021, 08:48
Zeit gegen Geld.

Oben die sehen ja zuerst das Geld, was "jetzt" rausgeht ... ob/was das Andere mit der "Zeit" kosten könnte, ist halt ne andere Sache.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
563 Beiträge
 
Delphi XE6 Enterprise
 
#7

AW: TFileOpenDialog für Dir mit Delphi 7

  Alt 30. Apr 2021, 09:03
Hat jemand Code oder 'nen Link für D7 + moderner SelectDirectory-Dialog?
Bei StackOverflow gibts mehrere Beispiele für Delphi 7 und sogar für Delphi 4.
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
629 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: TFileOpenDialog für Dir mit Delphi 7

  Alt 30. Apr 2021, 12:23
Hallo zusammen!

Ich such' mir im Netz 'nen Wolf und werd' nicht fündig.

Für ein altes D7-Projekt muss ich eine Verzeichnis-Auswahl einbauen. Eigentlich ganz einfach, wenn man den Standard-Dialog von D7 nimmt (TSelectDirectory). Da aber kein altes OS mehr läuft, dachte ich, man kann ja TFileOpenDialog mit der Einstellung [..DirOnly oder so] nehmen.

Aber den gibt's ja nicht in D7. Alles, was ich gefunden habe, um das mit der API zu machen, hat in den Code-Beispielen nur den Standard-Dialog.

Hat jemand Code oder 'nen Link für D7 + moderner SelectDirectory-Dialog?
Habe hier eine Freeware ShellBrowser Komponente angehängt, die ich seit Jahren nutze und die ich selber noch etwas erweitert habe. Die läuft in D7 seit Jahren produktiv in meinen Anwendungen. Das müsste genau das sein was du suchst. Die anderen Posts hier leiten dich leider in die Irre und bringen dich nicht zu dem was du eigentlich suchst. Mit dem Open/Save Dialog hat das nichts zu tun.

Im Zip fehlt noch ein Package (dpk), das es aber bei mir nicht gibt, weil ich die Komponente selber in einem eigenen Packge mit diversen anderen Komponenten integriert habe. Ein eigenes Package dafür zu ertellen solltest du aber sicher hinkriegen. Die Registrierungs-Unit und das dcr sind ja dabei.
Miniaturansicht angehängter Grafiken
shellbrowser.png  
Angehängte Dateien
Dateityp: zip BrowseFolder.zip (8,8 KB, 7x aufgerufen)

Geändert von Rolf Frei (30. Apr 2021 um 13:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: TFileOpenDialog für Dir mit Delphi 7

  Alt 30. Apr 2021, 13:08
Zitat:
Habe hier eine Freeware ShellBrowser Komponente angehängt, die ich seit Jahren nutze und die ich selber noch etwas erweitert habe. Die läuft in D7 seit Jahren produktiv in meinen Anwendungen. Das müsste genau das sein was du suchst. Die anderen Posts hier leiten dich leider in die Irre und bringen dich nicht zu dem was du eigentlich suchst. Mit dem Open/Save Dialog hat das nichts zu tun.
Dein Wissenstand ist hier Pre-Vista.
Ab Vista ist der Verzeichnis-Auswahldialog gleich dem Datei Öffnen-Dialog und nur über ein Flag wird das verhalten gesteuert.
Dein Dialog ist der (Ur-)alte dedizierte Verzeichnis-Auswahldialog.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Poelser

Registriert seit: 21. Apr 2008
Ort: Europa
145 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: TFileOpenDialog für Dir mit Delphi 7

  Alt 30. Apr 2021, 13:12
Habe hier eine Freeware ShellBrowser Komponente angehängt, die ich seit Jahren nutze und die ich selber noch etwas erweitert habe. Die läuft in D7 seit Jahren produktiv in meinen Anwendungen. Das müsste genau das sein was du suchst. Die anderen Posts hier leiten dich leider in die Irre und bringen dich nicht zu dem was du eigentlich suchst. Mit dem Open/Save Dialog hat das nichts zu tun.

Im Zip fehlt noch ein Package (dpk), das es aber bei mir nicht gibt, weil ich die Komponente selber in einem eigenen Packge mit diversen anderen Komponenten integriert habe. Ein eigenes Package dafür zu ertellen solltest du aber sicher hinkriegen. Die Registrierungs-Unit und das dcr sind ja dabei.
Ganz großes Danke, das ist genau das was ich gesucht habe. Dafür gibt's auch ein virtuelles Bier
LG aus dem hohen Norden, Edmund
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:06 Uhr.
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