Page 1 of 1

Trabalhar com IMAGENS em REDE

Posted: Mon Aug 14, 2006 1:40 am
by AOKISANTOS
:oops:

Amigos, qual a melhor maneira de se trabalhar com imagens de produtos em em rede?

Tenho 3 TERMINAIS e um SERVIDOR - Eu estava pensando em colocar as imagens no servidor e fazer os TERMINAIS busca-las. Porem estava pensando... são imagen BMP de 200 kb cada uma, será que vai dar algum problema de lenditão na hora de carregar estas imagens nos TERMINAIS ? ou seria melhor usar JPG?

Por favor amigos, alguem com experiencia me ajude!

Antonio HELP - ME

Desde já agradeço a todos

AOKI SANTOS

Re: Trabalhar com IMAGENS em REDE

Posted: Mon Aug 14, 2006 2:24 pm
by Maurilio Viana
Aoki, se usa arquivos DBF/CDX, grave as imagens em um campo tipo BLOB, se houver uma pasta fixa onde essas imagens ficam, chame-as desta pasta (e não se esqueça de inclui-las no backup).
Prefira imagens jpg, as bmp ficam muito grandes.
Trabalho com imagens nos produtos, mas gravo todas no banco de dados (Firebird). Mas com DBF/CDX tb funciona. O problema é que o arquivo fica enorme, inclusive recomendo que tenha um dbf so pra isso.

[ ]'s
Maurilio

Re: Trabalhar com IMAGENS em REDE

Posted: Wed Aug 16, 2006 12:36 am
by AOKISANTOS
Maurilio Viana wrote:Aoki, se usa arquivos DBF/CDX, grave as imagens em um campo tipo BLOB, se houver uma pasta fixa onde essas imagens ficam, chame-as desta pasta (e não se esqueça de inclui-las no backup).
Prefira imagens jpg, as bmp ficam muito grandes.
Trabalho com imagens nos produtos, mas gravo todas no banco de dados (Firebird). Mas com DBF/CDX tb funciona. O problema é que o arquivo fica enorme, inclusive recomendo que tenha um dbf so pra isso.

[ ]'s
Maurilio
Maurilio, DESCULPE A ORELHICE, O QUE É CAMPO TIPO BLOB??? Outra coisa, eu uso a classe TREPORT do FW, e ela pelo que sei, só aceita BMP na impressão... existe alguma solução?
Amigo, o banco de dados FIREBIRD é free?

Desde já te agradeço a ajuda...

AOKISANTOS

Re: Trabalhar com IMAGENS em REDE

Posted: Wed Aug 16, 2006 11:43 am
by Maurilio Viana
Aoki, campo blob é um campo memo que guarda arquivos binários, de qualquer tipo. Vc cria do mesmo jeito que cria um dbf comum:
Um pequeno exemplo:

Code: Select all

aStru := {{"CODIGO", "C", 6, 0},;
               {"FOTO_BMP", "M", 10, 0}}
dbcreate("FotoPrd", aStru)
...
// Para salvar teste.bmp no dbf
#include "blob.ch"
...
append blank
replace codigo with "000001"
if ! BLOBImport( FieldPos( "FOTO_BMP" ),"teste.bmp" )
   Msginfo("Falha ao gravar a imagem, tente novamente", ATENCAO )
   return Nil
endif
...
// Para recuperar a foto como Temp.bmp
ferase("Temp.bmp")
dbseek(........)
if ! BLOBExport(FieldPos("FOTO_BMP"), "Temp.bmp", BLOB_EXPORT_OVERWRITE )
      Msginfo( "Falha na criação do arquivo de foto" )
endif
...
Outra coisa que vc pode fazer é guardar além da foto, o nome original dela num campo, assim vc recupera ela com o nome certo. No meu caso, como eu so abria uma foto por vez, eu salvava todas como temp.bmp
Quanto ao Firebird, é free, sim. Mas no seu caso vc resolve facil gravando no DBF, so fique esperto com o tamanho dos BMPs, pois seu dbf vai crescer bastante. Ah, use DBFCDX, com DBFNTX nao funciona.

[]'s
Maurilio

Posted: Wed Dec 20, 2006 12:32 am
by reinaldocrespo
Maurilio;

hi.

I tried your sample code. I have two problems:
#1.
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_HB_FUN_BLOBEXPORT' referenced from F:\MP\PATHLABS\IMAGE.OBJ
Error: Unresolved external '_HB_FUN_BLOBIMPORT' referenced from F:\MP\PATHLABS\IMAGE.OBJ
#2.
Warning W0001 Ambiguous reference: 'BLOB_EXPORT_OVERWRITE'
Please advise where are BLOB constans being defined and what .lib is needed when blob functions are used with xharbour. Thank you.



Reinaldo.