Arquivos em DB SQL / Mostrar ícone de acordo c/ extensão
Olá pessoal, blz?
Estou com duas dúvidas, vamos ver se conseguem me ajudar:
Tenho uma tabela num banco de dados SQL Server, onde armazeno arquivos de clientes, de qualquer tipo(jpeg, pdf, doc, txt, xls, gif, etc...), e preciso listar estes arquivos num DBGrid, ou num DBListBox, ou em algum componente que permita isso...
A dúvida é a seguinte:
Tem como exibir o arquivo em algum componente do delphi, mas com o ícone do arquivo de acordo com a extensão?
Exemplo:
Eu coloco um arquivo .htm, aparece com aquele ícone do Internet Explorer, eu coloco um arquivo .xls, aparece o ícone de arquivos do Excel, etc...
A outra é:
Existe alguma forma de abrir um arquivo que esteja em uma tabela do SQL Server, editá-lo, e salvá-lo novamente dentro da tabela, sem a necessidade do usuário ter que extrair o arquivo do banco, para poder editá-lo, e então jogar no banco novamente?
Isso ajudaria um bocado, porque os usuário reclamam que o programa não fica usual assim, tendo que extrair, editar, localizar o cliente, e então substituir o arquivo antigo do banco, pelo que acabou de ser editado.
É isso pessoal, agradeço antecipadamente a atenção e a ajuda.
Abraços!
Fernando
Estou com duas dúvidas, vamos ver se conseguem me ajudar:
Tenho uma tabela num banco de dados SQL Server, onde armazeno arquivos de clientes, de qualquer tipo(jpeg, pdf, doc, txt, xls, gif, etc...), e preciso listar estes arquivos num DBGrid, ou num DBListBox, ou em algum componente que permita isso...
A dúvida é a seguinte:
Tem como exibir o arquivo em algum componente do delphi, mas com o ícone do arquivo de acordo com a extensão?
Exemplo:
Eu coloco um arquivo .htm, aparece com aquele ícone do Internet Explorer, eu coloco um arquivo .xls, aparece o ícone de arquivos do Excel, etc...
A outra é:
Existe alguma forma de abrir um arquivo que esteja em uma tabela do SQL Server, editá-lo, e salvá-lo novamente dentro da tabela, sem a necessidade do usuário ter que extrair o arquivo do banco, para poder editá-lo, e então jogar no banco novamente?
Isso ajudaria um bocado, porque os usuário reclamam que o programa não fica usual assim, tendo que extrair, editar, localizar o cliente, e então substituir o arquivo antigo do banco, pelo que acabou de ser editado.
É isso pessoal, agradeço antecipadamente a atenção e a ajuda.
Abraços!
Fernando
Robotpost
Curtidas 0
Respostas
Paulocesar1301
11/04/2006
Meu Caro,
Tenho algo bem semelhante aqui... o que fiz foi um ´.res´ e na minha tabela eu tenho 2 campos (um com o próprio arquivo e outro com sua extensão) e al ler o registro, ele testa a extensão e carrega do ´.res´ o tipo correspondente:
No ´.res´
Tem como exibir o arquivo em algum componente do delphi, mas com o ícone do arquivo de acordo com a extensão?
Tenho algo bem semelhante aqui... o que fiz foi um ´.res´ e na minha tabela eu tenho 2 campos (um com o próprio arquivo e outro com sua extensão) e al ler o registro, ele testa a extensão e carrega do ´.res´ o tipo correspondente:
No ´.res´
ICONEJPG ICON "C:\QualquerCaminho\jpeg.ico" ICONEGIF ICON "C:\QualquerCaminho\gif.ico" ICONEPPT ICON "C:\QualquerCaminho\ppt.ico" ...
GOSTEI 0
Robotpost
11/04/2006
Olá amigo.
Vc poderia me dar uma idéia de como trabalhar com arquivos .res?
O que vc faz?Armazena as imagens nele é isso?
Abraços e obrigado pela ajuda.
Fernando
Vc poderia me dar uma idéia de como trabalhar com arquivos .res?
O que vc faz?Armazena as imagens nele é isso?
Abraços e obrigado pela ajuda.
Fernando
GOSTEI 0
Paulocesar1301
11/04/2006
Em etapas:
1-Crie um arquivo texto e troque a extensão para ´.rc´;
» Coloque no ´.res´:
» Tipos: ICON, BITMAP, RCDATA, etc...
Obs.: RCDATA serve para qualquer coisa !
2-Crie um ´.bat´ dentro da mesma pasta onde salvou o ´.rc´ com o seguinte código:
Obs.: O pause é só para ver se tuco correu bem ou se gerou algum erro
» Na mesma pasta será criado um arquivo ´.res´
3-Copie, caso já não esteja, o arquivo ´.res´ para a pasta onde está seu projeto;
4-Coloque uma indicação do ´.res´ em seu projeto:
5-Em seu projeto, você pode extrair o arquivo ou carregar seu conteúdo:
» Extraindo:
» Depois é só ler o arquivo como outro qualquer;
» Lendo direto do ´.res´:
... acho que não esqueci de nada ...
Abraços e Bons Códigos :wink:
1-Crie um arquivo texto e troque a extensão para ´.rc´;
» Coloque no ´.res´:
ICONEJPG ICON "C:\QualquerCaminho\jpeg.ico" ICONEGIF ICON "C:\QualquerCaminho\gif.ico" ICONEPPT ICON "C:\QualquerCaminho\ppt.ico"
» Tipos: ICON, BITMAP, RCDATA, etc...
Obs.: RCDATA serve para qualquer coisa !
2-Crie um ´.bat´ dentro da mesma pasta onde salvou o ´.rc´ com o seguinte código:
echo off C:\Arquiv~1\Borland\Delphi6\Bin\brcc32.exe "C:\CaminhoDoRC\meures.rc" pause
Obs.: O pause é só para ver se tuco correu bem ou se gerou algum erro
» Na mesma pasta será criado um arquivo ´.res´
3-Copie, caso já não esteja, o arquivo ´.res´ para a pasta onde está seu projeto;
4-Coloque uma indicação do ´.res´ em seu projeto:
...
implementation
{$R meures.res}
{$R *.dfm}
5-Em seu projeto, você pode extrair o arquivo ou carregar seu conteúdo:
» Extraindo:
Var ResStream: TResourceStream; Try Try ResStream := TResourceStream.CreateFromID (HInstance, 1, RT_RCDATA); ResStream.SaveToFile(PastaDestino + ´arqbmp.bmp´); Finally ResStream.Free; End; Except ResStream.Free; End;
» Depois é só ler o arquivo como outro qualquer;
» Lendo direto do ´.res´:
Image1.Picture.Icon.Handle := LoadIcon(HInstance, ´ICONEJPG´);
... acho que não esqueci de nada ...
Abraços e Bons Códigos :wink:
GOSTEI 0
Robotpost
11/04/2006
Olá amigo.
Muito obrigado, vc abriu a minha mente c/ esta explicação.. rs
Vai ser de enorme utilidade, obrigado mesmo!
Fernando
Muito obrigado, vc abriu a minha mente c/ esta explicação.. rs
Vai ser de enorme utilidade, obrigado mesmo!
Fernando
GOSTEI 0
Paulocesar1301
11/04/2006
:lol: Agente fazemos o que agente podemos :lol:
GOSTEI 0