AGB  ·  Datenschutz  ·  Impressum  







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

VirtualTreeView bearbeiten

Ein Thema von mdx · begonnen am 6. Jun 2011 · letzter Beitrag vom 7. Jun 2011
Antwort Antwort
Seite 2 von 2     12   
mdx
(Gast)

n/a Beiträge
 
#11

AW: VirtualTreeView bearbeiten

  Alt 7. Jun 2011, 00:00
Okay, nehmen wir an ich habe zum Beispiel in meinem Thread die ID 3, also die vierte Zeile von oben (beginnt ja immer beo 0), wie sag ich dem TreeView Ding dann dass er die Werte in Zeile 4 schreiben soll?
Darum gehts, nicht um das herausfinden der Zeile, das dürfte ich eigentlich hinbekommen irgendwie
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#12

AW: VirtualTreeView bearbeiten

  Alt 7. Jun 2011, 08:38
Steht den in deinem TEntry die ID drin? Wenn ja, dann musst du alle Knoten durchgehen und gucken in welchem die gesuchte ID vorkommt. Dann kannst du die Daten in diesem Knoten ändern.

Alternativ zur ID könntest du dem Thread aber auch sagen, welchen Knoten/welches TEntry-Objekt er updaten soll.

(Mir fällt grad noch was ein: Falls die ID der Index des Knotens ist, kannst du auch die ID auch damit abgleichen (Node^.Index). Das ist aber in meine Augen sehr schmutzig)
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
mdx
(Gast)

n/a Beiträge
 
#13

AW: VirtualTreeView bearbeiten

  Alt 7. Jun 2011, 14:24
Wenn ja, dann musst du alle Knoten durchgehen und gucken in welchem die gesuchte ID vorkommt. Dann kannst du die Daten in diesem Knoten ändern.)
Hättest du vielleicht auch einen Befehl oder so dafür? Die Komponente mag mich nämlich irgendwie überhaupt nicht
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#14

AW: VirtualTreeView bearbeiten

  Alt 7. Jun 2011, 15:42
So oder so ähnlich sollte es, hoffe ich, funktionieren. Ich nehme an in deinem Thread arbeitest du ebenfalls mit einer TEntry-Instanz, aber es würde genau so mit mehreren String, Int etc. Parametern funktionieren. Folgende Funktion einfach aus dem Snychronize des Threads heraus ausrufen:

Delphi-Quellcode:
function TForm.SynchronizeTreeWithThreadData( ThreadData: TEntry);
var
  Node: PVirtualNode;
  TreeData: TEntry;
  //...
begin;
//...
  TreeData := TEntry.Create;
  Node := VST.GetFirst;

  while Assigned(Node)do
  begin
    // Daten aus aktuellem Knoten holen (hier nehme ich einfach mal an dass dein geposteter Code funktioniert)
    TreeData := TEntries(VST.GetNodeData(Node)^);
    // Daten vergleichen
    If ( ThreadData.ID = TreeData.ID )
    begin
      TreeData.Progress = ThreadData.Progress;
      // ...
    end;
    // Nächsten Knoten ermitteln
    Node := VST.GetNext(Node);
  end;
// ...
end;
Nur aus dem Kopf getippt, ich hoffe ich hab nicht zu viele Fehler reingeschlumpert
Jonas

Geändert von Aurelius ( 7. Jun 2011 um 16:38 Uhr)
  Mit Zitat antworten Zitat
mdx
(Gast)

n/a Beiträge
 
#15

AW: VirtualTreeView bearbeiten

  Alt 7. Jun 2011, 16:36
Wow danke du bist mein Held Aurelius
Leicht abgewandelt klappts jz endlich ^^

Delphi-Quellcode:
  daten := TEntries(VST.GetNodeData(Node)^);

  while assigned(daten) do
  begin
  daten := TEntries(VST.GetNodeData(Node)^);
   with daten do
   begin
    If ( '3' = Daten.ID ) then // Zum Test ^^
    begin
[...]
    break; // Schleife Abbrechen wenn gefunden
    end;
     Node := VST.GetNext(Node);
   end;
  end;
Also vielen Dank nochmal, ich hoffe ich muss nicht nochmal eine Frage zu dem dummen Tree-Ding stellen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:25 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