Autor Beitrag
Jack911
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Sa 07.01.06 19:51 
Mein Problem ist folgendes:

In meinem Programm soll nach einem Button-Klick ein besimmter Ordner nach Dateien durchsucht werden.

- Soweit noch kein Problem. -

Jetzt meine Frage:

Die Dateien sollen aufgelistet werden und mit einer Checkbox oder so ausgewählt werden können.

Geht das?
Wenn ja, wie?


Schon mal Danke.
SandroExner
Hält's aus hier
Beiträge: 2


Delphi 4
BeitragVerfasst: Mi 11.01.06 11:42 
Hallo.

Ich denke der standart Fall währe, die Dateinahmen die gefunden wurden, in eine Listbox zu schreiben. Wo sie durch einen Doppelclick ausgewählt werden können und du über den Index des Listenfeldes den Dateinamen wieder heraus lesen kannst. Das Verzeichnis wo sie stehen, kennst du ja noch von der Suche. Oder meintest du mit "Checkbox" die möglichkeit mehere Dateien auszuwählen?

MFG Sandro
Jack911 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 11.01.06 15:37 
Genau da liegt das Problem.

Mit einer Listbox kann man, soviel ich weiß, aber nur eine Datei auswählen, ich will aber mehrere Dateien auswählen.

Um genauer zu werden:
Beispiel:

Im Verzeichnis befinden sich zehn Dateien, die sollen aufgelistet werden.
Von den zehn Dateien, will ich dann sechs auswählen und diese z.B. nach einem Button-Klick in ein anderes Verzeichnis kopieren.

MFG Jack
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Mi 11.01.06 15:39 
Eine ListBox hat die Eigenschaft "MultiSelect" ! Wenn diese True ist, kann man auch mehrere auswählen !
Hier bietet sich mglw. die CheckListBox an.

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Mi 11.01.06 15:57 
Beispiel, wenn auf dem Formular eine CheckListBox mit Namen CheckListBox1 existiert :
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button1Click(Sender: TObject);
var SearchRec : TSearchRec;
    errorcode : Integer;
begin
  errorcode := FindFirst('c:\test\*.txt', faAnyFile, SearchRec);
  if errorcode = 0 then CheckListBox1.Items.Add(SearchRec.name);
  while errorcode = 0 do
  begin
    errorcode := FindNext(SearchRec);
    CheckListBox1.Items.Add(SearchRec.name);
  end;
  FindClose(Searchrec);
end;


Durchsucht das verzeichnis c:\test nach TextDateien und schreibt das Ergebnis in die CheckListBox.

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
Jack911 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 11.01.06 21:21 
Danke chrisw.

Das ist genau das was ich gesucht habe.

Hab mit dem Quellcode nur noch ein Problem.
Die letzte Datei im Verzeichnis wird immer doppelt aufgelistet.

Warum? und wichtiger
Wie kann ich das abstellen?
chrisw
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 439
Erhaltene Danke: 3

W2K
D7
BeitragVerfasst: Do 12.01.06 07:36 
Oh, sorry !!
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var SearchRec : TSearchRec;
    errorcode : Integer;
begin
  errorcode := FindFirst('c:\test\*.txt', faAnyFile, SearchRec);
  while errorcode = 0 do
  begin
    CheckListBox1.Items.Add(SearchRec.name);
    errorcode := FindNext(SearchRec);
  end;
  FindClose(Searchrec);
end;

_________________
Man sollte keine Dummheit zweimal begehen, die Auswahl ist schließlich groß genug.
Jack911 Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Do 12.01.06 18:01 
Wunderbar funktioniert perfekt.

Hab noch ein

CheckListBox1.Clear;

an den Anfang gesetzt, dass die Dateien bei wiederholtem klicken nicht mehrmals aufgeführt werden.


Danke für die Hilfe