簡體   English   中英

在Delphi 10.1中使用Abbrevia進行文件出現檢查

[英]File occurance check with Abbrevia in Delphi 10.1

我正在嘗試檢查特定文件的zip文件內容(拖放),並且正在使用類似下面的方法;

procedure TForm1.DropTarget1Dropped(Sender: TObject; const Data: TDragObject;
  const Point: TPointF);
  var i:Integer;
begin
AbZipKit1.FileName := Data.Files[0];
if AbZipKit1.FindFile('readme.txt')>0 then showmessage(‘exists’) else
  begin
   showmessage(‘non-exists’);
end;
end;

為此,我創建了2個zip文件,並在兩個文件中都添加了兩個txt文件(readme.txt和test.txt)。 但要添加第一個文件:我先添加了“ readme.txt”文件,而不是“ test.txt”文件。 對於第二個,我添加了“ test.txt”而不是“ readme.txt”。 我的意思是我已經更改了文件添加順序。

刪除第一個文件后,程序將顯示一條消息“存在”,而第二個文件顯示“不存在”。 我認為FindFile方法僅搜索zip內容的第一個文件。 有沒有正確的方式搜索文件而不關心訂單的方法? 謝謝。

FindFile返回文件的索引。 您描述的方案為0或1。 因此,測試>0是錯誤的。 如果目標文件是ZIP容器中的第一個文件,則其索引為0

找不到文件時,返回索引-1 因此,將>0替換為<> - 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM