Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Spoock

[Resolvido] Obter caminho e salvar arquivos

Recommended Posts

Bom pessoal, estou aqui de novo com duvidas sobre Delphi. Eu estou desenvolvendo um instalador com o Delphi, e gostaria de copiar um arquivo chamado base.txt para uma pasta no diretório Meus Documentos. No comando CopyFile(); eu teria que declarar o endereço completo do destino do arquivo, e não quero isso, já que a pasta Meus Documentos pode mudar o endereço e até mesmo partição dependendo do computador. Alguém tem ideia do que eu posso fazer, pensei em utilizar variáveis, então declarei um SelectDirectory(); para o usuário selecionar a pasta Meus Documentos, só que o comando CopyFile(); não aceita variáveis.

 

procedure TForm3.Button1Click(Sender: TObject);
Var
S:String;
Begin
//Estilo Win 32
SelectDirectory('Selecione o diretório:', '', S);
Edit1.Text:= S;
end;

 

No caso teria como o Delphi pegar automaticamente o endereço da pasta Meus Documentos\Pasta Adicional? Desde já obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao posso confirmar agora, estou postando do celular. Voce pode usar as variaveis de ambiente:

ShowMessage(GetEnvironmentVariable('MyDocs'));

 

Outro detalhe: FileCopy aceita variaveis sim, talvez voce esteja utilizando o tipo errado, tente usar o tipo Pchar:

FileCopy(Pchar(Caminho),...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, consegui! Obrigado wllf, sua dica foi a que funcionou. Olha bdexterholland, o codigo que você passou não funcionou não.

 

procedure TForm3.Button5Click(Sender: TObject);
var
r: Bool;
path: array[0..MAX_PATH] of Char;
begin
//substitua COLOQUE_AQUI_A_CONSTANTE_DESEJADA
//pela constante relativa ao diretório desejado
r := ShGetSpecialFolderPath(0, path, CSIDL_PERSONAL, False);
if not r then raise Exception.Create('Diretório não Encontrado');
Edit1.Text:= Path;
end;

 

Problema Resolvido ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algum tempo atrás passei por um problema parecido, com esse código não importa a versão do windows, o sistema vai sempre encontrar a pasta Meus Documentos.

 

Qualquer coisa estamos por aí ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.