Especificar o diretorio atual.

Delphi

28/04/2022

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

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

29/04/2022

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


GOSTEI 1

Mais Respostas

Paulo Oliveira

Paulo Oliveira

28/04/2022

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?
GOSTEI 0
Paulo Oliveira

Paulo Oliveira

28/04/2022

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

Paulo Oliveira

28/04/2022

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

Emerson Nascimento

28/04/2022

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?

GOSTEI 0
Paulo Oliveira

Paulo Oliveira

28/04/2022

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 :(
GOSTEI 0
POSTAR