{"id":2029,"date":"2024-08-17T12:13:50","date_gmt":"2024-08-17T04:13:50","guid":{"rendered":"http:\/\/www.jh1999.cn\/?p=2029"},"modified":"2024-12-03T09:33:52","modified_gmt":"2024-12-03T01:33:52","slug":"intraweb%e6%90%9c%e7%b4%a2%e6%9f%90%e7%9b%ae%e5%bd%95%e4%b8%8b%e7%9a%84%e5%85%a8%e9%83%a8%e6%96%87%e4%bb%b6","status":"publish","type":"post","link":"http:\/\/www.jh1999.cn\/?p=2029","title":{"rendered":"Intraweb\u641c\u7d22\u67d0\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6"},"content":{"rendered":"<div class=\"gb-container gb-container-b3abba47\">\n\n<p class=\"wp-block-paragraph\">\u7528Intraweb\u5f00\u53d1\u6587\u4ef6\u7ba1\u7406\u7684\u4e91\u5e73\u53f0\uff0c\u5176\u4e2d\u4e00\u4e2a\u5173\u952e\u7684\u529f\u80fd\u662f\u641c\u7d22\u67d0\u4e2a\u76ee\u5f55\u4e0b\u7684\u5168\u90e8\u6587\u4ef6\uff0c\u5e76\u628a\u5b83\u4eec\u6392\u5217\u663e\u793a\u7ed9\u7528\u6237\u3002\u4e0b\u9762\u662f\u5b9e\u4f8b\u4ee3\u7801\uff0c\u5e03\u7f72\u5728 windows server 2006\u4e0a\u53d1\u6325\u6b63\u5e38\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9875\u9762\u521b\u5efa\u65f6\u7684\u4ee3\u7801<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>procedure TfmwlkShare.IWAppFormCreate(Sender: TObject);\nbegin\n  inherited;\n  regTop.Visible:=false;\n  regTop2.Visible:=false;\n  lblModule.Caption:='\u5171\u4eab\u6587\u4ef6';\n  olbMenu.ActivePanel:=olbMenu.Panels.Count-3;\n  sBaseShare:=IWServerController.ContentPath+'ShareFiles\\';\n  sBaseRecy:=IWServerController.ContentPath+'RecyFiles\\';\n  sBaseSecu:=IWServerController.sys_AppPath+'AttaFile\\SecFiles\\'+UserSession.sys_UsID+'\\';\n  hblMenu.HTMLText:='&lt;IMG src=\"lkMenu.png\" \/&gt;';\n  hblFind.HTMLText:='&lt;IMG src=\"lkFind.png\" \/&gt;';\n  \/\/\u6743\u9650\u663e\u793a\n  hblMenu.Enabled:=UserSession.qUser.FieldByName('ShareUp').asBoolean;\n  advGrid.Columns&#91;4].Visible:=UserSession.qUser.FieldByName('ShareUp').asBoolean;\n  advGrid.Columns&#91;7].Visible:=UserSession.qUser.FieldByName('ShareDel').asBoolean;\n  lblType.Caption:='1';\n  SearchFile(sBaseShare);\n  advGrid.SortSettings.Column:=8;\n  advGrid.QSort;\n  \/\/advGrid.AsyncUpdateAllCells;\/\/\u6b64\u5904\u53ef\u65e0\n  \/\/\u4e0a\u4f20\u540c\u540d\u6587\u4ef6\u662f\u5426\u8986\u76d6\u7684\u9009\u9879\n  bOverFile:=True;\n  Qry5.Close;\n  Qry5.SQL.Text:='select top 1 opValue from msOption where opType=''UploadOver'' ';\n  Qry5.Open;\n  if (Qry5.RecordCount =1) and (Copy(Qry5.FieldByName('opValue').AsString,1,1) &lt;&gt; '0') then\n    bOverFile:=False;\nend;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u5bfb\u627e\u5f53\u524d\u76ee\u5f55\u7684\u4e0b\u5c42\u6587\u4ef6\u5e76\u7ed8\u5236\u8868\u683c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>procedure TfmwlkShare.SearchFile(sFolder:String);\nvar\n  xDir:String;\n  xSearch:TSearchRec;\n  iI:Integer;\nbegin\n  advGrid.ClearCells;\n  iI:=0;\n  xDir:=IncludeTrailingPathDelimiter(sFolder);\n  if DirectoryExists(xDir) then\n  begin\n    if FindFirst(xDir+'*.*',faAnyFile,xSearch) = 0 then\n    begin\n      repeat\n        if(xSearch.Name &lt;&gt; '.') and (xSearch.Name &lt;&gt; '..') then\n        begin\n          iI:=iI+1;\n          advGrid.TotalRows:=iI;\n          advGrid.AsyncSetCell(1,iI-1,xSearch.Name);\n          if (xSearch.Attr=faDirectory) then\n          begin\n            advGrid.AsyncSetCell(2,iI-1,'');\n            advGrid.AsyncSetCell(3,iI-1,'');\n            advGrid.AsyncSetCell(8,iI-1,'D.'+copy(xSearch.Name,1,3));\n          end else\n          begin\n            advGrid.AsyncSetCell(2,iI-1,FormatDatetime('YYYY-MM-DD',TFile.GetLastWriteTime(xDir+xSearch.Name)));\n            advGrid.AsyncSetCell(3,iI-1,SizeToStr(xSearch.Size));\n            advGrid.AsyncSetCell(8,iI-1,'F.'+copy(xSearch.Name,1,3));\n          end;\n        end;\n      until FindNext(xSearch) &lt;&gt; 0;\n      FindClose(xSearch);\n    end;\n  end;\nend;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u641c\u7d22\u6587\u4ef6\u5e76\u663e\u793a\u641c\u7d22\u7ed3\u679c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>procedure TfmwlkShare.myFindFile(sFolder,sFile:String);\nvar\n  iRow:Integer;\n  procedure FindSubFile(const subFolder:TFileName);\n  var\n    xSearch:TSearchRec;\n  begin\n    \/\/\u76ee\u5f55\u91cc\u627e\u6587\u4ef6\n    if FindFirst(subFolder + sFile,faAnyFile,xSearch) = 0 then\n    begin\n      try\n        repeat\n          \/\/\u627e\u5230\u7684\u662f\u6587\u4ef6\n          if ((xSearch.Attr and faDirectory) =0) and\n              (xSearch.Name &lt;&gt; '.') and (xSearch.Name &lt;&gt; '..')then\n          begin\n            iRow:=iRow+1;\n            advGrid.TotalRows:=iRow;\n            advGrid.AsyncSetCell(1,iRow-1,StringReplace(subFolder,sFolder,'',&#91;]) + xSearch.Name);\n            advGrid.AsyncSetCell(2,iRow-1,FormatDatetime('YYYY-MM-DD',TFile.GetLastWriteTime(xSearch.Name)));\n            advGrid.AsyncSetCell(3,iRow-1,SizeToStr(xSearch.Size));\n            advGrid.AsyncSetCell(8,iRow-1,'F.'+copy(xSearch.Name,1,3));\n          end;\n        until FindNext(xSearch) &lt;&gt; 0;\n        FindClose(xSearch);\n      except\n        FindClose(xSearch);\n        raise;\n      end;\n    end;\n    \/\/\u76ee\u5f55\u91cc\u627e\u5b50\u76ee\u5f55\n    if FindFirst(subFolder + '*',faDirectory,xSearch)=0 then\n    begin\n      try\n        repeat\n          if ((xSearch.Attr and faDirectory)&lt;&gt;0) and\n              (xSearch.Name &lt;&gt; '.')and(xSearch.Name&lt;&gt;'..') then\n              FindSubFile(subFolder + xSearch.Name+'\\');\n        until FindNext(xSearch) &lt;&gt; 0;\n      except\n        FindClose(xSearch);\n        raise;\n      end;\n      FindClose(xSearch);\n    end;\n  end;\nbegin\n  try\n    iRow:=0;\n    FindSubFile(sFolder);   \/\/\u5728\u6307\u5b9a\u6216\u8fd4\u56de\u7684\u8def\u5f84\u4e2d\u67e5\u627e\n  except\n    raise;\n  end;\nend;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u51fd\u6570 FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer; <br>\u5176\u4e2dFileAttrs\u7684\u503c\u5982\u4e0b<br>faAnyFile 0 \u6240\u6709\u6587\u4ef6\u548c\u5b50\u76ee\u5f55<br>faReadOnly 1 Read-only files Current user does not have write access.<br>faHidden 2 Hidden files File name begins with &#8220;.&#8221;.<br>faSysFile 4 System files File is socket, symbolic link, device file, or FIFO.<br>faVolumeID 8 Volume ID files Not used.<br>faDirectory 16 Directory files Directory.<br>faArchive 32 Archive files Not used.<br>faSymLink 64 Symbolic link File is a symbolic link.<br>faAnyFile 71 Any file Any file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5c5e\u6027\u5224\u65ad\u65b9\u6cd5\uff1a(SearchRec.Attr and faHidden) &lt;&gt; 0 \u8868\u793a\u662f\u9690\u85cf\u6587\u4ef6<br>(xSearchRec.Attr and faDirectory) =0\u8868\u793a\u627e\u5230\u7684\u662f\u6587\u4ef6\u4e0d\u662f\u76ee\u5f55<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"609\" height=\"1024\" src=\"http:\/\/www.jh1999.cn\/wp-content\/uploads\/2024\/08\/girl3.1-609x1024.png\" alt=\"\" class=\"wp-image-2386\" style=\"width:220px;height:auto\" srcset=\"http:\/\/www.jh1999.cn\/wp-content\/uploads\/2024\/08\/girl3.1-609x1024.png 609w, http:\/\/www.jh1999.cn\/wp-content\/uploads\/2024\/08\/girl3.1-178x300.png 178w, http:\/\/www.jh1999.cn\/wp-content\/uploads\/2024\/08\/girl3.1.png 660w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/figure>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u7528Intraweb\u5f00\u53d1\u6587\u4ef6\u7ba1\u7406\u7684\u4e91\u5e73\u53f0\uff0c\u5176\u4e2d\u4e00\u4e2a\u5173\u952e\u7684\u529f\u80fd\u662f\u641c\u7d22\u67d0\u4e2a\u76ee\u5f55\u4e0b\u7684\u5168\u90e8\u6587\u4ef6\uff0c\u5e76\u628a\u5b83\u4eec\u6392\u5217\u663e\u793a\u7ed9\u7528\u6237\u3002 &#8230; <a title=\"Intraweb\u641c\u7d22\u67d0\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\" class=\"read-more\" href=\"http:\/\/www.jh1999.cn\/?p=2029\" aria-label=\"Read more about Intraweb\u641c\u7d22\u67d0\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\">\u9605\u8bfb\u66f4\u591a<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-2029","post","type-post","status-publish","format-standard","hentry","category-kfbj"],"_links":{"self":[{"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/posts\/2029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2029"}],"version-history":[{"count":10,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/posts\/2029\/revisions"}],"predecessor-version":[{"id":2387,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=\/wp\/v2\/posts\/2029\/revisions\/2387"}],"wp:attachment":[{"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2029"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.jh1999.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}