Delphi ´ò¿ªÎļþ¼Ð·½·¨
µÚÒ»ÖÖ·½·¨,ʹÓÃSelectDirectory º¯Êý ,ÔÚShellApiÖÐ
procedure 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;
begin
case uMsg of
BFFM_INITIALIZED: SendMessage(Wnd, BFFM_SETSELECTION, 1, lpData);
end;
Result := 0;
end;
function BrowsFolder(const Folder: string): string;
var
TitleName: string;
lpItemID: PItemIDList;
BrowseInfo: TBrowseInfo;
DisplayName: array[0..MAX_PATH] of char;
TempPath: array[0..MAX_PATH] of char;
begin
Result := 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) then
begin
SHGetPathfromIDList(lpItemID, TempPath);
GlobalFreePtr(lpItemID);
Result := string(TempPath);
end
else
Ïà¹ØÎĵµ£º
¿ª·¢Õß¶¼Ï£Íû×Ô¼ºµÄ³ÌÐòÓÐÒ»¸öÓѺõĽçÃæ£¬´Ëʱ£¬Ò»¸öÉú¶¯»îÆÃ¡¢ÓбíÏÖÁ¦µÄ¹â±ê¾Í±Ø²»¿ÉÉÙÁË¡£Windows ȱʡÌṩ22ÖÖ±ê×¼¹â±ê¹©ÔÚ³ÌÐòÖе÷Ó㬵«¶ÔÒ»¸öÇóÐÂÇó±äµÄ³ÌÐòÔ±À´Ëµ£¬±ê×¼¹â±ê¾Í²»ÄÜÂú×ãÒªÇóÁË£¬ÐèҪʹÓÃ×Ô¼ºµÄ¹â±ê£¬ÄÇô£¬ÔÚ³ÌÐòÖÐÔõÑùʹÓÃ×Ô¼ºµÄ¹â±êÄØ£¿ ¡¡¡¡¡ñ¹â±ê×ÊÔ´µÄ»ñµÃ ¡¡¡¡ÒªÊ¹ÓÃ×Ô¶¨Òå¹â±ê£¬±ØÐëÏȵõ½Õâ ......
TCollection ÊÇTCollectionItenm¶ÔÏóµÄÒ»¸öÈÝÆ÷¡£
Àà¹ØÏµTObject→TPersistent
¡¡¡¡Ã¿Ò»¸öTCollection¶¼ÓµÓÐÒ»×éTCollectionItem¶ÔÏó¡£
¡¡¡¡ÔÚÆäItemsÊôÐÔÊý×éÖУ¬TCcllection±£´æ¼¯ºÏÏîÄ¿µÄÒ»¸öϱꡣCount ÊôÐÔ°üº¬Á˼¯ºÏµÄÏîÄ¿ÊýÁ¿¡£Ê¹ÓÃAddºÍClear·½·¨¿ÉÒÔÏò¼¯ºÏÖмÓÈëÏîÄ¿ºÍ´Ó¼¯ºÏÖÐɾ³ýÏîÄ¿¡£
¡¡¡¡´ÓTCollect ......
1£¬¹æ·¶¼ò½é
¡¡¡¡±¾¹æ·¶Ö÷Òª¹æ¶¨DelphiÔ´³ÌÐòÔÚÊéд¹ý³ÌÖÐËùÓ¦×ñѵĹæÔò¼°×¢ÒâÊÂÏî¡£±àд¸Ã¹æ·¶µÄÄ¿µÄÊÇʹ¹«Ë¾Èí¼þ¿ª·¢ÈËÔ±µÄÔ´´úÂëÊéдϰ¹ß±£³ÖÒ»Ö¡£ÕâÑù×ö¿ÉÒÔʹÿһ¸ö×éÔ±¶¼¿ÉÒÔÀí½âÆäËü×éÔ±µÄ´úÂ룬ÒÔ±ãÓÚÔ´´úÂëµÄ¶þ´Î¿ª·¢¼ÇÒäϵͳµÄά»¤¡£
2£¬Ò»°ã¸ñʽ¹æ·¶
2.1 Ëõ½ø
¡¡¡¡Ëõ½ø¾ÍÊÇÔÚµ±Ô´³ÌÐòµÄ¼¶¸Ä±äʱΪÔö¼ ......
1.SHIFT+Êó±ê×ó¼ü ÏÈÑ¡ÖÐÈÎÒ»¿Ø¼þ,°´¼üºó¿ÉÑ¡Öд°Ìå(Ñ¡Öпؼþºó°´EscЧ¹ûÒ»Ñù)
2.Shift+F8 µ÷ÊÔʱµ¯³öCPU´°¿Ú¡£
3.Shift+F10 µÈÓÚÊó±êÓÒ¼ü£¨Windows¿ì½Ý¼ ......
¶ÔÓÚÍøÂçÓÎÏ·À´Ëµ£¬ËüºÍµ¥»ú°æÓÎÏ·×î´óµÄÇø±ð¾ÍÔÚÓÚÍøÂçͨÐŲ¿·Ö¡£¿ÉÒÔ˵£¬ÍøÂçͨÐÅÊǹ¹³ÉÍøÓεÄ×î»ù±¾ÔªËØ¡£ÔÚÕâÀïÎÒ²»ÏëÏêϸµÄÂÛÊöÈçºÎʹÓÃDELPHIÔÚWINDOWSϽøÐÐÍøÂç±à³Ì£¬ÒòΪÕâÊÇÒ»¸ö·Ç³£¸´ÔӵϰÌâ¡£ÕâÀïÎÒÖ»ÊÇÏë˵Ã÷ÔÚÎÒÉè¼ÆµÄÆåÅÆÀàÓÎÏ·ÖÐÈçºÎʵÏÖÓÎÏ·ÍøÂ粿·ÖµÄ¡£
¶ÔÓÚWINDOWSÀ´Ëµ£¬ËüµÄͨÐÅÄ£ÐÍ´ó¸Å·ÖΪ5ÖÖ¡£·Ö± ......