Jump to content

Diretorio apresentado é sempre do servidor (erro)


FlavioMacedo

Recommended Posts

Bom dia a todos.

 

O problema esta sendo o seguinte:

 

Montei a aplicação onde devo apresentar a árvore de diretórios da maquina do cliente e estou colocando isto em um treeview porem ele sempre monta a árvore de diretório de onde a aplicação esta sendo executada.

 

Preciso que esta árvore seja a da máquina cliente e não do servidor.

 

Alguém poderia me ajudar com este problema? Meu código que monta a tabela de memória para mostrar o diretório esta assim:

 

procedure TMainForm.DirTreeChange(Sender: TObject; Node: TUniTreeNode);
var
   sr: TSearchRec;
   FileAttrs: Integer;
   theNode: TUniTreeNode;
begin
   FileAttrs := faDirectory;
   if (Node.Level = 0) then
      exit;
   if (Node.Level = 1) then
   begin
      Ni1 := 'c:\' + Node.text;
   end;
   if (Node.Level = 2) then
   begin
      Ni1 := 'C:\' + Node.Parent.text + '\' + Node.text;
   end;
   if (Node.Level = 3) then
   begin
      Ni1 := 'C:\' + Node.Parent.Parent.text + '\' + Node.Parent.text + '\' + Node.text;
   end;
 
...
...
...
 
   if (Node.Level = 12) then
   begin
      Ni1 := 'C:\' + Node.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.text + '\' +
             Node.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.text + '\' +
             Node.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.text + '\' +
             Node.Parent.Parent.Parent.Parent.Parent.Parent.Parent.Parent.text + '\' +
             Node.Parent.Parent.Parent.Parent.Parent.Parent.Parent.text + '\' +
             Node.Parent.Parent.Parent.Parent.Parent.Parent.text + '\' + Node.Parent.Parent.Parent.Parent.Parent.text +
             '\' + Node.Parent.Parent.Parent.Parent.text + '\' + Node.Parent.Parent.Parent.text + '\' +
             Node.Parent.Parent.text + '\' + Node.Parent.text + '\' + Node.text;
   end;
   MemData_Diretorio.Close;
   MemData_Diretorio.Open;
   if FindFirst(Ni1 + '\*.*', FileAttrs, sr) = 0 then
   begin
      repeat
         if (sr.Attr and FileAttrs) = sr.Attr then
         begin
            if ((sr.name <> '.') and (sr.name <> '..')) then
            begin
               if Node.Level = 0 then
               begin
                  theNode := DirTree.Items.AddChild(nil, sr.name);
               end
               else
               begin
                  theNode := DirTree.Items.AddChild(Node, sr.name);
               end;
               theNode.HasChildren := True;
            end;
         end
         else
         begin
            MemData_Diretorio.Insert;
            MemData_Diretorioupdate.AsBoolean := false;
            MemData_DiretorioArquivo.asstring := sr.name;
            MemData_DiretorioModificacao.asstring := FormatDateTime('dd/mm/yy hh:mm:ss', FileDateToDateTime(sr.Time));
            MemData_DiretorioTamanho.asstring := inttostr(sr.Size);
            MemData_Diretorio.Post;
         end;
      until FindNext(sr) <> 0;
      FindClose(sr);
   end;
 
end;

 

Agradeço a todas a ajudas.

Obrigado

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...