Renanbg 1 Denunciar post Postado Março 30, 2009 Olá pessoal para listar um diretorio em um dbedit eu uso um componente chamado opendirectory e o codigo abaixo if OpenDirectory1.Execute then DBEdbanco.Text:=OpenDirectory1.DrivePath + '\*.*'; funciona bem, mas se o caminho que desejo listar ali é da rede não da certo, como por exemplo \\servidor\c\pasta vai aparecer apenas \*.* Alguma sugestão de fazer isso com componentes nativos do delphi ou qualquer outra forma? Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Março 31, 2009 Eu utilizo esta função para pegar caminhos mapeados da rede: function RetornaEnderecoMapeado(endereco_arq:string):string; var Caminho, Drive,local : String; Tamanho : Cardinal; begin Caminho:= ################################################################################ ###############################; SetLength(Caminho,255); Tamanho:=255; local:=copy(endereco_arq,3,length(endereco_arq)); drive:=copy(endereco_arq,1,2); if(drive[2]<>':')then begin result:=endereco_arq; end else if WNetGetConnection(PChar(Drive),PChar(Caminho),Tamanho) = NO_ERROR then begin Result:=trim(copy(Caminho,1,pos(#0,caminho)))+local; end else Result:=trim('\\'+GetIPAddress+'\'+ReplaceStr(':','$',Drive)+local); end; E na chamada eu faço assim: Edit1.Text:=RetornaEnderecoMapeado('P:\Dados\teste.txt'); O que me retornaria algo do tipo: \\pc1\Dados\teste.txt Ps.: eu tenho os endereços de rede que uso mapeados na máquina. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Renanbg 1 Denunciar post Postado Março 31, 2009 Na verdade não é isso que procuro, pq ali pelo que vi você coloca ja na chamada o caminho gostaria de algo semelhante a um opendialog, onde eu abri-se um diretorio e ele deixasse o caminho gravado no edit Compartilhar este post Link para o post Compartilhar em outros sites
Renanbg 1 Denunciar post Postado Abril 1, 2009 Opa..ja tinha pedido a mesma duvida e nem tinha me tocado http://forum.imasters.com.br/index.php...mp;#entry884308 Mas com o componente como eu disse não da certo em rede e com o outro exemplo eu precisaria ter algum arquivo na pasta de destino para poder extrair o patch alguma outra sugestão Compartilhar este post Link para o post Compartilhar em outros sites
Renanbg 1 Denunciar post Postado Abril 1, 2009 Amigos, resolvido Deixo aqui a solução para caso mais alguem tenha essa duvida uses FileCtrl; procedure TForm1.Button1Click(Sender: TObject); var S: string; begin //Estilo Win 16 SelectDirectory(S, [sdAllowCreate, sdPerformCreate, sdPrompt],1); Label1.Caption := S; //Estilo Win 32 SelectDirectory('Selecionar Pasta','',S); Label2.Caption := S; end; Compartilhar este post Link para o post Compartilhar em outros sites