Fórum Abri pdf com o Delphi usando ShellExecute - Não consigo #236706
08/06/2004
0
Olá galera, já postei algo semelhante porém ninguém me respondeu. Acho que não tão difícil assim não sei fazer pois não entendo direito como trabalhar com arquivos txt.
Minha dúvida é a seguinte:
Estou usando o Delphi 7 para abrir um arquivo pdf, estou usando este código.
var teste: cardinal;
begin
teste := ShellExecute(Application.Handle, ´open´, PChar(´arquivo.pdf´), nil, nil, SW_SHOWMAXIMIZED);
if teste = 2 then ShowMessage(´O arquivo não existe´)
else
if teste = 31 then ShowMessage(´O Acrobat Reader nao foi instalado´);
Está abrindo normalmente o arquivo pdf. O problema é que eu queria que no lugar do ´arquivo.pdf´ onde eu fico preso a este nome do arquivo pdf para que este seja aberto, gostaria de fazer com que o ShellExecute buscasse o nome do arquivo a ser aberto em um arquivo txt, dessa forma poderia alterar o nome do arquivo, não precisaria utilizar apena arquivo.pdf. Ficaria a gosto do cliente.
Como poderia fazer isto?
Por favor, me ajudem
Lhcsilva
Curtir tópico
+ 0Posts
08/06/2004
Marcelo Saviski
var Arquivo: PChar; ArqTxt: TStrings; begin ArqTxt := TStringList.create; ArqTxt.LoadFromFile(´Arquivo.txt´); Arquivo := PChar(ArqTxt.Text); Arqtxt.Free; case ShellExecute(Application.Handle, ´open´, Arquivo, nil, nil, SW_SHOWMAXIMIZED) of 2: ShowMessage(´O arquivo não existe´); 31: then ShowMessage(´O Acrobat Reader nao foi instalado´); end; end;
você teria o nome do arquivo pdf a ser aberto dentro do Arquivo.txt, que pode ter qualquer nome
Gostei + 0
08/06/2004
Aroldo Zanela
Adicione ExtActns na lista de uses, solte um OpenDialog (odDocumento) e faça algo como:
With TFileRun.Create(Self) do begin FileName := 0dDocumento.FileName; Operation := ´open´; Execute; Free; end;
Desta forma, vai abrir qualquer documento selecionado numa caixa padrão.
Gostei + 0
13/06/2004
Nerdex
Feito isto... faça o que quizer com arquivos PDF...
Creio que é incabível para esta atitude o ´chamamento´ de todo o exe c/ ShellExecute. Deixe sua aplicação mais profissional e inteligente, para isto use o OCX...Ok?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)