GARANTIR DESCONTO

Fórum clicar no nome do arquivo e ele abrir... #278631

23/04/2005

0

Pessoal quero fazer o seguinte:

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

Slyavalon

Responder

Posts

24/04/2005

Edilcimar

1) coloque um filelistbox e um image
2) Image1.Picture.LoadFromFile(FileListBox1.FileName);
3) É configurado no windows em abrir com


Responder

Gostei + 0

02/05/2005

Slyavalon

Bom pessoal consegui, só tem mais uma coisinha:
usando o componente image ele só abre arquivos bmb.
Quero que abra qualquer imagem.

Ps: ainda hoje irei postar o código que tenho...


Responder

Gostei + 0

02/05/2005

Gandalf.nho

Originalmente, o componente Image só abre BMP, ICO e WMF. Para outros formatos é necessário incluir units que trabalham com esses formatos extras. Para trabalhar com JPEG inclua a unit JPEG que acompanha o Delphi, para outros formatos uma sugestão é o pacote GraphicEx


Responder

Gostei + 0

02/05/2005

Anfm

Inclua na seção uses: Registry

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]


Responder

Gostei + 0

02/05/2005

Nerdex

Quero que abra qualquer imagem.


//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...


Responder

Gostei + 0

03/05/2005

Slyavalon

Valeu mesmo galera irei testar e postarei o resultado!!!!


Responder

Gostei + 0

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

Aceitar