Fórum Ajuda com Projeto #375587
04/10/2009
0
Nome do arquivo:
MELISSA BARCELOS - ENQUANTO EU VIVER - FAIXA 1
A busca identificaria se o usuário digitasse qualquer palavra do arquivo e listasse em algum ListView.
Outra solicitação que fizeram foi do tempo de resposta da consulta, ser o mais rápido possível.
Vocês tem alguma idéia?
Já fizeram algum projeto semelhante?
Jpauloss
Curtir tópico
+ 0Posts
05/10/2009
Baker
Uma das maneiras (se fosse eu), faria uma aplicação com banco de dados que acessasse a pasta previamente configurada. O sistema gravaria o nome de todos os arquivos da pasta (ou somente vídeos) em uma tabela e quando fizer uma consulta, fará em SQL, o que poderá ser bem rápido trazendo como resultado o local do arquivo e ao dar clicar duas vezes abriria o arquivo. E Mais, depois você poderia fazer um indexador que fique gerenciando a(s) pasta(s) e seus arquivos incluídos ou excluídos.
Mas caso você não queria tanta complicação, segue abaixo uma unit que adaptei de um código que um dia usei. Só falta você adaptar para que a função faça uma busca para cada uma das palavras digitadas exceto de artigos definidos e suas declinações para que a busca seja mais exata.
Qualquer coisa é só mandar e-mail. Falow e até mais.
unit Unit1;
interface
uses
Windows, Messages, URLmon, Shellapi, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, FileCtrl, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
Edit2: TEdit;
ListBox1: TListBox;
function Procurar_Arquivo(Diretorio, Arquivo: String): Boolean;
procedure SpeedButton1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function TForm1.Procurar_Arquivo(Diretorio, Arquivo: String): Boolean;
var
Temp1: Integer;
Temp2: TSearchRec;
Proximo_Diretorio: String;
begin
Result:=False; //Se True, achou o arquivo
Diretorio:=Trim(Diretorio);
if Diretorio[Length(Diretorio)]<>´\´ then Diretorio:=Diretorio+´\´;
if FindFirst(Diretorio+Arquivo,faAnyFile,Temp2)=0 then Result:=True //Verifica diretório
else //Verifica sub-diretórios
begin
FindClose(Temp2);
Temp1:=FindFirst(Diretorio+´*.*´,faDirectory,Temp2);
while (Temp1=0) and (not Result) do
begin
if (Temp2.Name<>´.´) and (Temp2.Name<>´..´) then //Não procura por diretórios e sim por arquivos
begin
Proximo_Diretorio:=Diretorio+Temp2.Name+´\´;
Result:=Procurar_Arquivo(Proximo_Diretorio,Arquivo);
Label1.Caption:=Copy(Proximo_Diretorio,1,Length(Proximo_Diretorio)-1);
if Result then
begin
Result:=False;
Diretorio:=Proximo_Diretorio; //Se achou, próximo arquivo
listbox1.Items.Add(Proximo_Diretorio+Arquivo);
end;
end;
Temp1:=FindNext(Temp2);
Application.ProcessMessages;
end;
FindClose(Temp2);
end;
if not Result then Diretorio:=´´;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
var nome: pchar;
begin
Procurar_Arquivo(edit2.Text,edit1.text);
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
if edit1.text=´´ then
speedbutton1.Enabled:=false
else
speedbutton1.Enabled:=true;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
speedbutton1.OnClick(edit1);
end;
end.
Gostei + 0
05/10/2009
Jpauloss
Obrigado pelo retorno.
Os arquivos de vídeos ficariam gravados no banco de dados, ou só o lugar onde estão?
Você já fez alguns desses?
Gostei + 0
05/10/2009
Baker
Um sistema tão específico assim eu nunca fiz. O que eu fiz a uns tempos atras foi um sistema de monvimentação de pessoas (entrada, saída, agendamento, reconhecimento de placa de veículo e crachá) + sistema servidor que faz os tratamentos dos dados. Neste client, a imagem da webcam era salva numa pasta e o local da mesma era salva no banco de dados.
Depende muito das imagens, mas digamos que 90 ¬ dos programadores não salvam a imagem no banco e sim só o caminho. No seu caso são vídeos, então mais do que interessante é salvar somente o local.
Até mais.
Gostei + 0
06/10/2009
Jpauloss
Querendo salvar esses videos no FB teria condições?
Gostei + 0
07/10/2009
Baker
Nunca fiz isso com vídeo, mas creio que seja o mesmo procedimento de inclusão de imagem. Dê uma pesquisada aqui no forum sobre o assunto, pois acho que já vi aqui algum tópico explicando muito bem como se faz isso.
Até mais cara
Gostei + 0
08/10/2009
Luiz_aquino
Pq vc não cria um servidor de storage de video e desenvolva um sistema para gerenciar isso!
vc define a origem, aponta as informações e o proprio sistema faz o gerenciamento, colocando o nome e a copia do arquivo que é transparente para o usuário
Gostei + 0
08/10/2009
Baker
COncordo com o Luiz, basta que você defina os parametros de sua aplicação, se for algo simples e que não vá crescer, faça algo leve e de fácil acesso e sem complicações, caso seja algo grande ou que a tendencia seja de crescer ainda mais, crie uma estrutura legal com um server e um client.
PS: Nas ambas opções, evite salvar as imagens no banco... somente o caminho.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)