Delphi - ajuda com pesquisa de filme

Ola galera, estou precisando da ajuda de vocês, preciso criar um programinha que pesquise um filme de uma pasta do windows e execute ele.
seria mais ou menos assim: vou ter uma lista impressa com filmes numerados de 1 a 100…
a pessoa vai colocar o numero do filme desejado e vai assistir o filme.
só que não quero que apareça o sistema procurando o filme na pasta do windows, quero que a pessoa coloque o numero do filme, dê enter e apareça o nome do filme e pergunte se quer assistir ou escolher outro filme

O quanto você sabe de Delphi?

O sistema terá os filmes listados em um cadastro (usando banco de dados e referenciando o arquivo em disco) ? Ou o sistema terá de buscar nas pastas do computador sozinho?

Como o sistema saberá que o item 42 da lista se refere a um arquivo “quinze_homens_e_um_snowden.mp4” ? Como será armazenada essa relação?

O sistema executará o filme ou simplesmente tentará abrir o arquivo, que será executado pelo programa associado (MediaPlayer, por exemplo)?

Abraço.

1 curtida

Olá, não sei muito de delphi mas sou muito dedicado á aprender.
Desculpa por não ter explicado bem, o sistema vai ter uma pasta certa onde vai ficar os filmes classificados por nomes nas pastas por exemplo "C:/Filmes/01-quinze_homens_e_um_snowden.mp4 "
Nessa Pasta " Filmes " terá subpastas com o nome do filme, e com a numeração no inicio.
Seria interessante se quando a pessoa desse Enter no filme digitado, o filme iniciasse sem aparecer nenhum player, sem aparecer menu de player, só o filme, e assim que o filme terminasse o programa desse uma frase aleatória por exemplo " Espero que tenha gostado ", " Este filme é maravilhoso parabéns pela escolha! ". " E ai curtiu o filme? "

Para navegar nas pastas não é complicado. O Delphi conta com códigos para navegar em pastas e abrir arquivos, basta dar uma pesquisada no Google.

Para executar um arquivo de vídeo pelo Delphi, você pode usar o TMediaPlayer ou parecido ( http://docwiki.embarcadero.com/RADStudio/Seattle/en/Adding_Audio_or_Video_Clips_to_an_Application ), ou algum componente como o VideoLab ( http://www.mitov.com/html/videolab.html ) ou DSPack ( http://sourceforge.net/projects/dspack/ ), dentre outros. Não estou atualizado quanto ao suporte multimídia das versões mais novas do Delphi, mas creio que não deva haver problemas. Você pode, por exemplo, chamar um Form sem bordas para exibir o filme, e ele poderia inclusive ocupar a tela inteira.

Mostrar uma frase no final é uma questão de simplesmente exibir um outro Form com um TLabel. A mensagem pode ser aleatória (com uso de random), com base num conjunto pré-estabelecido de frases.

Abraço.

1 curtida

Amigo muito obrigado pelas dicas, você já me ajudou bastante, fico muito agradecido! Anote meu email ou o whatsapp para podermos falar mais livremente se possível.
Email: michel_antoniolly@hotmail.com
Whatsapp: 21 972233179
Mais uma vez Obrigado.

A ideia do fórum é ajudar, só recomendo não passar seu email (muito menos telefone) via fóruns públicos. Recomendo editar e apagar esses dados.

Abraço.

Olha não consegui usar os códigos para listar um local fixo por mim.
tem como me ajudar?
quero por exemplo que apareça só arquivos do diretorio C:\Filmes
cada filme vai estar dentro de sua pasta, então gostaria de ver tbm as subpastas de “C:\Filmes”

Você está certo, mas jovens dessa geração não estão nem ai pra privacidade, isso é completamente banal pra eles e normal se expor.

Você precisa postar o que tentou até o momento.

Use uma função/procedure como esta:

procedure ListFileDir(Path: string; FileList: TStrings);
var
  SR: TSearchRec;
begin
  if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then
  begin
    repeat
      if (SR.Attr <> faDirectory) then
      begin
        FileList.Add(SR.Name);
      end;
    until FindNext(SR) <> 0;
    FindClose(SR);
  end;
end;

Daí você chama assim:

ListFileDir('C:\Filmes\', ListBox1.Items);

No exemplo acima, os items de um ListBox serão preenchidos com todos os arquivos da pasta “C:\Filmes” .Você pode usar em qualquer componente que tenha TStrings (como um TMemo), ou mesmo adaptar para o que você precisa (como preencher um grid).

Tirado de : http://www.swissdelphicenter.ch/torry/showcode.php?id=1725 . A busca que fiz foi “delphi list files in directory”

Abraço.

Alguma coisa esta dando errado, pode tentar me ajudar com o código ? eu vou mostrar como esta a unit

unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.FileCtrl;

type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure ListFileDir(Path: string; FileList: TStrings);
var
SR: TSearchRec;
end;

var
Form1: TForm1; SR: TSearchRec;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
begin
ListFileDir(‘C:\Filmes’, ListBox1.Items);
end;

procedure TForm1.ListFileDir(Path: string; FileList: TStrings);
begin
if FindFirst(Path + ‘.’, faAnyFile, SR) = 0 then
begin
repeat
if (SR.Attr <> faDirectory) then
begin
FileList.Add(SR.Name);
end;
until FindNext(SR) <> 0;
FindClose(SR);
end;
end;

end.

Não esta aparecendo os arquivos na listbox :confused: