AGB  ·  Datenschutz  ·  Impressum  







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

Verzeichnisnamen ermitteln mit OpenDialog

Ein Thema von Coder · begonnen am 6. Jan 2006 · letzter Beitrag vom 6. Jan 2006
Antwort Antwort
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
203 Beiträge
 
Delphi 3 Professional
 
#1

Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 13:28
Wie kann ich den Verzeichnisnamen ermitteln, ohne daß ich in Opendialog eine Datei anklicken muß?

Manchmal möchte ich den Dateinamen eines leeren Verzeichnisses ermitteln.
Damit die User darin speichern können.
Beenden kann ich open dialog allerdings nur erfolgreich, wenn ich ein File anklicke.

Was kann ich machen?
ICQ: 204141443
Delphi 3 Professional, Intel 2x 2,4Ghz, 3 GB-Graka, Sound-onBrd, --
außerdem D2S, D3Pro, D4S, D5S, D6S, D7S + Indy, Lazarus, VB5Std, VC++5Pro, Tasm4+5 - was braucht man mehr?
-
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 13:31
In dem du den entsprechenden Dialog dafür benutzt: Hier im Forum suchenBrowseForFolder.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 13:41
Hallo.

Manchmal hilft schon SelectDirectory() aus der Unit FileCtrl.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 13:48
In der Code-Library steht darüber auch etwas.
  Mit Zitat antworten Zitat
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
203 Beiträge
 
Delphi 3 Professional
 
#5

Re: Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 14:15
ab welcher Version gibt es den
Browseforfolder?

die 3 er hat ihn wohl noch nicht
ICQ: 204141443
Delphi 3 Professional, Intel 2x 2,4Ghz, 3 GB-Graka, Sound-onBrd, --
außerdem D2S, D3Pro, D4S, D5S, D6S, D7S + Indy, Lazarus, VB5Std, VC++5Pro, Tasm4+5 - was braucht man mehr?
-
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 14:23
Probiers mal mit folgender Funktion:

Delphi-Quellcode:
function GetFolder: string;
var
  bi: TBROWSEINFO;
  lpBuffer: PChar;
  pidlPrograms,
  pidlBrowse: PItemIDList;
  ShellH: IMalloc;
begin
  if (not SUCCEEDED(SHGetSpecialFolderLocation(0, 0,
                                               pidlPrograms))) then
    Exit;
  try
    GetMem(lpBuffer, MAX_PATH);
    try
      bi.hwndOwner:=GetActiveWindow;
      bi.pidlRoot:=pidlPrograms;
      bi.pszDisplayName:=lpBuffer;
      bi.lpszTitle:='Zielverzeichnis wählen';
      bi.ulFlags:=BIF_RETURNONLYFSDIRS;
      bi.lpfn:=NIL;
      bi.lParam:=0;
      pidlBrowse:=SHBrowseForFolder(bi);

      if (pidlBrowse <> nil) and (SHGetPathFromIDList(pidlBrowse,
                                                      lpBuffer)) then
        Result:=lpBuffer;
    finally
      FreeMem(lpBuffer);
    end;
  finally
    if SHGetMalloc(ShellH) = NOERROR then
       ShellH.Free(pidlBrowse);
  end;
end;
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Benutzerbild von Coder
Coder

Registriert seit: 27. Feb 2004
Ort: Bochum
203 Beiträge
 
Delphi 3 Professional
 
#7

Re: Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 14:28
mhh, danke
es ging viel leichter mit : SelectDirectory

Delphi-Quellcode:
var Dir:String
begin
Dir := ExtractFileDir(Application.ExeName);
if SelectDirectory (Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then
    form3.Edit1.Text := Dir;
end;
^^ ist ja richtig komfortabel der Dialog...
Spitze!


aber: ab welcher Version gibt es den Browseforfolder?

die 3 er hat ihn wohl noch nicht
ICQ: 204141443
Delphi 3 Professional, Intel 2x 2,4Ghz, 3 GB-Graka, Sound-onBrd, --
außerdem D2S, D3Pro, D4S, D5S, D6S, D7S + Indy, Lazarus, VB5Std, VC++5Pro, Tasm4+5 - was braucht man mehr?
-
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 15:43
Zitat von Coder:
aber: ab welcher Version gibt es den Browseforfolder?
Das hat nichts mit der Delphi Version zu tun, das ist eine Windows API Funktion.

Warum steht das eigentlich unter "Programmieren allgemein"?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 15:45
dann wird er wissen wollen in welcher unit die funktion declariert ist damit er sie verwenden kann bzw. ab welcher delphiversion die declaration in irgend einer unit vorhanden ist. Natürlich kann er die funktion auch manuell importieren aber es ist doch bedeutend einfach einfach eine unit einzubinden.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Verzeichnisnamen ermitteln mit OpenDialog

  Alt 6. Jan 2006, 15:46
Zitat von Coder:
ab welcher Version gibt es den Browseforfolder?
Das müsste eine API-Funktion sein. MSDN-Library durchsuchenBrowseForFolder Hast du ShellAPI in die Uses-Klausel übernommen?

EDIT: Sorry, hab Luckies Post nicht gesehen.

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:55 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