delphi中打开程序文件夹|delphi 程序文件怎么打开

⑴ delphi中怎么用什么命令打开文件夹

扫描文件夹里面有哪些文件应该使用findfirst、findnext,下面是我程序里面的一个自定义函数,用来把指定目录下的文件清单写入一个字符串里面,可以writeln输出(writeln(DirListStr('c:\windows\*.exe'))),或者存放到memo里面。function DirListStr(const FileName: string): string;var SearchRec: TSearchRec; ok: integer; attrs: string[5];begin ok:=FindFirst(filename,$3f,SearchRec); Result:='Directory of '+filename; while ok=0 do begin with SearchRec do begin if Attr and $10 <> 0 then attrs[1]:='D' else attrs[1]:='-'; if Attr and $20 <> 0 then attrs[2]:='A' else attrs[2]:='-'; if Attr and $4 <> 0 then attrs[3]:='S' else attrs[3]:='-'; if Attr and $2 <> 0 then attrs[4]:='H' else attrs[4]:='-'; if Attr and $1 <> 0 then attrs[5]:='R' else attrs[5]:='-'; setlength(attrs,5); Result:=Result+#13#10+attrs+' '+DateTimeToStr(FileDateToDateTime(time))+#9+IntToStr(size)+#9+Name; end; ok:=FindNext(SearchRec); end; FindClose(SearchRec);end;

⑵ delphi打开文件的各种方法

第一种方法,使用SelectDirectory 函数 ,在ShellApi中procere TForm2.BtSelectPathClick(Sender: TObject);var strCaption,strDirectory:String; wstrRoot:WideString; begin strCaption:='这是浏览文件夹的说明文字,可以根据需要进行书写。' +#13#10+'一般二行文字就满了。'; //该参数是浏览文件夹窗口的显示说明部分 wstrRoot:=''; //这个参数表示所显示的浏览文件夹窗口中的根目录,默认或空表示“我的电脑”。 SelectDirectory(strCaption,wstrRoot,strDirectory); EdLocalPath.Text:=strDirectory;end;第二种方法要求:利用Win32 API SHBrowseForFolder开启一个选择文件目录的对话框,预先定位到默认的目录,最后返回所选择的结果,如果没有进行选择(即单击“取消”结束选择)则返回空''。代码如下:(以下两个函数定义需要在uses中引入两个单元ShlObj,Windows;)function BrowseCallbackProc(Wnd: HWND; uMsg: UINT; lParam, lpData: LPARAM): Integer stdcall;begincase uMsg of BFFM_INITIALIZED: SendMessage(Wnd, BFFM_SETSELECTION, 1, lpData);end;Result := 0;end;function BrowsFolder(const Folder: string): string;varTitleName: string;lpItemID: PItemIDList;BrowseInfo: TBrowseInfo;DisplayName: array[0..MAX_PATH] of char;TempPath: array[0..MAX_PATH] of char;beginResult := Folder;FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);BrowseInfo.hwndOwner := GetActiveWindow;BrowseInfo.pszDisplayName := @DisplayName;TitleName := '请选择一个目录';BrowseInfo.lpszTitle := PChar(TitleName);BrowseInfo.ulFlags := BIF_RETURNONLYFSDIRS;BrowseInfo.lpfn := BrowseCallbackProc;BrowseInfo.lParam := Integer(PChar(Folder));lpItemID := SHBrowseForFolder(BrowseInfo);if Assigned(lpItemId) thenbegin SHGetPathFromIDList(lpItemID, TempPath); GlobalFreePtr(lpItemID); Result := string(TempPath);endelse Result:='';end; 函数BrowsFolder是主体,传入参数即默认的目录,返回值即选择的结果。BrowseCallbackProc是由SHBrowseForFolder执行时需要的回调(Call Back)函数。在这个函数中,截取了BFFM_INITIALIZED消息,在目录选择对话框初始化的时候,向对话框发送一个BFFM_SETSELECTION消息,选中默认的目录。

⑶ 如何在Delphi中实现双击打开相应文件

在Delphi中实现双击打开相应文件,可以使用控件来完成,比如CnShellListView 等,可以直接显示文件,双击时自动打开。

