Ver Mensaje Individual
  #4  
Antiguo 21-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.
Cita:
Primero creas el TTreeNodes y luego los reasignas?.
Si, en realidad podría haber enviado directamente el TreeView como argumento al constructor...
Código Delphi [-]
constructor TMiTreeNodes.Create(TNd: TTreeView);
begin
  FNodes := TTreeNodes.Create(TNd);
end;

Cita:
Y porqué usas properties pudiendo acceder a las variables declaradas public para ello. Se que son como los getters y setters de java pero en este caso no veo la necesidad,.. o si?
El uso de propiedades, si bién no es estríctamente necesario (se puede acceder a variables públicas de la clase o incluso globales), siempre es una buena práctica, ya que brinda mayor control y encapsulamiento.

Un saludo.

Edito: Me quedé pensando en lo que mencionas: "Lo que necesito es cargar un árbol de nodos desde disco sin necesidad de que se muestre en pantalla."

¿ Y no te resultaría más fácil usar un TTreeView con su propiedad Visible = False ? Lo anterior quedaría reducido a:
Código Delphi [-]
function GetThisNode(FNodes: TTreeNodes; Norma: string): TTreeNode;
var
  N: TTreeNode;
begin
  N:= FNodes.GetFirstNode;
  while Assigned(N) and(N.Text <> Norma) do
    N := N.getNextSibling;
  Result:= N;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  t: TTreeNode;
begin
  TreeView1.LoadFromFile('C:\ARCHIVO.TXT');
  t:= GetThisNode(TreeView1.Items, 'UN_NODO');
  if Assigned(t) then
   ...
end;
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 21-11-2011 a las 12:31:00.
Responder Con Cita