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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...