打开文件的控件(opendialog)用普通的程序可以。但用active取路径会发生错误。
程序:
procedure TForm1.Button2Click(Sender: TObject);
begin
opendialog1.Execute;
showmessage(opendialog1.FileName);
end;
弹出的是乱码。
程序:
procedure TForm1.Button2Click(Sender: TObject);
begin
opendialog1.Execute;
showmessage(opendialog1.FileName);
end;
弹出的是乱码。
解决方案 »
- 让菜鸟头疼的数组问题?
- 明天回家啦,散分.........在此祝福CSDN中的所有朋友春节快乐......新的一年孕育新的希望........
- 菜鸟求救
- 关于cxgrid4.2 for D7输出到EXECL如何实现,大家帮个忙?
- 关于读取数据源的问题!
- 主键,也是自增字段 更新问题,急。
- 关于treeview的checkbox,动态提示等问题,我总结了一下,很片面,希望大家都能提出自己应用过程中的心得,把树形控件用好,用熟练。
- delphi怎样调用boland C++ builder 的lib
- 请问哪里有InstallShield V8.0下载?
- 一个很有难度的问题
- 关于dxdbgrid删除单笔时的问题,记录集已删,但网格中不Refresh!!!
- 在数据库中关于查询时间的问题,请各位帮帮忙.马上结算.
var
info:TOpenInfo;
lpstrFile:array[0..1000] of char;
lpstrFileTitle:array[0..1000] of char;
lpstrFilter:array[0..50] of char;
S:String;
begin
FillChar(lpstrFile,SizeOf(lpstrFile),0);
FillChar(lpstrFileTitle,SizeOf(lpstrFileTitle),0);
FillChar(lpstrFilter,SizeOf(lpstrFilter),0);
S:='文本文件';//注意这里
Move(S[1],lpstrFilter,Length(S));
S:='*.TXT';//注意这里
Move(S[1],lpstrFilter[9],Length(S)); info.lStructSize:=sizeof(info);
info.hWndOwner:=handle;
info.hInstance:=hinstance;
info.lpstrFilter:=lpstrFilter;
info.lpstrCustomFilter:=nil;
info.nMaxCustFilter:=0;
info.nFilterIndex:=1;
info.lpstrFile:=lpstrFile;
info.nMaxFile:=SizeOf(lpstrFile);
info.lpstrFileTitle:=lpstrFileTitle;
info.nMaxFileTitle:=SizeOf(lpstrFileTitle);
info.lpstrInitialDir:='c:\';
info.lpstrTitle:='Open Test';
info.Flags:=0;//OFN_ENABLESIZING+OFN_EXPLORER;
info.nFileOffset:=0;
info.nFileExtension:=0;
info.lpstrDefExt:='txt';
info.lCustData:=0;
info.lpfnHook:=nil;
info.lpTemplateName:='';
info.pvReserved:=0;
info.dwReserved:=0;
info.FlagsEx:=0;
try
if GetOpenFileName(@info) then
ShowMessage(info.lpstrFile);//文件名称
except
caption:=SysErrorMessage(getlasterror);
end;里面的参数很清楚,应该很容易看懂的。
ha ha ,很管用