FindFirstFile 怎么用用,在线等,30分 ( 积分: 30 )

  • 主题发起人 主题发起人 darlingpeng
  • 开始时间 开始时间
D

darlingpeng

Unregistered / Unconfirmed
GUEST, unregistred user!
if&nbsp;FindFirst(ss&nbsp;+&nbsp;'/*.*',&nbsp;faAnyFile,&nbsp;sr)&nbsp;=&nbsp;0&nbsp;&nbsp;&nbsp;then<br><br>如何把这句的&nbsp;FindFirst&nbsp;改为&nbsp;FindFirstFile啊,帮帮小弟了,
 
小弟初学,在网上找了下,不太懂,有哪位大哥知道的,帮我一下了
 
procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);&nbsp;<br>var&nbsp;<br>&nbsp;&nbsp;FoundData:TWIN32FindData;&nbsp;<br>&nbsp;&nbsp;FindHandle:Thandle;&nbsp;<br>begin&nbsp;<br>&nbsp;&nbsp;FindHandle&nbsp;:=&nbsp;FindFirstFile(pchar('c:/io.sys'),FoundData);&nbsp;<br>&nbsp;&nbsp;try&nbsp;<br>&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;FindHandle&nbsp;&lt;&gt;&nbsp;INVALID_HANDLE_VALUE&nbsp;then&nbsp;<br>&nbsp;&nbsp;&nbsp;begin&nbsp;<br>&nbsp;&nbsp;&nbsp;//add&nbsp;your&nbsp;code&nbsp;here&nbsp;<br>&nbsp;&nbsp;&nbsp;end;&nbsp;<br>&nbsp;&nbsp;finally&nbsp;<br>&nbsp;&nbsp;&nbsp;CloseHandle(FindHandle);&nbsp;<br>&nbsp;&nbsp;end;&nbsp;<br>end;
 
好的,我试一下
 
to&nbsp;Avalon,<br>我用FindFirstFile<br>FindFirstFile(ss&nbsp;+&nbsp;'/*.*',&nbsp;faAnyFile,&nbsp;sr)<br>它怎么不认识&nbsp;/&nbsp;,报错啊
 
