晕,delphi 7 有两个版本的 SelectDirectory
以前用过delphi 2007的这个函数的,参数超多,现在的公司用D7,结果网上一查这个函数,用不成了,原来我用错了函数
unit QDialogs;
{$IFDEF LINUX}
function SelectDirectory(const Caption, Root: WideString;
var Directory: WideString; ShowHidden: Boolean = False): Boolean;
{$ENDIF}
{$IFDEF MSWINDOWS}
function SelectDirectory(const Caption: string; const Root: WideString;
out Directory: WideString): Boolean;
{$ENDIF}
{$IFDEF LINUX}
function SelectDirectory(const Caption, Root: WideString;
var Directory: WideString; ShowHidden: Boolean = False): Boolean;
var
Dlg: TDirSelDlg;
SaveDir: string;
begin
Dlg := TDirSelDlg.Create(Application);
try
SaveDir := Directory;
Result := Dlg.GetDirectory(Caption, Root, Directory, ShowHidden);
finally
Dlg.Free;
end;
end;
{$ENDIF}
function SelectDirectory(const Caption: string; const Root: WideString;
out Directory: WideString): Boolean;
var
WindowList: Pointer;
BrowseInfo: TBrowseInfo;
Buffer: PChar;
RootItemIDList, ItemIDList: PItemIDList;
ShellMalloc: IMalloc;
IDesktopFolder: IShellFolder;
Eaten, Flags: LongWord;
ActiveWindow: HWND;
begin
Result := False;
Directory := '';
FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);
if (ShGetMalloc(ShellMalloc) = S_OK) and (ShellMalloc <> nil) then
begin
Buffer := ShellMalloc.Alloc(MAX_PATH);
try
RootItemIDList := nil;
if Root <> '' then
begin
SHGetDesktopFolder(IDesktopFolder);
IDesktopFolder.ParseDisplayName(0, nil,
POleStr(Root), Eaten, RootItemIDList, Flags);
相关文档:
把以前做过的项目总结一下!参加工作以来一共用三种不同语言实现了获得文件夹及其子文件信息。为了方便以后使用总结一下
air实现:
private function getfile(filelist:File):Array{
var list:Array = filelist.getDirectoryListing();
var count:uint=list.length;
......
在Delphi中,Inifiles单元中有一个TStringHash的类,不过它的Value仅支持Integer(其实也不是问题,有其它类型可以将变量变为Pointer),有点不舒服,今天没事做就把它替换为variant了,其中Key的名称大小写无关,就是为了加快开发速度!
使用Hashtable,查找和删除复杂度都是常数级别的!
type
PPHashItem = ^PHashItem;
......
具体要求:
1、计算机及相关专业专科以上学历,有2年以上的工作经验;
2、精通Delphi并有运用Delphi成功开发项目的经验;
3、熟悉网络开发,有控件开发经验者优先考虑;
4、熟悉软件工程,具有良好的开发习惯,能正确使用版本控制工具;
5、具有很强的团队合作和吃苦耐劳的精神,具有一丝不苟的工作作风和认真负责的 ......
Procedure OnMouseWheel(Var Msg :TMsg;var Handled:Boolean);
begin
if Msg.message = WM_MouseWheel then
begin
if Msg.wParam > 0 then
begin
if DBGrid.Focused then
......
ADO 使用 ORACLE provider FOR OLE DB 驱动时
调用存储过程需要返回游标时,在连接字符串中增加
PLSQLRSet=1 参数。
存储过程中的游标不需要付初始值
如:
sp1: TADOStoredProc;
sp1.Close;
sp1.ProcedureName := 'pkg_ScanList_By_JobNo.sp_GetScanList';& ......