Solved

listbox action

Posted on 2001-07-28
7
247 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
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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
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

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

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

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

809 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