Abri pdf com o Delphi usando ShellExecute - Não consigo
:?
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
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
Curtidas 0
Respostas
Marcelo Saviski
08/06/2004
com base no seu código:
você teria o nome do arquivo pdf a ser aberto dentro do Arquivo.txt, que pode ter qualquer nome
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
Aroldo Zanela
08/06/2004
Colega,
Adicione ExtActns na lista de uses, solte um OpenDialog (odDocumento) e faça algo como:
Desta forma, vai abrir qualquer documento selecionado numa caixa padrão.
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
Nerdex
08/06/2004
Importe e instale o OCX do Acrobat na tua aplicação Delphi...
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?
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