AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualStringTree - Nodes hinzufügen

Ein Thema von d7user1 · begonnen am 23. Mär 2014 · letzter Beitrag vom 30. Mär 2014
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

AW: VirtualStringTree - Nodes hinzufügen

  Alt 24. Mär 2014, 20:35
Also bisher habe ich noch nicht mit Virtual ListView gearbeitet, ist im Grunde aber eine feine Sache, man muss nur die Daten auslagern. Das mit den Checkboxen ist Pech, da muss man eben selbst programmieren.

NextGrid und VST sehen verdammt gut aus, müssen aber installiert werden.

Vorausgesetzt also Virtual ListView ist nichts, auch NextGrid und VST nicht, eben aus den genannten Gründen, stellt sich die Frage nach dem Beispiel im Beitrag #17. Das ist kein Virtual ListView, arbeitet aber insoweit ähnlich, als das es zuerst komplett leer ist und erst beim Scrollen gefüllt wird. Es ist etwas langsamer, hat dafür aber CheckBoxen, da es eine normale ListView ist. Sollte also die Lösung für dein Problem sein.
  Mit Zitat antworten Zitat
d7user1
(Gast)

n/a Beiträge
 
#2

AW: VirtualStringTree - Nodes hinzufügen

  Alt 24. Mär 2014, 21:56
ich werde mir dein beispiel mal ansehen und mit meinem VST vergleichen.

meine "Dateien-lesen-funktion" braucht momentan für das lesen von C:\Windows rekursiv 6 sekunden. (95000 dateien)
die grafische darstellung dauert nur wenige millisekunden.

Geändert von d7user1 (24. Mär 2014 um 21:58 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: VirtualStringTree - Nodes hinzufügen

  Alt 24. Mär 2014, 22:06
Nun, da ist nichts besonderes dran, bis auf, dass zuerst nur leere Items angelegt werden. Diese werden später JustInTime gefüllt.
  Mit Zitat antworten Zitat
d7user1
(Gast)

n/a Beiträge
 
#4

AW: VirtualStringTree - Nodes hinzufügen

  Alt 24. Mär 2014, 22:12
demnach sind 6 sekunden für ein verzeichnis wie C:\windows normal?
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: VirtualStringTree - Nodes hinzufügen

  Alt 24. Mär 2014, 22:36
Also ich weiß nicht wie du auf die 6 Sekunden kommst. Ich hab gerade den Code geändert und ihn auch Unterverzeichnisse einbinden lassen. Dauer bei knapp 12000 Dateien im Windowsordner etwa 500 ms (komplett, einlesen und in LV ausgeben).
  Mit Zitat antworten Zitat
d7user1
(Gast)

n/a Beiträge
 
#6

AW: VirtualStringTree - Nodes hinzufügen

  Alt 24. Mär 2014, 22:52
mist. ich probiere gleich mal die funktion hier aus der code-lib aus wenn ich die noch finde.

edit:
ok also selbst mit dieser funktion dauert es 4 bis 5 sekunden:
http://www.delphipraxis.net/332578-post.html#392510

kann es sein dass du eine SSD hast?

Geändert von d7user1 (24. Mär 2014 um 23:00 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#7

AW: VirtualStringTree - Nodes hinzufügen

  Alt 24. Mär 2014, 23:00
Delphi-Quellcode:
procedure GetFilesOL(SearchPath: String; ObjectList: TObjectList; SubFolder: Boolean);
var
  SearchRec: TSearchRec;
  FileInfo: TFileInfoEx2;
begin
  SearchPath := IncludeTrailingPathDelimiter(SearchPath);

  if FindFirst(SearchPath + '*.*', faAnyFile or faDirectory, SearchRec) = 0 then
  try
    repeat
      if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
        with ObjectList do
        begin
          FileInfo := TFileInfoEx2.Create;
          Add(FileInfo);

          FileInfo.Path := SearchPath;
          FileInfo.Name := SearchRec.Name;
          FileInfo.SearchRec := SearchRec;
        end;
    until FindNext(SearchRec) <> 0;
  finally
    FindClose(SearchRec);
  end;

  //----------------------------------------------------------------------------

  if SubFolder then
  begin
    if FindFirst(SearchPath + '*.*', faDirectory, SearchRec) = 0 then
    try
      repeat
        if ((SearchRec.Attr and faDirectory) = faDirectory) and
          (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
          GetFilesOL(SearchPath + SearchRec.Name, ObjectList, SubFolder);
      until FindNext(SearchRec) <> 0;
    finally
      FindClose(SearchRec);
    end;
  end;
end;
  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 09:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz