Ir ao conteúdo
  • Cadastre-se

Ajuda por favor??


mateus13m

Posts recomendados

Olá amigos.

De novo eu venho pedir ajuda a vocês, já que vocês são ótimos programadores e tiram todas as minhas dúvidas quando respondem os tópicos.

Enfim, eu gostaria de saber se tem como fazer o seguinte:

Eu gostaria de um código para fazer um arquivo ser Copiado par um local escolhido. Só que este local teria que ser escolhido por algo parecido com uma ComboBox. Só que não consigo fazer isto de jeito nenhum. Então, o caminho do arquivo e a origem dele deveriam ser escolhido por algo como uma ComboBox. Não sei se esclareci bem mais, tem como? Obrigado :)

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Olá!

Existem algumas maneiras de fazer isso..

  • Pegando os valores de um EDIT e usando um código para mover o arquivo..
  • Adicionar em um ComboBox possíveis locais (neste caso apenas se forem poucos locais, senão não valhe a pena)
  • Usar um DirectoryListBox da paleta Win 3.1
  • Usar 2 dialogs (open e save file)

O que deveria ter nessa ComboBox?

Abraços!

Link para o comentário
Compartilhar em outros sites

(obs.: não precisa ser NECESSARIAMENTE uma combobox. Pode ser um TreeView ou algo do tipo)

Esta combobox deveria conter as pastas do pc da pessoa que estivesse usando o programa, e para ela escolher o caminho original do arquivo e para onde ele seria copiado. Ou então, gostaria de fazer algo parecido com aqueles três pontinhos em botão, que a pessoa clica e aparece as pastas do pc dela pra ela escolher, e o escolhido fica inscrito no Edit. :D

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

Olá amigo, se você quer pegar o caminho de um arquivo já salvo, pode-se usar o OpenDialog da paleta Dialogs e utilizar o seguinte código num botão:


if(OpenDialog1.Execute)then
Edit1.Text:= ExtractFilePath(OpenDialog1.FileName);

Mas se quiser que o usuário selecione apenas uma pasta local em vez de um arquivo, use a API do windows.

Declare as units ShellAPI, ShlObj em Uses e depois use o código:


//------------------------------------------------------------------------------
// Browse Dialog - serve para selecionar pasta ao invés de arquivo
//------------------------------------------------------------------------------
function BrowseDialog(const Title: string; const Flag: integer): string;
var
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of char;
TempPath : array[0..MAX_PATH] of char;
begin
{obs: tem que incluir na cláusula Uses as libs ShellAPI, ShlObj}
Result:='';
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
with BrowseInfo do
begin
hwndOwner := Application.Handle;
pszDisplayName := @DisplayName;
lpszTitle := PChar(Title);
ulFlags := Flag;
end;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then
begin
SHGetPathFromIDList(lpItemID, TempPath);
Result := TempPath;
GlobalFreePtr(lpItemID);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:= BrowseDialog('Selecione arquivo ou pasta',BIF_RETURNONLYFSDIRS);
end;

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...