Arquivos em DB SQL / Mostrar ícone de acordo c/ extensão

11/04/2006

0

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


Robotpost

Robotpost

Responder

Posts

12/04/2006

Paulocesar1301

Meu Caro,

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



Responder

12/04/2006

Robotpost

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


Responder

12/04/2006

Paulocesar1301

Em etapas:

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:


Responder

12/04/2006

Robotpost

Olá amigo.

Muito obrigado, vc abriu a minha mente c/ esta explicação.. rs
Vai ser de enorme utilidade, obrigado mesmo!

Fernando


Responder

12/04/2006

Paulocesar1301

:lol: Agente fazemos o que agente podemos :lol:


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar