oribeiro Posted May 25, 2012 Report Share Posted May 25, 2012 Pessoal, Criei um campo GET com BITMAP e ACTION mas o botão da imagem esconde os centavos do campo. Assim: ( 0,[]), onde [] é o lugar em que fica o botão do BITMAP. Qual é a configuração para isso não acontecer? Obrigado, Oscar Ribeiroid=size4> OASyS Informáticaid=blue>id=size4> Fwh+xHb1.0.0+BCC55+WorkShopid=size1> Quote Link to comment Share on other sites More sharing options...
oribeiro Posted May 25, 2012 Report Share Posted May 25, 2012 Pessoal, Criei um campo GET com BITMAP e ACTION mas o botão da imagem esconde os centavos do campo. Assim: ( 0,[]), onde [] é o lugar em que fica o botão do BITMAP. Qual é a configuração para isso não acontecer? Obrigado, Oscar Ribeiroid=size4> OASyS Informáticaid=blue>id=size4> Fwh+xHb1.0.0+BCC55+WorkShopid=size1> Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted May 25, 2012 Report Share Posted May 25, 2012 Tavez o tamanho do get, esteja menor que o que vc esta usando com os numeros mais o tamanho da imagem. Dimob / SPED(pis/cofins) ..:: Este post é uma opnião pessoal, NAO DEVE SER ENCARADO COMO VERDADE ABSOLUTA ::.. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted May 25, 2012 Report Share Posted May 25, 2012 Defini a propriedade do GET como LEFT e uma PICTURE que chegou próxima do botão e resolveu. Obrigado, Oscar Ribeiroid=size4> OASyS Informáticaid=blue>id=size4> Fwh+xHb1.0.0+BCC55+WorkShopid=size1> Quote Link to comment Share on other sites More sharing options...
marcioe Posted November 9, 2012 Author Report Share Posted November 9, 2012 AMIGOS NO MEU SISTEMA TEM UMA OPÇAO DE GRAVAR FOTO DO CLIENTE. FUNCIONAVA BLZ porem o cliente comprou uma WEB CAM melhor. dai funciona porem algumas fotos ele não aceita grava. da erro como a tabela de fotos foi dedinida erro ao tentar gravar informaisvrb@gmail.com MSN mastermarvrb@msn.com SKYPE informaisvrb .: 32-9104-0562 :. Quote Link to comment Share on other sites More sharing options...
marcioe Posted November 9, 2012 Author Report Share Posted November 9, 2012 AMIGOS NO MEU SISTEMA TEM UMA OPÇAO DE GRAVAR FOTO DO CLIENTE. FUNCIONAVA BLZ porem o cliente comprou uma WEB CAM melhor. dai funciona porem algumas fotos ele não aceita grava. da erro como a tabela de fotos foi dedinida erro ao tentar gravar informaisvrb@gmail.com MSN mastermarvrb@msn.com SKYPE informaisvrb .: 32-9104-0562 :. Quote Link to comment Share on other sites More sharing options...
atnsoft Posted November 9, 2012 Report Share Posted November 9, 2012 O campo foto tá como blob ? Voce ta convertendo a imagem usando o memowrit ? note que a conversão é de max 64K Mas o que dá pra ver como erro é perda de conexão, aumente o timeout do mysql. AtnSoft(Antenor Rabello) - xHarbour 0.99.71 / FwH 7.05 / Verce C. Procópio - PR Quote Link to comment Share on other sites More sharing options...
marcioe Posted November 9, 2012 Author Report Share Posted November 9, 2012 citação:O campo foto tá como blob ? R-> LONGBLOB Voce ta convertendo a imagem usando o memowrit ? R-> SIM note que a conversão é de max 64K Mas o que dá pra ver como erro é perda de conexão, aumente o timeout do mysql. OBS: ALGUMAS FOTOS GRAVA, OUTRAS ELE NÃO GRAVA. AtnSoft(Antenor Rabello) - xHarbour 0.99.71 / FwH 7.05 / Verce C. Procópio - PR id=quote>id=quote>informaisvrb@gmail.com MSN mastermarvrb@msn.com SKYPE informaisvrb .: 32-9104-0562 :. Quote Link to comment Share on other sites More sharing options...
marcioe Posted November 9, 2012 Author Report Share Posted November 9, 2012 será o que está ocorrendo informaisvrb@gmail.com MSN mastermarvrb@msn.com SKYPE informaisvrb .: 32-9104-0562 :. Quote Link to comment Share on other sites More sharing options...
marcioe Posted November 10, 2012 Author Report Share Posted November 10, 2012 mexi em um monte de coisas e não dá certo. informaisvrb@gmail.com MSN mastermarvrb@msn.com SKYPE informaisvrb .: 32-9104-0562 :. Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 10, 2012 Report Share Posted November 10, 2012 Será que dava para mostrar a parte do código-fonte onde você lê e grava a foto? Talvez alguém possa achar o caminho do erro por aÃ. Marciano Queiroz Teixeira de Freitas-Ba FW 10.12 + xHb 1.2.1 | BCC 5.82 | SQLLIB | PAF-ECF | TEF | NF-e | SPED Fiscal | PBM´s | Biometria | Ret.XML NF-e Quote Link to comment Share on other sites More sharing options...
kleyber Posted November 11, 2012 Report Share Posted November 11, 2012 Marcio, Está parecendo erro ocasionado por limitação do próprio MySQL. Que tipo de tabela é: MYISAM ou INNODB? Veja os limites no MY.INI, dependendo do tipo de tabela, que resolve o problema Kleyber Derick xHarbour 1.1.0 + FWH 8.02 + xDevStudio + SQLLIB (98) 8162-1301 Visite São LuÃs - MA A Ilha dos Amores Quote Link to comment Share on other sites More sharing options...
marcioe Posted November 12, 2012 Author Report Share Posted November 12, 2012 *------------------------------------------------------------------------------- * carregar a foto do cliente *------------------------------------------------------------------------------- FUNCTION CARREGA_FOTO_CLIENTE_SQL() IF SELECT("foto_cliente") != 0 foto_cliente->(DbCloseArea()) ENDIF cQuery:='select * from foto_cliente where CODIGO_CLIENTE = ' + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) + ' ORDER BY ID_FOTO DESC' use sql cQuery alias "foto_cliente" new via 'MYSQL' foto_cliente->( DbGoTop()) IF LEN(ALLTRIM(foto_cliente->FOTO)) != 0 cFile := foto_cliente->FOTO nH := fCreate("TMP_IMG.JPG") fWrite(nH,cFile) fClose(nH) cFile := DRIVE_TR+"\"+CURDIR() + "\TMP_IMG.JPG" T_FOTOGRAFIA := cFile oT_FOTOGRAFIA :LoadBmp(cFile) ELSE T_FOTOGRAFIA := SPACE(200) cFile := SPACE(200) PalBmpFree( oT_FOTOGRAFIA:hBitmap, oT_FOTOGRAFIA:hPalette ) oT_FOTOGRAFIA :LoadBmp(cFile) ENDIF oT_FOTOGRAFIA :refresh() RETURN .T. *------------------------------------------------------------------------------- * Gravar a foto do cliente *------------------------------------------------------------------------------- FUNCTION INSERE_APAGA_FOTO_CLIENTE(T_OPERACAO_CLIENTES) T_ID_FOTO := 0 Cursor("SQL") IF SELECT("foto_cliente") != 0 foto_cliente->(DbCloseArea()) ENDIF cQuery:='select * from foto_cliente where CODIGO_CLIENTE = ' + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) + ' ORDER BY ID_FOTO DESC' use sql cQuery alias "foto_cliente" new via 'MYSQL' foto_cliente->( DbGoTop()) T_ID_FOTO := foto_cliente->ID_FOTO IF LEN( T_FOTOGRAFIA) != 0 IF T_ID_FOTO == 0 IF SELECT("foto_cliente") != 0 foto_cliente->(DbCloseArea()) ENDIF BEGIN TRANSACTION cQuery_Mtabela := "INSERT INTO foto_cliente ( " cQuery_Mtabela := cQuery_Mtabela + " CODIGO_CLIENTE " cQuery_Mtabela := cQuery_Mtabela + ",DATA_FOTO " cQuery_Mtabela := cQuery_Mtabela + ",FOTO " cQuery_Mtabela := cQuery_Mtabela + " ) VALUES ( " cQuery_Mtabela := cQuery_Mtabela + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) + "," cQuery_Mtabela := cQuery_Mtabela + TRANSFORMA_SQL(DATE(),"D",08,0) + "," cQuery_Mtabela := cQuery_Mtabela + ANY2SQL( MemoRead( ALLTRIM(T_FOTOGRAFIA) ) ) cQuery_Mtabela := cQuery_Mtabela + " )" COMITAR_DADOS_SQL(cQuery_Mtabela) END TRANSACTION ELSE IF SELECT("foto_cliente") != 0 foto_cliente->(DbCloseArea()) ENDIF BEGIN TRANSACTION cQuery_Mtabela := "UPDATE foto_cliente SET " cQuery_Mtabela := cQuery_Mtabela + "CODIGO_CLIENTE = " + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) + "," cQuery_Mtabela := cQuery_Mtabela + "DATA_FOTO = " + TRANSFORMA_SQL(DATE(),"D",08,0) + "," cQuery_Mtabela := cQuery_Mtabela + "FOTO = " + ANY2SQL( MemoRead( ALLTRIM(T_FOTOGRAFIA) ) ) cQuery_Mtabela := cQuery_Mtabela + " WHERE ID_FOTO = " + TRANSFORMA_SQL(T_ID_FOTO,"N",06,0) COMITAR_DADOS_SQL(cQuery_Mtabela) END TRANSACTION ENDIF ELSE BEGIN TRANSACTION cQuery_Mtabela := 'DELETE from foto_cliente where CODIGO_CLIENTE = ' + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) COMITAR_DADOS_SQL(cQuery_Mtabela) END TRANSACTION ENDIF RETURN .T. id=code>id=code>informaisvrb@gmail.com MSN mastermarvrb@msn.com SKYPE informaisvrb .: 32-9104-0562 :. Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 13, 2012 Report Share Posted November 13, 2012 Marcio, eu não sei se vai resolver, mas você pode tentar gravar o arquivo de imagem, convertendo para hexadecimal, antes de colocar na query, ao invés de colocá-lo da forma que você está fazendo. É só você utilizar a função Str2Hex() e Hex2Str(). Eu faço assim, e nunca tive problemas. Crie o campo da imagem como LONGBLOB, e coloque como valor DEFAULT, um espaço em branco, porém, já em hexadecimal. Str2Hex(' '). Dessa forma, toda vez que você ler esse campo, use Hex2Str(). Quando for gravar, use Str2Hex(). Isso evita que sejam gravados no banco de dados, caracteres especiais, pois o campo blob é gravado como texto, e não como imagem. Marciano Queiroz Teixeira de Freitas-Ba FW 10.12 + xHb 1.2.1 | BCC 5.82 | SQLLIB | PAF-ECF | TEF | NF-e | SPED Fiscal | PBM´s | Biometria | Ret.XML NF-e Quote Link to comment Share on other sites More sharing options...
marcioe Posted November 13, 2012 Author Report Share Posted November 13, 2012 SERIA ASIM AMIGO *------------------------------------------------------------------------------- * carregar a foto do cliente *------------------------------------------------------------------------------- FUNCTION CARREGA_FOTO_CLIENTE_SQL() IF SELECT("foto_cliente") != 0 foto_cliente->(DbCloseArea()) ENDIF cQuery:='select * from foto_cliente where CODIGO_CLIENTE = ' + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) + ' ORDER BY ID_FOTO DESC' use sql cQuery alias "foto_cliente" new via 'MYSQL' foto_cliente->( DbGoTop()) IF LEN(ALLTRIM(foto_cliente->FOTO)) != 0 cFile := Hex2Str(foto_cliente->FOTO)id=red> nH := fCreate("TMP_IMG.JPG") fWrite(nH,cFile) fClose(nH) cFile := DRIVE_TR+"\"+CURDIR() + "\TMP_IMG.JPG" T_FOTOGRAFIA := cFile oT_FOTOGRAFIA :LoadBmp(cFile) ELSE T_FOTOGRAFIA := SPACE(200) cFile := SPACE(200) PalBmpFree( oT_FOTOGRAFIA:hBitmap, oT_FOTOGRAFIA:hPalette ) oT_FOTOGRAFIA :LoadBmp(cFile) ENDIF oT_FOTOGRAFIA :refresh() RETURN .T. *------------------------------------------------------------------------------- * Gravar a foto do cliente * *------------------------------------------------------------------------------- FUNCTION INSERE_APAGA_FOTO_CLIENTE(T_OPERACAO_CLIENTES) T_ID_FOTO := 0 Cursor("SQL") IF SELECT("foto_cliente") != 0 foto_cliente->(DbCloseArea()) ENDIF cQuery:='select * from foto_cliente where CODIGO_CLIENTE = ' + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) + ' ORDER BY ID_FOTO DESC' use sql cQuery alias "foto_cliente" new via 'MYSQL' foto_cliente->( DbGoTop()) T_ID_FOTO := foto_cliente->ID_FOTO IF LEN( T_FOTOGRAFIA) != 0 IF T_ID_FOTO == 0 IF SELECT("foto_cliente") != 0 foto_cliente->(DbCloseArea()) ENDIF BEGIN TRANSACTION cQuery_Mtabela := "INSERT INTO foto_cliente ( " cQuery_Mtabela := cQuery_Mtabela + " CODIGO_CLIENTE " cQuery_Mtabela := cQuery_Mtabela + ",DATA_FOTO " cQuery_Mtabela := cQuery_Mtabela + ",FOTO " cQuery_Mtabela := cQuery_Mtabela + " ) VALUES ( " cQuery_Mtabela := cQuery_Mtabela + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) + "," cQuery_Mtabela := cQuery_Mtabela + TRANSFORMA_SQL(DATE(),"D",08,0) + "," cQuery_Mtabela := cQuery_Mtabela + TRANSFORMA_SQL(Str2Hex(T_FOTOGRAFIA),'T',500,0) id=red> cQuery_Mtabela := cQuery_Mtabela + " )" COMITAR_DADOS_SQL(cQuery_Mtabela) END TRANSACTION ELSE IF SELECT("foto_cliente") != 0 foto_cliente->(DbCloseArea()) ENDIF BEGIN TRANSACTION cQuery_Mtabela := "UPDATE foto_cliente SET " cQuery_Mtabela := cQuery_Mtabela + "CODIGO_CLIENTE = " + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) + "," cQuery_Mtabela := cQuery_Mtabela + "DATA_FOTO = " + TRANSFORMA_SQL(DATE(),"D",08,0) + "," cQuery_Mtabela := cQuery_Mtabela + "FOTO = " + TRANSFORMA_SQL(Str2Hex(T_FOTOGRAFIA),'T',500,0) cQuery_Mtabela := cQuery_Mtabela + " WHERE ID_FOTO = " + TRANSFORMA_SQL(T_ID_FOTO,"N",06,0) COMITAR_DADOS_SQL(cQuery_Mtabela) END TRANSACTION * cQuery_Mtabela := cQuery_Mtabela + "FOTO = " + ANY2SQL( MemoRead( ALLTRIM(T_FOTOGRAFIA) ) ) ENDIF ELSE BEGIN TRANSACTION cQuery_Mtabela := 'DELETE from foto_cliente where CODIGO_CLIENTE = ' + TRANSFORMA_SQL(T_CODI_CLIENTE,"N",06,0) COMITAR_DADOS_SQL(cQuery_Mtabela) END TRANSACTION ENDIF RETURN .T. id=code>id=code>id=red> informaisvrb@gmail.com MSN mastermarvrb@msn.com SKYPE informaisvrb .: 32-9104-0562 :. Quote Link to comment Share on other sites More sharing options...
ecmsoft Posted November 15, 2012 Report Share Posted November 15, 2012 É por aà mesmo, marcio. Eu observei o 3º parâmetro (500)id=red> da função TRANSFORMA_SQL(Str2Hex(T_FOTOGRAFIA),'T',500,0).id=red> Se esse parâmetro se tratar de tamanho do campo, eu não aconselho você usar assim. Marciano Queiroz Teixeira de Freitas-Ba FW 10.12 + xHb 1.2.1 | BCC 5.82 | SQLLIB | PAF-ECF | TEF | NF-e | SPED Fiscal | PBM´s | Biometria | Ret.XML NF-e Quote Link to comment Share on other sites More sharing options...
marcioe Posted November 15, 2012 Author Report Share Posted November 15, 2012 COM SERIA ENTÃO MEU AMIGO.... informaisvrb@gmail.com MSN mastermarvrb@msn.com SKYPE informaisvrb .: 32-9104-0562 :. Quote Link to comment Share on other sites More sharing options...
joaosolution Posted November 15, 2012 Report Share Posted November 15, 2012 Marcio Acredito que vc vá gravar a informação no campo LONGBLOB direto. Para que vc usa este parâmetro 500? Att João Bosco Contagem/MG FWH 10.6b xHb 1.2.1 WorkShop 4.5 PellesC SQLLIB SQLRDD UltraEdit xDev MySql MS-Sql Quote Link to comment Share on other sites More sharing options...
Jmsilva Posted November 15, 2012 Report Share Posted November 15, 2012 Tive problema parecido, resolvi assim: //le arquivo oImage:LoadBmp( cFile ) //redimenciona o tamanho da foto 140 x 155 pixel oImage:hBitmap := ResizeBmp( oImage:hBitmap, 140, 155, .T. ) //redimensiona // cStrBmp := BmpToStr(oImage:hBitmap) //transf de img para string //transf hex cStrBmp := StrToHex(cSTRBMP) //grava cSQL := "INSERT INTO x1foto(idpes,imagem) " cSQL += "VALUES("+cIDPES+",'"+cSTRBMP+"');" id=code>id=code>SILVA Litoral Norte - SP Quote Link to comment Share on other sites More sharing options...
silvanof Posted March 7, 2013 Report Share Posted March 7, 2013 Amigo, verifique o tipo de dado que vc esta tentando salvar a foto, pq cada tipo tem uma limitação de tamnhanho. Consulte o manual do bando de dados. Por exemplo, no Firebird, conseguia gravar imagens de no máximo 2 mb. Mudei para MS-SQL-Server, dai achei um tipo de dados com um limite bem maior. Att. Silvano Bispo Faria AWS Sistemas Empresariais tel(15) 3202-4498 Quote Link to comment Share on other sites More sharing options...
marcioe Posted March 8, 2013 Author Report Share Posted March 8, 2013 existe uma forma para que eu possa compactar a imagem e gravar . Pois hoje eu gravo no banco. quando o usuario quer ver eu leio do banco e gravo apenas a imagem em questão na pasta onde esta o programa e exibo.! ou seja sempre será uma imagem por vez. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.