AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TTreeNode um eine weitere Variable erweitern
Thema durchsuchen
Ansicht
Themen-Optionen

TTreeNode um eine weitere Variable erweitern

Ein Thema von Nogge · begonnen am 21. Jul 2005 · letzter Beitrag vom 31. Okt 2005
Antwort Antwort
Seite 4 von 4   « Erste     234   
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#31

Re: TTreeNode um eine weitere Variable erweitern

  Alt 28. Jul 2005, 18:28
Es war ein Integer-Wert, ja. Dann ist das natürlich logisch^^
Ich konnte allerdings auch negative Werte einsetzen und auslesen, dabei dachte ich, dass ein Pointer auf eine Speicheradresse zeigt, die bei 0 startet *verwirrt*. So würde der Zeiger ja ins nichts bzw. negativen nicht vorhandenen Bereich zeigen. Wird dabei kein Fehler ausgelöst?
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#32

Re: TTreeNode um eine weitere Variable erweitern

  Alt 10. Sep 2005, 16:20
Moin, moin,

ja auch wenn es schon etwas her ist: Der Pointer hat ein anders Datenformat und das negaiv Bit wird als normales Zahlenbit genommen, was den höchsten positiv darstellbaren Wert erhöht. Also kein negaitver Speicher oder Paralleluniversum

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#33

Re: TTreeNode um eine weitere Variable erweitern

  Alt 10. Sep 2005, 16:40
Ah, ok...Danke dir!
  Mit Zitat antworten Zitat
CLRS530

Registriert seit: 27. Jun 2005
Ort: Hamburg
39 Beiträge
 
Delphi 7 Enterprise
 
#34

Re: TTreeNode um eine weitere Variable erweitern

  Alt 31. Okt 2005, 21:28
So ich habe das hier einmal per Suche gefunden und es ist ja sogar noch fast Aktuell.

Ich möchte auch die Property Data benutzen und das sogar nur zum Speichern eines Integer Wertes.
Nun habe ich das mit den Pointern bei Delphi alles noch nicht so hunertpro verstanden, dazu kommt das dauernde hin und her zwischen mehreren Sprachen.

Nun gut, momentan habe ich es so:

Delphi-Quellcode:
  var
    test: integer;
  ShellTreeView1.Items.Item[3].Data:= Pointer(test);
  ShellTreeView1.Items.Item[3].Data:= nil;
Soll einmal nur ein kleiner Auszug sein.
Ohne das am Ende auf nil zu setzen, scheint das nicht zu funktionieren, denn dann bekomme ich Fehler beim Beenden des Programms.

jemand Ideen, wie ich es noch anders machen kann/ wie es ist, wenn test einen anderen Wert annehmen/ gelöscht werden würde.

Gesagt sei noch, das ich in dem Treeview Dateien mit evntl einer Ordnerstruktur darstellen möchte.
Diese werden dann durch eine id festgelegt, wodurch ich sie in einer Datei finden kann.

Mir ist sehr wohl klar, das ich durch eine Ordnerstruktur die Dateien anders finden könnte, aber stellt euch Delphi oder irgendeinen Editor vor, der Listet auch nur alle Dateien auf.
Ich wäre dennoch für alles andere offen *gg*
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#35

Re: TTreeNode um eine weitere Variable erweitern

  Alt 31. Okt 2005, 21:47
Es gibt eine aufwendige, dafür aber perfekte Lösung, um allgemein Werte in Data zu speichern:
Delphi-Quellcode:
PIntRec = ^TIntRec;
  TIntRec = record
    Value : Integer;
  end;
  [...]
  var
  DataPointer:PIntRec;
  [...]
  { -- Data mit Daten füllen -- }
  Node:=TV.Items.AddChild(Parent,String);
    New(DataPointer);
    DataPointer^.Value := Value; // z.B. dein Integer-Wert
  Node.Data := DataPointer;
  [...]
  { -- TreeNodes freigeben (z.B. bei OnClose -- }
  for i:=TV.Items.Count-1 downto 0 do
  begin
    Dispose(PIntRec(TV.Items.Item[i].Data));
    TV.Items.Item[i].Data:=nil; // wird nicht benötigt (nach sakura)
    end;
  end;
Was ist denn so schlimm daran, beim Beenden des Programms Data auf nil zu setzen?
  Mit Zitat antworten Zitat
CLRS530

Registriert seit: 27. Jun 2005
Ort: Hamburg
39 Beiträge
 
Delphi 7 Enterprise
 
#36

Re: TTreeNode um eine weitere Variable erweitern

  Alt 31. Okt 2005, 22:06
Naja das ist ein sehr spezialler Fall und ein Record erstellen wird wohl nicht nötig sein.

generell hast du recht, das auf nil zu setzen ist wohl kein Problem, ich muss dies halt bei 20 werten oder so machen.

Es geht mir auch mehr um eine gute und sichere Art dies zu machen.
Also die zuweisung, bzw dann das lesen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 05:36 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