Ver Mensaje Individual
  #2  
Antiguo 19-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.

Realmente no alcanzo a entender bién lo que deseas hacer por lo que no voy a sugerir nada...

Remitiendome al código, probá de este modo:
Código Delphi [-]
...
type
  TMiTreeNodes = class(TObject)
  private
    FNodes: TTreeNodes;
  public
    property Nodes: TTreeNodes read FNodes write FNodes;
    constructor Create(TNd: TTreeNodes);
    function GetThisNode(Value: string): TTreeNode;
    destructor Destroy; override;
  end;
...
implementation

constructor TMiTreeNodes.Create(TNd: TTreeNodes);
begin
  FNodes := TTreeNodes.Create(nil);
  FNodes := TNd
end;

function TMiTreeNodes.GetThisNode(Value: string): TTreeNode;
var
  N: TTreeNode;
begin
  N:= FNodes.GetFirstNode;
  while Assigned(N) and(N.Text <> Value) do
    N := N.getNextSibling;
  Result:= N
end;

...

Ejemplo
Código Delphi [-]
 TForm1 = class(TForm)
    TreeView1: TTreeView;
    ...
 private
    FRL: TMiTreeNodes;
    procedure CargarTreeNode;
  public
  end;
...

implementation
...

procedure TForm1.CargarTreeNode;
begin
  TreeView1.LoadFromFile('C:\ARCHIVO.TXT');
  FRL:= TMiTreeNodes.Create(TreeView1.Items)
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  tn: TTreeNode;
begin
  tn:= FRL.GetThisNode('UN DATO');
  if Assigned(tn) then
  begin
    ShowMessage(tn.Text);
    ...
  end
end;
...

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 19-11-2011 a las 12:41:55.
Responder Con Cita