当前位置:主页>仓库管理软件> 列表

如何得到目錄名? 找设备维修管理软件

财务软件版1楼: 請問各位大俠,我如何得到一目錄名,
用OpenDialog1好像只能選擇文件,能否選目錄嗎?TKS

2楼: 用 TDirectoryListBox 看看? 如记账软件

3楼: 它的功能就是打开文件
可以用Samples选项卡的组件

4楼: 呵,OpenDialog当然可以.要改属性.

5楼: 呵,我错了,我以为有.其实没有.

6楼: ExtractFilePath(filename)

财务软件版7楼: 呵呵刚才那个是得到路径

这个吧:ExtractFileDir(FileName),

8楼: 在uses那里引用FileCtrl单元,以下代码可选择目录
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
if SelectDirectory(''浏览文件夹'','''',s) then
Form1.Caption := S; //S等于目录的路径
end;

9楼: 在Sample选项板中的ShellTreeView控件就可以了。
和SelectDirectory一样的效果。不过,可以自己随意修改那个选择目录的界面了。

10楼: 我的意思是像opendialog一樣,我只要選擇目錄,而opendialog是選擇文件!

11楼: 用API,SHBrowseForFolder

12楼: 如果是取執行文件的所在路徑更簡單
var
str:string;

str:=ParamStr(0); 如设备维修管理软件

13楼: procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
showmessage(ExtractFileDir(OpenDialog1.FileName));
end;

财务软件版14楼: uses FileCtrl;

procedure TForm1.Button1Click(Sender: TObject);
var
Dir: string;
begin
Dir := ''C:\'';
if SelectDirectory('''', ''C:'', Dir) then
ShowMessage(Dir);
end;

15楼: 用API,SHBrowseForFolder 搞定,謝謝,貼出來讓大家看看

uses ShellAPI, ShlObj;

procedure TForm1.Button1Click(Sender: TObject);
var
TitleName : string;
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
BrowseInfo.hwndOwner := Form1.Handle;
BrowseInfo.pszDisplayName := @DisplayName;


TitleName := ''Please specify a directory'';
BrowseInfo.lpszTitle := PChar(TitleName);
BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
ShowMessage(TempPath);
GlobalFreePtr(lpItemID);
end;
end;

16楼: 在uses那里引用FileCtrl单元,以下代码可选择目录
var
s: string;
begin
if SelectDirectory(''浏览文件夹'','''',s) then
nd;
要不自己做,也很简单的。

17楼: SelectDirectory 我感觉还是这个方法简单一些