Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Liste wie im Explorer (https://www.delphipraxis.net/35865-liste-wie-im-explorer.html)

Äfan 12. Dez 2004 22:10


Liste wie im Explorer
 
Hi,

Weiß net ob ich das schonmal gefragt habe, egal:

Wie kann man so eine Liste wie im Explorer machen ? Also wo die liste in verschiedene spalten aufgeteilt ist wie Name, Datum, Größe.

Und wie kann man in die Liste einen eigenen Eintrag und Dateien mit den Einzelnen Infos einfügen ?

Beispiel oder Code wär sehr praktisch.

MFG

alcaeus 12. Dez 2004 22:12

Re: Liste wie im Explorer
 
Hallo Äfan,

die Komponente heißt Delphi-Referenz durchsuchenTListView. Auch in der DP gibts einiges zu dem Thema, einfach mal [dp="TListView"]suchen[/dp].

Greetz
alcaeus

Äfan 13. Dez 2004 14:22

Re: Liste wie im Explorer
 
Hi,

Jo das sind ne Menge Beiträge... Beispiel wie man Beiträge in TListView hinzufügt ???? :lol: :wink: :thumb:

MFG

Steve 13. Dez 2004 14:32

Re: Liste wie im Explorer
 
Hi,

Delphi-Referenz durchsuchenTListView.Items bzw. Delphi-Referenz durchsuchenTListItems hilft Dir weiter

F1 -> TListView -> Eigenschaften -> Items -> Beispiel
[oh]"Columns, Caption, Items, SubItems, Add (Beispiel)"[/oh]

Gruß
Stephan :dance: :xmas:

alcaeus 13. Dez 2004 14:33

Re: Liste wie im Explorer
 
Hallo Äfan,

steht zwar in der OH, aber egal:

Delphi-Quellcode:
with ListView1.Items.Add do //Element hinzufügen
begin
  Caption := 'Titel'; //Titel bzw. Inhalt der ersten Spalte setzen
  Subitems.Add('2. Spalte'); //Zusätzliche Spalten hinzufügen
  Subitems.Add('3. Spalte');
end;
Beachte: wenn du die Spaltenansicht aktivieren willst, muss ViewStyle auf "vsReport" gesetzt werden, sowie unter "Columns" die einzelnen Spalten definiert werden. Weiters muss auch "ShowColumnHeaders" auf True sein.

Greetz
alcaeus

Äfan 13. Dez 2004 14:47

Re: Liste wie im Explorer
 
Danke, nur weiß ich jetzt immer noch nicht wie man einen Eintrag zur Laufzeit in der Liste erstellt. :cry:

Edit: Hätte eins höher gehört !

OK thx, so check ich das gleich ! :-D

Wie kann man jetzt dateien mit den infos (Name, Datum usw) hinzufügen ? Also ich meine, gibts da nen bestimmten trick ?

MFG

Äfan 20. Dez 2004 19:04

Re: Liste wie im Explorer
 
Zitat:

Wie kann man jetzt dateien mit den infos (Name, Datum usw) hinzufügen ? Also ich meine, gibts da nen bestimmten trick ?
:( Also das mit den Dateiinfos bekomme ich nicht hin. Kann mir mal jemand sagen wie das geht: Also ich will Dateien in die liste hinzufügen, es sollen von der jeweiligen Datei die Infos wie Größe, Datum usw. in der jeweiligen Spalte angezeigt werden. Also wie im Explorer.

Luckie 21. Dez 2004 04:51

Re: Liste wie im Explorer
 
Bei Delphi 7 müsste der ShellListview dabei sein.

mwiesbau 21. Dez 2004 11:51

Re: Liste wie im Explorer
 
hallo,

mach es einfach mit findfirst findnext findclose.

vom ablauf her du durschsuchst den ausgewählten ordner nach allen dateien.

Delphi-Quellcode:
var
directory: string;
sr: tsearchrec;
begin

findfirst(directory+'\*.*',faanyfile,sr);
listbox1.Items.Add(search.Name);    // statt name kannstdu noch size time attr verwenden
  while findnext(sr)=0 do
    begin
    listbox1.Items.Add(sr.Name);
    end;

  findclose(sr)
hoffe du kommst nun weiter

Dj_Base 21. Dez 2004 14:19

Re: Liste wie im Explorer
 
Zitat:

Zitat von Luckie
Bei Delphi 7 müsste der ShellListview dabei sein.

Jo, warum nimmst du nicht einfach TShellListview? Die enstammt sozusagen direkt dem Explorer.
Sie greift nämlich auf die ShellAPI zu, die Funktionen des Windows-Explorers kapselt.
Du findest die Komponente, unter dem Register "Beispiele".

mfg,
Dj_Base

Äfan 21. Dez 2004 14:39

Re: Liste wie im Explorer
 
Zitat:

Bei Delphi 7 müsste der ShellListview dabei sein.
Ja weiß ich schon, is bei mir auch dabei, nur geht es mir darum, wie man sowas allgemein macht, also sowas progt. Ich will ja auch was lernen :wink: :thumb:

THX

MFG

Äfan 16. Jan 2005 14:13

Re: Liste wie im Explorer
 
OK, also ich habe das jetzt so gemacht:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
sr: tsearchrec;
begin
with ListView1.Items.Add do
 begin
 findfirst(Edit1.Text+'\*.*',faanyfile,sr);
 Caption := (sr.Name);
 Subitems.Add(inttostr((sr.Size) div 1024));
end;
 findclose(sr)
end;
Wie mache ich das, damit er alle Dateien des Ordners auflistet ? So macht er nur die erste datei. Irgendwie komm ich net drauf und mit ner for-do schleife bekomm ichs net hin.

Und bei div 1024 habe ich das problem, dass bei einer datei, die z.B. 7,49 KB hat, nur 7 angezeigt wird. Wie gehts, dass auch zwei dezimalstellen gezeigt werden ?

MFG

SirThornberry 16. Jan 2005 14:30

Re: Liste wie im Explorer
 
zu findFirst etc. findest du genug beispiele. Desweiteren würde iche empfehlen nicht "*.*" zu verwenden sondern nur "*" da sonst dateinamen wo kein "." drin vorkommt herausfallen.

Äfan 16. Jan 2005 14:57

Re: Liste wie im Explorer
 
Dnke für den tip mit * und für die hilfreiche antwort :roll:

Äfan 16. Jan 2005 15:51

Re: Liste wie im Explorer
 
OK, habs jetzt. Noch zwei fragen:

1. Wie kann ich verhindern das auch ordner gezeigt werden ?

2. Bei div 1024 habe ich das problem, dass bei einer datei, die z.B. 7,49 KB hat, nur 7 angezeigt wird. Wie gehts, dass auch zwei dezimalstellen gezeigt werden ?

3. Wie bekomme ich das Datum der Datei ? (also sowas wie Subitems.Add(sr.Datum) und bitte nicht sagen, das ich in der Hilfe schauen soll, denn da steht der datumsparameter für z.B. sr nicht drin)

MFG

SirThornberry 16. Jan 2005 16:06

Re: Liste wie im Explorer
 
Neue Frage neuer Thread :wink: Niemand hat gesagt das die Datumsangabe mit in dem SearchRect steht. Da du aber den Dateinamen weißt kannst du wiederum andere funktionen aufrufen welche dir das Datum der Datei liefern (auch hierzu findet sich genug im Forum (erst heute gabs wieder einen Beitrag))


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 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