2 cliques no arquivo abre meu programa

Delphi

02/04/2003

estou criando um editor de texto e consegui fazer fazer meu programa abrir quando eu dou 2 cliques nos arquivos .txt...

meu problema é este: quando eu dou 2 cliques num arquivo (ex: leiame.txt) meu programa abre, mas o texto que está escrito no arquivo não aparece, o que posso fazer pra solucionar esse problema?

obrigado pela ajuda :roll: :lol:


Zico

Zico

Curtidas 0

Respostas

Fabio Gimenez

Fabio Gimenez

02/04/2003

Estou com o mesmo problema, me de uma dica se já encontrou a solução

Ats.
Fabio
fabio_gimenez@ig.com.br


GOSTEI 0
Obubiba

Obubiba

02/04/2003

Eu não sei como vocês fizeram para abrir o arquivo.
Eu utilizo o registro do Windows para isso, mas não estou me lembrando, eu vou procurar aqui, pois tenho um programa que funciona corretamente. Assim que eu encontrar eu posto aqui como é.


GOSTEI 0
Dhiogo

Dhiogo

02/04/2003

se o metodo de abrir o programa de acordo com o arquivo esta correto (´programa.exe ¬1´) basta adicionar esse codigo no oncreate do form.

memo1.lines.loadfromfile(paramstr(0));


GOSTEI 0
Mrkalvin

Mrkalvin

02/04/2003

Faça assim:

Exemplo das entradas do registro:

procedure TForm1.Button1Click(Sender: TObject);
begin
with TRegIniFile.Create(´´) do
try
RootKey := HKEY_CLASSES_ROOT;
WriteString(´.txt´, ´´, ´txtfile´);
WriteString(´txtfile´, ´´, ´Descrição do arquivo txt´);
WriteString(´txtfile\DefaultIcon´, ´´, ´C:\Meu editor.exe,0´);
WriteString(´txtfile\Shell\open\command´, ´´, [b:d83d63a5fb]´C:\Meu editor.exe ¬1´[/b:d83d63a5fb]);
finally
Free;
end;
end;


No evento OnShow do Form coloque o código abaixo:

procedure TForm1.FormShow(Sender: TObject);
begin
if FileExists(ParamStr(1)) then
Memo1.Lines.LoadFromFile(ParamStr(1));
end;

Se no registro não colocar o [b:d83d63a5fb]¬1[/b:d83d63a5fb], o programa será chamado mas o arquivo não irá abrir no memo1.


GOSTEI 0
Obubiba

Obubiba

02/04/2003

WriteString(´txtfile´, ´´, ´Descrição do arquivo txt´); WriteString(´txtfile\DefaultIcon´, ´´, ´C:\Meu editor.exe,0´); WriteString(´txtfile\Shell\open\command´, ´´, [b]´C:\Meu editor.exe ¬


Era exatamente isto que eu estava procurando. Eu havia anotado em um caderno, mas nem eu mesmo estava entendendo as anotações.


GOSTEI 0
Fabio Gimenez

Fabio Gimenez

02/04/2003

Funcionou direitinho essa dica, mas ainda tenho um problema...
Coloquei um código no projeto para não abrir mas que uma instancia do programa, então quando clico em um arquivo associado ele abre o programa e o arquivo, mas quando escolho outro arquivo, ele não abre, apenas mostra o programa novamente.
Tentei colocar uma rotina para modificar o memo1 do formulario principal no arquivo de abertura de projeto, mas da pau na horaque abre.
Alguem poderia me ajudar???

Ats.
Fabio Gimenez


obs: Esse caras do fórum do clube Delphi são unidos mesmo hein...boa gente


GOSTEI 0
POSTAR