[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 253
  • Last Modified:

listbox action

I would like to know how to read every line from a listbox and then doing something. For example, the listbox has the full path names of files...and then the user clicks a button and these files in the listbox is deleted.
0
marinedestroyer2
Asked:
marinedestroyer2
1 Solution
 
alanwhincupCommented:
You could do it like this:

To use it just put a ListBox and Button component on a form and put the following code under the Button's OnClick event.

procedure TForm1.Button1Click(Sender: TObject);
var
  I : Integer;
begin
  if ListBox1.Items.Count > 0 then
  begin
    for I := 0 to ListBox1.Items.Count - 1 do
    begin
      if FileExists(ListBox1.Items[I]) = True then
        DeleteFile(ListBox1.Items[I])
      else
        ShowMessage('File does not exist.');
    end;
  end
  else
    ShowMessage('No files listed.');
end;

Cheers,

Alan
0
 
Mohammed NasmanSoftware DeveloperCommented:
Hello

  if you want to delete every file in the list box by click on it, just add this code in onclick event

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  DeleteFile(ListBox1.Items.Strings[ListBox1.ItemIndex]);
end;

but if you want to select some items then to delete them i on click, set the MulitSelect for Listbox to true, and add button and write this code

procedure TForm1.Button1Click(Sender: TObject);
  var
    I : integer;
begin
  for I := 0 to ListBox1.Items.Count -1 do
    if ListBox1.Selected[I] then
      DeleteFile(ListBox1.Items.Strings[I]);

end;
Mohammed
0
 
h_mohsenianCommented:
hi , marinedestroyer2

i had written your answer at the end of your last question.

hamed
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
h_mohsenianCommented:
if it is related your last question!
0
 
alanwhincupCommented:
Here is an improved version of my example:

procedure TForm1.Button1Click(Sender: TObject);
var
  I : Integer;
begin
  if ListBox1.Items.Count > 0 then
  begin
    I := 0;
    while I <> ListBox1.Items.Count do
    begin
      if FileExists(ListBox1.Items[I]) = True then
      begin
        if DeleteFile(ListBox1.Items[I]) = False then
          ShowMessage('File "' + ListBox1.Items[I] + '" could not be deleted.')
        else
        begin
          ListBox1.Items.Delete(I);
          Dec(I);
        end;
      end
      else
        ShowMessage('File "' + ListBox1.Items[I] + '" does not exist.');
      Inc(I);
    end;
    if ListBox1.Items.Count = 0 then
      ShowMessage('All files deleted succesfully.');
  end
  else
    ShowMessage('No files listed.');
end;
0
 
Russell LibbySoftware Engineer, Advisory Commented:
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

Accept alanwhincup's comment as answer

Please leave any comments here within the next seven days.
 
PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER!
 
Thank you,
Russell

EE Cleanup Volunteer
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now