Fórum clicar no nome do arquivo e ele abrir... #278631
23/04/2005
0
1- Listar todos os arquivos de um diretório;
2- Ao clicar em um dos arquivos exibir uma foto;
3- E executar o arquivo e ele abrir com um programa que eu indicar;
Isto é para um cd que estou querendo fazer. Nele serão colocados várias roms, ao escolher uma ele sera executado e abrira com o emulador que vai junto...
Só consegui fazer o passo 1.
Qualque ajuda será apreciada.
Slyavalon
Curtir tópico
+ 0Posts
24/04/2005
Edilcimar
2) Image1.Picture.LoadFromFile(FileListBox1.FileName);
3) É configurado no windows em abrir com
Gostei + 0
02/05/2005
Slyavalon
usando o componente image ele só abre arquivos bmb.
Quero que abra qualquer imagem.
Ps: ainda hoje irei postar o código que tenho...
Gostei + 0
02/05/2005
Gandalf.nho
Gostei + 0
02/05/2005
Anfm
Problema:
Criei um editor de textos no Delphi. Agora gostaria que o Windows Explorer usasse este editor para abrir arquivos com a extensão .dpg e .dan. Como fazer?
Solução:
Para fazer isto será necessária a criação de algumas chaves no Registro do Windows. O exemplo abaixo cria todas as chaves necessárias.
- Coloque um TButton e no evento OnClick dele coloque o código abaixo:
procedure TForm1.Button1Click(Sender: TObject);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.LazyWrite := false;
{ Define o nome interno (ArquivoDaniel) e uma legenda que aparecerá no Windows Explorer (Arquivo do Daniel) }
Reg.OpenKey(´ArquivoDaniel´, true);
Reg.WriteString(´´, ´Arquivo do Daniel´);
Reg.CloseKey;
{ Define o comando a ser executado quando abrir um arquivo pelo Windows Explorer (NomeDoExe ¬1). O símbolo ¬1 indica que o arquivo a ser aberto será passado como primeiro parâmetro para o aplicativo - ParamStr(1). }
Reg.OpenKey(´ArquivoDaniel\shell\open\command´, true);
Reg.WriteString(´´, ParamStr(0) + ´ ¬1´); { NomeDoExe ¬1 }
Reg.CloseKey;
{ Define o ícone a ser usado no Windows Explorer:
0 - primeiro ícone do EXE
1 - segundo ícone do EXE, etc }
Reg.OpenKey(´ArquivoDaniel\DefaultIcon´, true);
Reg.WriteString(´´, ParamStr(0) + ´,0´); { 0 = primeiro ícone }
Reg.CloseKey;
{ Define as extensões de arquivos que serão abertos pelo meu aplicativo }
{ *.dpg }
Reg.OpenKey(´.dpg´, true);
Reg.WriteString(´´, ´ArquivoDaniel´);
Reg.CloseKey;
{ *.dan }
Reg.OpenKey(´.dan´, true);
Reg.WriteString(´´, ´ArquivoDaniel´);
Reg.CloseKey;
finally
Reg.Free;
end;
end;
- Coloque um TMemo;
- No evento OnShow do Form coloque o código abaixo:
procedure TForm1.FormShow(Sender: TObject);
begin
{ Se o primeiro parâmetro for um nome de arquivo existente... }
if FileExists(ParamStr(1)) then
{ Carrega o conteúdo do arquivo no memo }
Memo1.Lines.LoadFromFile(ParamStr(1));
end;
*** Para testar ***
- Execute este programa;
- Clique no botão para criar as chaves no Registro do Windows;
- Feche o programa;
- Crie alguns arquivos com as extensões .dpg e .dan;
- Vá ao Windows Explorer e procure pelos arquivos criados;
- Experimente dar um duplo-clique sobre qualquer dos arquivos com uma das extensões acima.
Observações
Existem outros recursos que poderão ser configurados. Porém, para começar, este já é um bom exemplo.
[b:c1b935dfaa]Dica Retirada do DTDelphi 2.7 - Dica 399[/b:c1b935dfaa]
Gostei + 0
02/05/2005
Nerdex
//Inclua axCtrls na seção uses da tua Unit procedure TForm1.Button1Click(Sender: TObject); var OleGraphic: TOleGraphic; fs: TFileStream; begin try OleGraphic := TOleGraphic.Create; fs := TFileStream.Create(´C:\...\test.gif´, fmOpenRead or fmSharedenyNone); OleGraphic.LoadFromStream(fs); Image1.Picture.Assign(OleGraphic); finally fs.Free; OleGraphic.Free end; end;
Teste isso... para mim não funcionou com *.PNG, mas com Gif, Ico, Jpeg foi show...
Favor retornar um msg aqui com uma lista de arquivos de imagens reconhecidos utilizando este método COM da M$oft...
Gostei + 0
03/05/2005
Slyavalon
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)