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, 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
 
#2

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
 
#3

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
 
#4

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
 
#5

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
d7user1
(Gast)

n/a Beiträge
 
#6

AW: VirtualStringTree - Nodes hinzufügen

  Alt 24. Mär 2014, 23:04
jop. also mit deiner prozedur mit stringlist anstatt objektlist dauert es dennoch 4 sekunden.
entweder ist es die stringlist oder es ist weil ich keine ssd habe.

es ist zudem eine angepasste version der datensammlung mit dingen die ich benötige. das würden die 2sekunden überlänge erklären

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

n/a Beiträge
 
#7

AW: VirtualStringTree - Nodes hinzufügen

  Alt 24. Mär 2014, 23:12
Vielleicht hast du einfach nur einen langsamen Rechner.

Teste das mal: (siehe Anhang)

PS: die Sortierung ist noch nicht angepasst und sortiert nur nach Daten, ohne Pfade zu berücksichtigen.
Angehängte Dateien
Dateityp: zip Normale ListView (rekursiv).zip (3,7 KB, 12x aufgerufen)
  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 12:10 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