如果是自己编写代码响应双击事件,来完成打开相应文件的操作,通常是使用 shellExcute 函数:

shellexecute(handle,'open',pchar(文件名),nil,nil,sw_show);

⑷ 问,编写delphi程序,怎样打开指定路径的文件

打开的数据文件可以不带路径,此时打开的文件和exe文件在同一个文件夹中。若要打开指定路径的数据文件,此时应采用带路径(相对路径或绝对路径均可)的文件名。若要在程序运行时交互式地选择,请使用opendialog 对话控件。

⑸ delphi中如何编写当点击按钮时打开该程序某文件夹下的exe程序

我程序里面的语句例子:const ym_web_url1: pchar = 'http://www.xxx.com/ymessage.exe';procere TYMessageMainForm.itmWebClick(Sender: TObject);begin if Application.MessageBox('功能菜单里面的升级功能更好用,升级更方便。'#13#10' 选“是”进入升级功能,选“否”继续进行下载',ProgramTitle,MB_YESNO)=IDYES then UpdateVersion(1) else ShellExecute(0, Nil, ym_web_url, Nil, Nil, SW_MAXIMIZE);end;我这里执行的exe在网络上,能完成下载,如果是本地文件,就能启动。

⑹ delphi 打开跟程序同目录的文件

要利用ParamStr函数,ParamStr(0)能获取EXE文件名,然后用ExtractFileDir函数取出目录名,看我下面的例子程序:{$apptype console}program temp;uses sysutils;var s:string;begin s:=ExtractFileDir(ParamStr(0)); s:=s+'\abc\kk.txt'; writeln(s);end.以上程序在DELPHI7下运行通过。

⑺ DELPHI 如何打开同目录下的程序

有一个函数可以获取应用程序所在文件夹的路径extractfilepath 利用这个函数可以使你实现你所说的功能extractfilepath(application.exename);然后你可以使用api函数运行你同文件夹下的程序了函数原型:function ExtractFilePath(const FileName: string): string; 返回文件的路径application.exename或者是Paramstr(0)都可以使用 ExtractFilePath(application.exename)或者 ExtractFilePath(paramstr(0))这两个都可以返回你应用程序所在文件夹路径

⑻ delphi 程序文件怎么打开

用文件关联来实现呀!比如安装了office后,后缀是.doc的文件会和word关联在一起,双击这个文件,就会用word来打开。如果想自己创建关联关系,就必须从注册表入手。给你一个例子,你改一下就可以了。下面的代码会把后缀是.me的文件和Notepad关联在一起:procere TForm1.Button1Click(Sender: TObject);var lphKey: HKEY; sKeyName: string; sKeyValue: string;begin sKeyName := 'ReadMeFile'; sKeyValue := '说明文档'; RegCreateKey(HKEY_CLASSES_ROOT, pchar(sKeyName), lphKey); RegSetValue(lphKey, '', REG_SZ, pchar(sKeyValue), 0); sKeyName := '.me'; sKeyValue := 'ReadMeFile'; RegCreateKey(HKEY_CLASSES_ROOT, pchar(sKeyName), lphKey); RegSetValue(lphKey, '', REG_SZ, pchar(sKeyValue), 0); sKeyName := 'ReadMeFile'; sKeyValue := 'c:\Win95\NotePad.exe %1'; { 注意路径 } RegCreateKey(HKEY_CLASSES_ROOT, pchar(sKeyName), lphKey); RegSetValue(lphKey, 'shell\open\command', REG_SZ, pchar(sKeyValue), MAX_PATH);end;

⑼ 请说明delphi 打开相对路径文件文件夹的语句怎么写

str:=ExtractFilePath(Application.ExeName);这是程序的运行路径ShellExecute(Handle,'open',PChar(str+'MULU\'),nil,nil,1);打开文件夹注意引用:ShellAPI单元

⑽ DELPHI访问自身程序所在目录的其他文件

动态获取程序所在目录,通常的代码如下:

varExePath:string;beginExePath:=ExtractFilePath(Application.ExeName)+'project2.exe';ShowMessage(ExePath);end;

再 ShellExecute 或是 WinExec 执行 ExePath。


赞 (0)