Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[Duvida]Delphi 7 Shellexecute


-Systema-
 Compartilhar

Posts Recomendados

Linha

ShellExecute(handle,'open',Pchar(sDirectoryEdit1.text+'arquivo.cfg'),nil,nil,sw_shownormal);

 

Bom eu estou colocando este comando num button para executar o text que esta no directory e neste diretorio tem 1 arquivo chamado NAME.cfg [txt]

so que eu fiz tudo certinho e nao abre o arquivo verefiquei o destino e ainda nao deu

fiz outro programa para tentar e nao deu usei so o o edit1 e tambem nao deu certo me ajudem

resumido : quero executar um cfg [txt] os destinos estao corretos nao da erro so que nao executa

@- Ja declarei Shellapi

 

valeu

Link para o comentário
Compartilhar em outros sites

Tente Isso.

ShellExecute(Application.Handle, nil, Pchar(sDirectoryEdit1.text+'arquivo.cfg'), nil, nil, SW_SHOWNORMAL);

Agora Se For Querer Executa Pelo Notepad Só Fazer isso.

WinExec(PChar('notepad.exe '+sDirectoryEdit1+'arquivo.cfg'), SW_SHOW);

Link para o comentário
Compartilhar em outros sites

Se você quer executar um arquivo, não poderá colocar o nome dele no final ! Exemplo de como seu código ficou:

É necessário se cadastrar para acessar o conteúdo.

Você só colocar o sDirectoryEdit1.text e nada amais, e text junto ! Porque no tópico tá separado (:

É necessário se cadastrar para acessar o conteúdo.

Testado e aprovado !

Abrasz :amor:

4I1ShmNRGyg2k.webp

Link para o comentário
Compartilhar em outros sites

Tente Isso.

Citação:

ShellExecute(Application.Handle, nil, Pchar(sDirectoryEdit1.text+'arquivo.cfg'), nil, nil, SW_SHOWNORMAL);

Agora Se For Querer Executa Pelo Notepad Só Fazer isso.

Citação:

WinExec(PChar('notepad.exe '+sDirectoryEdit1+'arquivo.cfg'), SW_SHOW);

 

Se você quer executar um arquivo, não poderá colocar o nome dele no final ! Exemplo de como seu código ficou:

É necessário se cadastrar para acessar o conteúdo.

Você só colocar o sDirectoryEdit1.text e nada amais, e text junto ! Porque no tópico tá separado (:

É necessário se cadastrar para acessar o conteúdo.

Testado e aprovado !

Abrasz :amor:

 

Intao quer dizer que nao posso usar o shellexecute para ir apra um destino exemplo c:/bla e dentro da bla ele abri o bla.txt ?

 

Eu tentei com os 2 e nao consegui =/ nao sei se fiz algo errado

Link para o comentário
Compartilhar em outros sites

Lukas testei mais deu erro acho que fiz algo errado ai

e OWNER

eu quero por exemplo executar um arquivo que esta numa pasta imagina assim 2 botao

1 - abrir fulano .txt

2 - abrir sicrano .txt

directoryedit1 = c:/fulanus/nana/

[ai neste destino que a pessoa escolher quero que abra o fulano e o sicrano [isto é se eles estiverem la]

 

help-me

Link para o comentário
Compartilhar em outros sites

Procedure OPEN_FILE(Directory,FileName:STRING);

BEGIN

(* Lembrando que directory deverá terminar com \

Exemplo: C:\WINDOWS\ *)

if Directory[Length(Directory)] <> '\' then

Directory := Directory + '\';

// Pronto.

 

IF FileExists(Directory+FileName) THEN

ShellExecute(Form1.Handle,'Open',PAnsiChar(FileName),'',PAnsiChar(Directory),SW_SHOWNORMAL)

END;

 

 

Usando:

procedure TForm1.Button1Click(Sender: TObject);

begin

OPEN_FILE('c:\','fulano.txt');

end;

Link para o comentário
Compartilhar em outros sites

ta nao deu nenhum erro mais tambem nao executou o arquivo

 

vou tentar explicar melhor para entenderem

2- Botoes [ 1- botao = fulano.txt | 2- botao = sicrano.txt]

O destino de cada computador pode mudar !

um DirectoryEdit = para caçar o destino de onde encontraram exemplo

C:/blablabla/iop[nesta pasta vai te o sicrano e o fulano]

o destino a cima vai ficar no directory

e na hora deu clicar em no botao 1 ele executar o fulano.txt q esta na pasta e assim vai

foi o melhor que consegui explicar

Link para o comentário
Compartilhar em outros sites

Então você deve ter digitado algo errado no diretório.

Não se esqueça da extensão do arquivo!

 

Diretório: C:\

Arquivo: fulano.TXT

 

 

Substitua a função OPEN_FILE() que te passei, por essa:

Procedure OPEN_FILE(Directory,FileName:STRING);

BEGIN

(* Lembrando que directory deverá terminar com \

Exemplo: C:\WINDOWS\ *)

if Directory[Length(Directory)] <> '\' then

Directory := Directory + '\';

// Pronto.

 

IF FileExists(Directory+FileName) THEN

ShellExecute(Form1.Handle,'Open',PAnsiChar(FileName),'',PAnsiChar(Directory),SW_SHOWNORMAL)

ELSE

ShowMessage('Arquivo não foi encontrado!');

END;

 

Agora se você digitar o diretório errado, irá receber uma mensagem.

Se você nao receber a mensagem, e o arquivo nao for executado, então pode ser:

-> Você não está nem executando a função.

-> Talvez algum problema no seu WIndows, ou você nao tem permissão, alguma coisa do tipo.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.