HANDLE&nbsp;FindFirstFile(<br><br>&nbsp;&nbsp;&nbsp;&nbsp;LPCTSTR&nbsp;lpFileName, //&nbsp;pointer&nbsp;to&nbsp;name&nbsp;of&nbsp;file&nbsp;to&nbsp;search&nbsp;for&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;LPWIN32_FIND_DATA&nbsp;lpFindFileData&nbsp; //&nbsp;pointer&nbsp;to&nbsp;returned&nbsp;information&nbsp;<br>&nbsp;&nbsp;&nbsp;);<br><br>LPWIN32_FIND_DATA&nbsp;lpFindFileData&nbsp;<br>lpFindFileData&nbsp;这个是一个结构体.<br>typedef&nbsp;struct&nbsp;_WIN32_FIND_DATA&nbsp;{&nbsp;//&nbsp;wfd&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwFileAttributes;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;FILETIME&nbsp;ftCreationTime;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;FILETIME&nbsp;ftLastAccessTime;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;FILETIME&nbsp;ftLastWriteTime;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;nFileSizeHigh;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;nFileSizeLow;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;dwReserved0;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;&nbsp;&nbsp;&nbsp;dwReserved1;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;TCHAR&nbsp;&nbsp;&nbsp;&nbsp;cFileName[&nbsp;MAX_PATH&nbsp;];&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;TCHAR&nbsp;&nbsp;&nbsp;&nbsp;cAlternateFileName[&nbsp;14&nbsp;];&nbsp;<br>}&nbsp;WIN32_FIND_DATA;<br><br>楼主调用时要定义一个变量:<br>如:<br>fdata:WIN32_FIND_DATA;<br>然后直接调用.<br>FindFirstFile(ss&nbsp;+&nbsp;'/*.*,fdata);<br>即可.
 
有没有哪位大哥告诉小弟,急啊
 
procedure&nbsp;myFind(ss:&nbsp;string);<br>&nbsp;&nbsp;var<br>&nbsp;&nbsp;&nbsp;&nbsp;sr:&nbsp;TSearchRec;<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;not&nbsp;Pn_Hint.Visible&nbsp;then&nbsp;Abort;&nbsp;&nbsp;//控制退出<br><br>&nbsp;&nbsp;&nbsp;&nbsp;RzLabel_H.Caption&nbsp;:=&nbsp;GetString('idsearch')&nbsp;+&nbsp;ss;<br>&nbsp;&nbsp;&nbsp;&nbsp;RzLabel_H.Repaint;<br>&nbsp;&nbsp;&nbsp;&nbsp;inc(pCount);<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;pCount&nbsp;&gt;&nbsp;5&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application.ProcessMessages;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pCount&nbsp;:=&nbsp;0;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;FindFirst(ss&nbsp;+&nbsp;'/*.*',&nbsp;faAnyFile,&nbsp;sr)&nbsp;=&nbsp;0&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repeat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ext&nbsp;:=&nbsp;UpperCase('*'&nbsp;+&nbsp;ExtractFileExt(sr.Name));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Ext&nbsp;&lt;&gt;&nbsp;'*')&nbsp;and&nbsp;(Ext&nbsp;&lt;&gt;&nbsp;'*.')&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;AnsiContainsStr(Exts,&nbsp;Ext)&nbsp;then&nbsp;//判断后缀名<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;IsEn(Pchar(ss&nbsp;+&nbsp;'/'&nbsp;+&nbsp;sr.Name))&nbsp;=&nbsp;0&nbsp;then&nbsp;//判断是否加密<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc(FCount);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;EnFile(Pchar(ss&nbsp;+&nbsp;'/'&nbsp;+&nbsp;sr.Name),&nbsp;305419890)&nbsp;=&nbsp;1&nbsp;then&nbsp;//加密文件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc(DCount);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Memo1.Lines.Add(ss&nbsp;+&nbsp;'/'&nbsp;+&nbsp;sr.Name);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;FindNext(sr)&nbsp;&lt;&gt;&nbsp;0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FindClose(sr);<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;RzLabel_H_2.Caption&nbsp;:=&nbsp;GetString('idfind')&nbsp;+&nbsp;IntToStr(FCount)&nbsp;+&nbsp;'&nbsp;&nbsp;&nbsp;'&nbsp;+&nbsp;GetString('idencrypt')&nbsp;+&nbsp;IntToStr(DCount)&nbsp;+&nbsp;'&nbsp;个';<br>&nbsp;&nbsp;&nbsp;&nbsp;RzLabel_H_2.Repaint;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;FindFirst(ss&nbsp;+&nbsp;'/*',&nbsp;faDirectory&nbsp;+&nbsp;faHidden&nbsp;+&nbsp;faSysFile,&nbsp;sr)&nbsp;=&nbsp;0&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repeat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(sr.Attr&nbsp;and&nbsp;faDirectory)&nbsp;=&nbsp;faDirectory&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(sr.Name[1]&nbsp;&lt;&gt;&nbsp;'.')&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;myFind(ss&nbsp;+&nbsp;'/'&nbsp;+&nbsp;sr.Name);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;until&nbsp;FindNext(sr)&nbsp;&lt;&gt;&nbsp;0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FindClose(sr);<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;end;<br><br>这是我用改的那个函数,现在要求把&nbsp;FindFirst&nbsp;改为&nbsp;FindFirstFile,改怎么弄
 
我现在有晕了头了,哪位大哥帮我看下了
 
小弟太菜了,有没有人能帮下我
 
哪位大哥能帮我,我再加20分了
 
有没有人能帮小弟啊
 
不好意思,现在才给分<br>问题已解决
 
后退
顶部