AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ordnerinhalt in Listbox laden; Items als Buttons benutzen
Thema durchsuchen
Ansicht
Themen-Optionen

Ordnerinhalt in Listbox laden; Items als Buttons benutzen

Ein Thema von DRPEnc · begonnen am 15. Mär 2004 · letzter Beitrag vom 15. Mär 2004
Antwort Antwort
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#1

Ordnerinhalt in Listbox laden; Items als Buttons benutzen

  Alt 15. Mär 2004, 13:40
Ok klingt alles ein bisschen komisch...

Was ich nun mal wieder will:

Ich klicke auf einen Knopf und es soll der Inhalt eines bestimmten Ordners in eine Listbox wandern.

Ich hab dafür diese Source gefunden

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s, path: string;
  i : integer;
  stl : tstringlist;
begin
   path:='c:\Test\*.*'#0;
   s := path;

   ListBox1.Perform(LB_DIR, DDL_READWRITE, LongInt(@s[1]));
   listbox1.ItemIndex:=0;

  stl:=tstringlist.Create;
  try
    for i := 0 to listbox1.items.count - 1 do
    begin
      stl.Add(listbox1.items.strings[listbox1.itemindex]);
      listbox1.ItemIndex:=listbox1.ItemIndex+1;
    end;
    listbox1.Items.CommaText:=stl.commatext;
  finally
    stl.Free;
  end;
end;
Leider passt diese nicht ganz für mich. Der Pfad zu dem Ordner steht bei mir in einer Edit. Zum Beispiel 'c:\Test\*.*' steht in Edit1. Wie kann ich es lösen, dass der Pfad von Edit1 hergenommen wird?

Nun sind alle Dateien in der Liste.
Es sollte nun möglich sein, wenn man auf einen der Items, zum Beispiel Item1 sollte nun als Button funktionieren, welcher eine bestimmte Aktion ausführt. Z.B. ein Message Dialog mit 'Auf Item1 geklickt'.
Wenn ich nun auf Item2 klicke sollte ein Message Dialog mit 'Auf Item2 geklickt' erscheinen.

Das mit den MessageDialogen dient nur als Beispiel. Ich hab was ganz anderes vor, aber somit ist es einfacher.

Zusammenfassung des Problems:

Ordnerinhalt in Listbox einlesen und Items als verschiedene Buttons benutzen.

[edit=sakura] Titel korrigiert. Mfg, sakura[/edit]
CU

DRPEnc
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Ordnerinhalt in Listbox laden; Items als Buttons benutze

  Alt 15. Mär 2004, 13:51
Zitat von DRPEnc:
Leider passt diese nicht ganz für mich. Der Pfad zu dem Ordner steht bei mir in einer Edit. Zum Beispiel 'c:\Test\*.*' steht in Edit1. Wie kann ich es lösen, dass der Pfad von Edit1 hergenommen wird?
In dem du den Inhalt des Edits an die Variable Path übergibst?

Zitat:
Nun sind alle Dateien in der Liste.
Es sollte nun möglich sein, wenn man auf einen der Items, zum Beispiel Item1 sollte nun als Button funktionieren, welcher eine bestimmte Aktion ausführt. Z.B. ein Message Dialog mit 'Auf Item1 geklickt'.
Wenn ich nun auf Item2 klicke sollte ein Message Dialog mit 'Auf Item2 geklickt' erscheinen.
TListbox kennt das Ereignis OnClick und mit ItemIndex bekommst du den Index des Items auf den geklickt wurde. Die Eigenschaft Items ist vom Typ TStrings, ergo Items[Listbox1.ItemIndex] ist der Inhalt des geklickten Itmes als String.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
ims

Registriert seit: 23. Jul 2003
Ort: Sirnach
157 Beiträge
 
Delphi 7 Professional
 
#3

Re: Ordnerinhalt in Listbox laden; Items als Buttons benutze

  Alt 15. Mär 2004, 13:53
hi DRPEnc

und wie die übergabe geht (s. Luckie) kannst du aus meinen Beitrag zu deinem anderen Thema entnehmen


gruss, dave
  Mit Zitat antworten Zitat
DRPEnc

Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
 
#4

Re: Ordnerinhalt in Listbox laden; Items als Buttons benutze

  Alt 15. Mär 2004, 13:56
Problem mit den Buttons gelöst:

Delphi-Quellcode:
procedure TForm1.ListBox3Click(Sender: TObject);
var
path, Filename : string;
begin
Path := Edit6.text+'\';
Filename := Path + Listbox3.Items[Listbox3.ItemIndex];
Listbox3.Items.LoadFromFile(Filename); // öffnen
end;
@ims: Sorry Ich bin ein bisschen zerstreut. Link mir nochmal das andere Thema. THX ... meinst du diesen? Open.Dialog/Initial.Dir

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  s, path: string;
  i : integer;
  stl : tstringlist;
begin
   path:=Edit6.text+'*.*'#0;
   s := path;

   ListBox1.Perform(LB_DIR, DDL_READWRITE, LongInt(@s[1]));
   listbox1.ItemIndex:=0;

  stl:=tstringlist.Create;
  try
    for i := 0 to listbox1.items.count - 1 do
    begin
      stl.Add(listbox1.items.strings[listbox1.itemindex]);
      listbox1.ItemIndex:=listbox1.ItemIndex+1;
    end;
    listbox1.Items.CommaText:=stl.commatext;
  finally
    stl.Free;
  end;
end;
hmm... irgendwas ist falsch

Dieses doofe #0 mag irgendwie nicht mit variablen...

Lol! Habs hinbekommen:

path :=Edit6.text+'\*.DRPTlt'#0;
CU

DRPEnc
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz