2017-09-14 59 views
-4

我想在我的列表視圖中從目錄中刪除所選項目。如何使循環刪除目錄中的選定項目

procedure TFContact.BtnDeleteClick(Sender: TObject); 
var 
SecItem, BUFPath : string; 
i : Integer; 
begin 
    if ListViewTab5.Selected <> nil then 

    for i := 0 to ListViewTab5.Items.Count - 1 do 
    begin 
    SecItem:= TListViewItem(ListViewTab5.Selected).Text; 
    BUFPath:= '/storage/emulated/0/Backup/'+SecItem; 
    TFile.Delete(BUFPath); 
    end 
    else 
    ShowMessage('File Deleted Succesfully'); 
end; 
+0

什麼是你的問題? –

+0

你的意思是選中,未選中,不是嗎?順便說一句。循環不能有'else'分支。 – Victoria

+0

我的循環並沒有處理它從('/ storage/emulated/0/Backup /')列表視圖中選擇的項目中唯一刪除1項。 – Munir

回答

1

試試這個:

procedure TFContact.BtnDeleteClick(Sender: TObject); 
const 
    Path = '/storage/emulated/0/Backup/'; 
var 
    Item: TListViewItem; 
begin 
    for Item in ListView.Items do 
    if Item.Checked then 
     TFile.Delete(TPath.Combine(Path, Item.Text)); 
end; 
+1

我問錯了,因爲我看錯了地方。你有很好的技能來理解和猜測我的問題。我必須正確編寫,所以其他人可能不需要猜測 – Munir

+1

你需要做的,首先是努力學習如何調試。雖然您仍然無法調試,但您將無法取得進展。 –