Solved

listbox action

Posted on 2001-07-28
7
248 Views
Last Modified: 2010-04-06
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
Comment
Question by:marinedestroyer2
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 5

Expert Comment

by:alanwhincup
ID: 6329593
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
 
LVL 22

Expert Comment

by:Mohammed Nasman
ID: 6329595
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
 
LVL 1

Expert Comment

by:h_mohsenian
ID: 6329610
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!

 
LVL 1

Expert Comment

by:h_mohsenian
ID: 6329611
if it is related your last question!
0
 
LVL 5

Accepted Solution

by:
alanwhincup earned 100 total points
ID: 6329615
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
 
LVL 26

Expert Comment

by:Russell Libby
ID: 8734953
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

Independent Software Vendors: 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!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
In a recent question (https://www.experts-exchange.com/questions/29004105/Run-AutoHotkey-script-directly-from-Notepad.html) here at Experts Exchange, a member asked how to run an AutoHotkey script (.AHK) directly from Notepad++ (aka NPP). This video…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question