Selecionar um no via programação (*AJUDA*)

Delphi

27/06/2013

Bom Dia
Estou com o seguinte problema estou desenvolvendo uma aplicação com o componente TreeView em Delphi 7 onde tenho que selecionar uma nó via programação. Eu já tenho a árvore pronta ela é gerada em tempo de execução e quando ela é gerada tenho que dar a opção do usuário escolher qual nó ele quer visualizar digitando o numero do indexe do nó e apetado o botão.
assim Ficou o inicio do Código.
procedure TfVisualizador.BitBtn1Click(Sender: TObject);
var
  TrVindex: Integer;
begin

  TrVindex := StrToInt(edtNumPagina.text); //Guarda o valor do index convetrndo para Inteio
  if edtNumPagina.Text = '' then
  begin
    ShowMessage('Digite o número da página!');
    //ShowMessage('');
    Exit;
  end;

  if TrVindex > TrV.Items.Count then
  begin
    ShowMessage('página não Cadastradaou!');
    StBar.Panels[3].Text:= 'página '+IntToStr(TrVindex)+' não encontarda';
    Exit;
  end;

  if TrV.Items.Item[TrVindex] = TrVindex then// Aqui já não Funciona :(
  begin
    
    TrV.Items[TrVindex];
    StBar.Panels[3].Text:= 'página encontarda'+IntToStr(TrVindex);
    AcroPDF.LoadFile(PChar(DM.TParCaminho.AsString)+nomeDoArquivo);
  end;

Auguem pode me Ajudar?
Eduardo Mendonça

Eduardo Mendonça

Curtidas 0

Respostas

Marcos Saffran

Marcos Saffran

27/06/2013

Bom Dia
Estou com o seguinte problema estou desenvolvendo uma aplicação com o componente TreeView em Delphi 7 onde tenho que selecionar uma nó via programação. Eu já tenho a árvore pronta ela é gerada em tempo de execução e quando ela é gerada tenho que dar a opção do usuário escolher qual nó ele quer visualizar digitando o numero do indexe do nó e apetado o botão.
assim Ficou o inicio do Código.
procedure TfVisualizador.BitBtn1Click(Sender: TObject);
var
  TrVindex: Integer;
begin

  TrVindex := StrToInt(edtNumPagina.text); //Guarda o valor do index convetrndo para Inteio
  if edtNumPagina.Text = '' then
  begin
    ShowMessage('Digite o número da página!');
    //ShowMessage('');
    Exit;
  end;

  if TrVindex > TrV.Items.Count then
  begin
    ShowMessage('página não Cadastradaou!');
    StBar.Panels[3].Text:= 'página '+IntToStr(TrVindex)+' não encontarda';
    Exit;
  end;

  if TrV.Items.Item[TrVindex] = TrVindex then// Aqui já não Funciona :(
  begin
    
    TrV.Items[TrVindex];
    StBar.Panels[3].Text:= 'página encontarda'+IntToStr(TrVindex);
    AcroPDF.LoadFile(PChar(DM.TParCaminho.AsString)+nomeDoArquivo);
  end;

Auguem pode me Ajudar?


Maginal,

a comparação do if está sendo feita com tipos diferentes e como você já testou a quantidade de itens recomendo que retire o if, deixando apenas:

Trv.Items[TrVindex - 1] (subtrai 1 aqui pois o índice começa em zero)
StBar.Panels[3].Text := 'página encontrada ' + IntToStr(TrVindex);
AcroPDF.LoadFile(PChar(DM.TParCaminho.AsString) + nomeDoArquivo);
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

27/06/2013

Ok eu vou testa agora
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

27/06/2013

Bom Dia!

Marcos Alfredo Ficou Beleza aqui O código funcionou e eu também fiz umas mudanças e funcionou certinho

Obrigado!
GOSTEI 0
José

José

27/06/2013

Como a duvida já foi solucionada, estou finalizando este tópico.
GOSTEI 0
POSTAR