Fórum Especificar o diretorio atual. #617995

28/04/2022

0

Pessoal, fiz um form de pesquisa dentro do meu programa e nele eu especifico o caminho aonde ele fará a pesquisa através de um DirectoryListBox, o problema e que o caminho especificado só existe na minha maquina, caso eu queira abrir o programa em outra maquina ele da erro por nao achar o caminho especificado, alguém sabe como especificar para ele pesquisar aonde ele estiver, sem um caminho pré definido?
Paulo Oliveira

Paulo Oliveira

Responder

Post mais votado

29/04/2022

no OnCreate do form faça algo assim:
DirectoryListBox.Directory := ExtractFilePath(Application.ExeName); // pasta da aplicação


Emerson Nascimento

Emerson Nascimento
Responder

Gostei + 1

Mais Posts

29/04/2022

Paulo Oliveira

no OnCreate do form faça algo assim:
DirectoryListBox.Directory := ExtractFilePath(Application.ExeName); // pasta da aplicação



Funcionou muito bem para minha pesquisa!
Mas fui tentar usa-lo em um WinExec que uso para executar um programa externo que tambem esta na mesma pasta que o meu exe Delphi,
CurDir := ExtractFilePath(Application.ExeName);
caminho:=edit1.Text;
WinExec(pansichar(CurDir+'programa.exe'+'"'+caminho+'"'), sw_show);[/code] sabe me dizer pq isto nao funciona?
Responder

Gostei + 0

29/04/2022

Paulo Oliveira

CurDir := ExtractFilePath(Application.ExeName);
caminho:=edit1.Text;
WinExec(pansichar(CurDir+'programa.exe'+'"'+caminho+'"'), sw_show);
Responder

Gostei + 0

29/04/2022

Paulo Oliveira

CurDir := ExtractFilePath(Application.ExeName);
caminho:=edit1.Text;
WinExec(pansichar(CurDir+'programa.exe'+'"'+caminho+'"'), sw_show);
Responder

Gostei + 0

29/04/2022

Emerson Nascimento

supondo que:
- CurDir = 'c:\\temp\\'
- edit1.text = '"TESTE"'

o comando será
c:\\temp\\programa.exe"TESTE'"

executando diretamente pelo prompt (fazendo as devidas substituições) funciona?

Responder

Gostei + 0

29/04/2022

Paulo Oliveira

supondo que:
- CurDir = 'c:\\\\temp\\\\'
- edit1.text = '"TESTE"'

o comando será
c:\\\\temp\\\\programa.exe"TESTE'"

executando diretamente pelo prompt (fazendo as devidas substituições) funciona?


Nao :(
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar