Fórum Para os Feras em API do Windows #173981

08/08/2003

0

Estou precisando de uma função da API que me retorne o nome do arquivo que o usuário deu dois cliques. Explico:

No Word, por exemplo quando o usuário dá dois cliques em um arquivo com a terminação .doc o word é inicializado com o arquivo que foi clicado carregado.
Eu preciso que qdo um arquivo .qrp for clicado o mesmo abra o quickrep com o arquivo carregado. Para isto eu preciso que quando eu for carregar automaticamente o .qrp eu saiba o nome do arquivo executado para passar como parâmetro para o mesmo.


Mauromarques

Mauromarques

Responder

Posts

08/08/2003

Leanribas

vc pode atraves do Windows associar o arquivo ao seu programa...

no Windows explorer vc pode ir em Ferramentas e clique no item ´opções de pasta´ e na tela que apareçe clique na aba ´tipos de arquivo´


Responder

Gostei + 0

08/08/2003

4_olho

O QuickReport NÃO é uma aplicativo, portanto NUNCA não vai abrir arquivos de extensão [b:8ac88a779b].qrp[/b:8ac88a779b].

Sugestão : um pequeno aplicativo Delphi, com um só form de relatório e um comando de inicialização onde dá o Preview de seu arquivo.

Depois basta associar esta sua aplicação à extensão .qrp, mas aí é pelo Ruindows.


Responder

Gostei + 0

09/08/2003

Mauromarques

As observações citadas acima eu já fiz. O problema é que o .qrp abre automaticamente mas com o conteudo em branco. Por isto eu preciso saber qual o arquivo foi clicado para poder passar por parâmetro para o Quickrep. por exemplo:

no evento onActive
QuickRep1.Printer.Load(´C:\Nome do Arquivo´);

que deve ser passado como parâmetro.


Responder

Gostei + 0

09/08/2003

Cebikyn

Como você já seguiu todos os passos a cima, você deve ter colocado em algum lugar o nome do aplicativo que deve ser aberto, então neste mesmo local coloque um espaço e [b:ab1d9c4281]´¬1´[/b:ab1d9c4281] após o nome do programa, aí o nome do arquivo será passado como parâmetro pelo Windows para o seu programa. Depois para ver o nome do arquivo use:
ParamStr[1]

O comando a cima retornará uma string, então é só colocar no seu evento OnActive:
QuickRep1.Printer.Load(ParamStr[1]);


Não tenho muita certeza se o nome da função ParamStr está escrito certo, mas qualquer coisa é só perguntar...


Responder

Gostei + 0

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

Aceitar