
VDLR
Membros-
Total de itens
108 -
Registro em
-
Última visita
Tudo que VDLR postou
-
Alguém pode me ajudar: Vou dar um exemplo do que presciso Exemplo Tabela CadRIM ID-- Data---------Contr_RIM 1--- 01/08/2007--- 5 2--- 06/08/2007--- 6 3--- 01/09/2007--- 7 4--- 01/11/2007--- 8 5--- 15/12/2007--- 9 6--- 10/01/2008--- 1 Próximo Lançamento em 15/01/08 seria no Max do ID que é 6, e acrescentar mais 1 no Contr_RIM que é 1. Ficaria assim 7 15/01/2008 2 ID Campo Auto Incrementado Tem como sempre no max do campo ID eu acrescentar mais 1 no campo Contr_RIM. Já quebrei a cabeça com isto e não achei como. Abraço Valdecir :unsure:
-
Micheus, tudo bem. Cara mudei a procedure agora esta assim procedure TFRCadRim.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var Bmp :TJPEGImage; begin If Column.Field = DMdados.TBCadRimFoto then Begin Bmp := TJPEGImage.Create; If not ( gdSelected in State ) then DBGrid1.Canvas.FillRect(Rect); With TPicture.Create do Begin Bmp.Assign(DMdados.TBCadRimFoto); DBGrid1.Canvas.StretchDraw(Rect,Bmp); Free; end; Bmp.Free; end; end; Porém recebo este erro >>> Class EJPEG With Message ' Jpeg error #42' Tu sabes o que pode ser ??? O DBimage tambem só recebe Bitmap Dei uma olhada, mas não vi como adaptá-lo. Cara se você tiver como ajudar agradeço. Abraço Valdecir :(
-
Cara pra conectar o Interbase pela rede eu uso no DatabaseName o caminho assim Ex: Phoenix2:\VDLR - Controle SMS\BDados\BDSMS.GDB Vê se da certo Abraço Valdecir
-
Jonas obrigado pela atenção, mas desta forma eu conseguiria visualizar a imagem no Timage. Eu gostaria de ver a imagem no DBGrid. Tem alguma idéia ? Poxa Micheus desculpe, só agora caiu a ficha, o campo não é Blob e sim um MediumBlob do MySql ;) Tem como eu ver estas imagens no DBGrid. Abraço Valdecir :(
-
Micheus e Jonas, muito obrigado pela atenção. Pessoal a parte de gravar consegui resolver fazendo assim: “ Parte da procedure “ b:=TMemoryStream.Create; Image1.Picture.Graphic.SaveToStream(b); DMdados.TBCadRimFoto.LoadFromStream(b); DMdados.TBCadRim.Post; DMdados.TBCadRim.ApplyUpdates(-1); Beleza converte a imagem e grava. Porém o grind com a imagem sendo um Jpeg não abre. Com a procedure assim procedure TFRCadRim.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin If Column.Field = DMdados.TBCadRimFoto then Begin If not ( gdSelected in State ) then DBGrid1.Canvas.FillRect(Rect); With TPicture.Create do Begin Assign(DMdados.TBCadRimFoto); DBGrid1.Canvas.StretchDraw(Rect,Bitmap); Free; end; end; end; Dá esse erro >>>> Bitmap image is not valid Desta forma com função que o Micheus criou procedure TFRCadRim.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var Img :TGraphic; begin If Column.Field = DMdados.TBCadRimFoto then Begin If not (gdSelected in State) then DBGrid1.Canvas.FillRect(Rect); if CarregaDBImagem(DMdados.TBCadRimFoto, Img) then begin DBGrid1.Canvas.StretchDraw(Rect,Img); Img.Free; // libera objeto alocado na função end; end; end; Dá este erro >>>> Access Violation at address 00403598 in module ‘ControleSMS’ E aponta pra esta linha da procedure if CarregaDBImagem(DMdados.TBCadRimFoto, Img) then Será que tem como resolver isso ???? Abraço Valdecir :unsure:
-
Cara, fiz algumas alterações no projeto e as procedures ficaram assim: public ImageJpg: TJPEGImage; { Public declarations } function TFRinclrim.ConvertImage(SrcName :string; DstPic :TGraphic) :boolean; var Picture :TPicture; ImageBMP :TBitmap; begin Result := False; Picture := TPicture.Create; try Picture.LoadFromFile(SrcName); ImageBMP := TBitmap.Create; try ImageBMP.Width := Picture.Width; ImageBMP.Height := Picture.Height; ImageBMP.Canvas.Draw(0, 0, Picture.Graphic); DstPic.Assign(ImageBMP); Result := True; finally ImageBMP.Free; end; finally Picture.Free; end; end; procedure TFRinclrim.BTimageClick(Sender: TObject); Var opd: TOpenPictureDialog; begin opd := TOpenPictureDialog.Create(Application); if opd.Execute then Begin ImageJpg := TJPEGImage.Create; try if ConvertImage(opd.FileName, ImageJpg) then begin Image1.Picture.Assign(ImageJpg); end; finally ImageJpg.Free; opd.Free; end; end; end; procedure TFRinclrim.BTgravarClick(Sender: TObject); var dia, mês, ano: Word; ano2 : String; BS: TBlobStream; begin DecodeDate(Date, ano, mês, dia); ano2 := IntToStr(ano); DMdados.TBCadRim.Insert; DMdados.TBCadRimCadUsuario.Text := FRacesso.EDusuario.Text; DMdados.TBCadRimCodCliente.Text := EDcodigo.Text; DMdados.TBCadRimCliente.Text := EDrazaosocial.Text; DMdados.TBCadRimNrRim.Text := EDrim.Text +'/'+ano2; DMdados.TBCadRimContNrRim.Text := EDrim.Text; DMdados.TBCadRimMaterial.Text := EDmaterial.Text; DMdados.TBCadRimNotaFiscal.Text := EDnotafiscal.Text; DMdados.TBCadRimCertificadoNr.Text := EDcertifnr.Text; DMdados.TBCadRimOrdemServico.Text := EDordemserv.Text; DMdados.TBCadRimCorrida.Text := EDcorrida.Text; DMdados.TBCadRimPecaNr.Text := EDpecanr.Text; DMdados.TBCadRimTratTermSolic.Text := EDtratsolicit.Text; DMdados.TBCadRimNrPecaEnsaiada.Text := EDnrpcensaiadas.Text; DMdados.TBCadRimDurezaEspecif.Text := EDdurezaespecif.Text; DMdados.TBCadRimDurezaEncont.Text := EDdurezaencont.Text; DMdados.TBCadRimMetalogrSolicit.Text := EDmetalogrsolicit.Text; DMdados.TBCadRimMetalogrObtida.Text := EDmetalogrobtida.Text; DMdados.TBCadRimTamGraoSolicit.Text := EDtamgraosolicit.Text; DMdados.TBCadRimTamGraoObtida.Text := EDtamgraoobtido.Text; DMdados.TBCadRimObs.Text := EDobs.Text; DMdados.TBCadRimData.Text := DateToStr(DTPdata.Date); DMdados.TBCadRimDataCad.Text := FormatDateTime('dd/MM/yyyy',StrToDate(Edit1.Text)); BS := TBlobStream.Create(DMdados.TBCadRimFoto, bmWrite); Image1.Picture.Graphic.SaveToStream(BS); DMdados.TBCadRim.Post; DMdados.TBCadRim.ApplyUpdates(-1); end; Porém ao clicar no botão gravar recebo o mesmo erro INVALID CLASS TYPECAST e aponta para esta linha do código BS := TBlobStream.Create(DMdados.TBCadRimFoto, bmWrite); O field é um TBlobField Na uses para copilar coloquei >>> Jpeg, DBTables Abraço Valdecir ;)
-
Micheus, mais um vez obrigado pela atenção. Fiz as alterações, mas na hora de gravar recebo a seguinte mensagem de erro INVALID CLASS TYPECAST e aponta para esta linha do código BS := TBlobStream.Create(DMdados.TBCadRimFoto, bmWrite); Dá pra saber qual é o problema. Abraço Valdecir
-
Micheus desculpe a demora. Cara achei legal o post para converter as imagens sempre num JPEG, porém não estou conseguindo usar pelo seguinte: Quando eu salvo a imagem no banco eu uso o caminho do OpenPictureDialog >>> DMdados.TBCadRimFoto.LoadFromFile(caminho); A procedure que me traz este caminho, ficou assim com a função que peguei no post procedure TFRinclrim.TabSheet2Show(Sender: TObject); Var opd: TOpenPictureDialog; begin opd := TOpenPictureDialog.Create(Application); if opd.Execute then Begin ImageJpg := TJPEGImage.Create; try if ConvertImage(opd.FileName, ImageJpg) then begin Image1.Picture.Assign(ImageJpg); caminho := opd.FileName; end; finally ImageJpg.Free; opd.Free; end; end; end; Não sei como pegar a imagem e salvar no banco, pois estou usando o LoadFromFile. E quando salvo as imagens como Jpeg no banco da pau no grid Abraços Valdecir :( :(
-
Micheus, muito obrigado pela atenção. Cara deu pau. Erro " Access violation at adress 00403480 in module 'ControleSMS.Exe'. Read of adress 0000014E " Na realidade eu pensei nas duas extensões, pelo fato do usuária não ter que se preocupar com que extensão gravar, mas se conseguir mostrar só a Jpeg acho que tá bom. Cara me ajuda Abraço Valdecir :(
-
Micheus, obrigado pela atenção. Cara na realidade as imagens aparecem no grid, mas só as que foram gravadas com a extensão Bitmap, as que foram gravadas como Jpeg não, alias da erro quando tem alguma imagem Jpeg. Será que teria como alterar procedure para aparecer todas, já tentei e não consegui. Abraços Valdecir
-
Pessoal, será que alguém poderia me ajudar com esta procedure: procedure TFRCadRim.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin If Column.Field = DMdados.TBCadRimFoto then Begin If not ( gdSelected in State ) then DBGrid1.Canvas.FillRect(Rect); With TPicture.Create do Begin Assign(DMdados.TBCadRimFoto); DBGrid1.Canvas.StretchDraw(Rect,Bitmap); Free; end; end; end; O que estou querendo é que o grid mostre as imagens do banco em qualquer extensão (Jpeg, Bitmap, etc) Se alguém sober, agradeço Abraço Valdecir
-
Valeu Micheus O problema estava no tamanho do campo. Eu estava utilizando BLOB, que pelo seu post só comporta 64KB e minhas imagens tem mais que isso, passei a utilizar o MEDIUMBLOB e gravou normal Muito obrigado, Abraço Valdecir
-
Pessoal estou tentando trabalhar com imagem no MYSQL, porém estou enfrentando alguns problemas. Estou usando o seguinte código para gravar só que dá erro. Var S:TMemoryStream; begin S :=TMemoryStream.Create; Image1.Picture.Bitmap.SaveToStream(S); DMdados.TBCadRimFoto.LoadFromStream(S); DMdados.TBCadRim.Post; DMdados.TBCadRim.ApplyUpdates(-1); S.Destroy; Quando vai gravar recebo a seguinte mensagem de erro. “Data too long for column ‘foto’ at row1” A imagem aparece no grid, porém quando saiu do form e volta ele não gravou no banco. Estou trabalhando com clientDataSet. Por favor, me ajudem. Abraço Valdecir
-
Graymalkin Obrigado pela dica, através dela consegui descobrir o erro Valeu Abraço Valdecir
-
Pessoal desculpa, tinha um erro que acabei descobrindo. Peço mil desculpa e obrigado pela atenção de todos Abraço Valdecir ;)
-
Alguém já teve este tipo de problema. Estou trabalhando com MySQL e ClientDataSet, criei um form com um grid ligado a uma tabela, o problema é o seguinte: Antes de executar o sistema os dados da tabela aparecem normalmente no grid, porém quando executo o sistema ao chamar o form não aparece nada no grid, já verifiquei tudo e não achei nada, alguém saberia dizer o que pode ser isto. Abraço Valdecir :(
-
Progr'amador, beleza Cara não deu certo, criei a conexão do Interbase via ODBC, mas pelo MySQL-Front não deu acesso a esta conexão. Será que tem outra forma Abraços Valdecir
-
Cara, obrigado pela atenção. Vou tentar qualquer cois eu posto Abraço Valdecir
-
Alguém saberia me dizer se tem como copiar os dados de um banco Interbase para o Mysql, se positivo como eu faria isto. Abraço Valdecir
-
Micheus beleza Cara vou testar isto, qualquer problema te falo Abraço Valdecir
-
Micheus, beleza Cara estou usando nesta seqüência SQLConnection, SQLDataSet, DataSetProvider, ClientDataSet e DataSource. Abraço Valdecir
-
Pessoal será que alguém poderia me ajudar. Tenho está procedure que usava com IBTable junto com Interbase e funcionava beleza, estou fazendo alguns testes com clientDataSet e Mysql e ao copilar recebo este erro: A procedure é esta procedure TFRcadFor.NovRegExecute(Sender: TObject); begin DMdados.TBCadFor.Refresh; with DMdados.QRreg do begin Close; SQL.Clear; SQL.Add('select max(codigo) as codfor from ' + DMDados.TBCadFor.TableName); Open; end; DMdados.TBCadFor.Insert; If DMdados.QRreg['codfor'] <> null then DMdados.TBCadFor['codigo'] := DMdados.QRreg['codfor'] + 1 else DMdados.TBCadFor['codigo']:='1'; end; :huh: Abraço Valdecir
-
Mas cara, eu acessei o banco através do sistema com a conexão local e estavam todos os dados lá. Eu estou usando normalmente o sistema na maquina com o banco local só não acesso através da rede Será que eu descobri uma nova formula rsrsrsrs Brincadeira não entendo nada de mysql Abraço Valdecir :unsure:
-
Pessoal o caso é o seguinte: Herdei um sistema aqui na empresa com banco de dados Mysql, só que tive problemas com a maquina que estava o banco, e fui obrigado a formatar esta maquina. Antes de formatar a maquina copiei na pasta do mysql a pasta Data com os bancos. Depois de instalado o Windows, instalei novamente o Mysql e substitui os bancos na pasta Data, instalei o drive para ODBC do mysql fiz a configuração no BDE e beleza localmente o sistema acessou o banco. Porém em rede não está funcionando, coloquei na maquina que estava o banco o mesmo IPI que estava anteriormente, só que quando vou configurar o ODBC das maquinas clientes ao testar a conexão recebo a seguinte mensagem: “ Request Returned with SQL_ERROR” Em Diagnostics esta ” [MySQL][ODBC 3.51 Driver]Can't connect to MySQL server on '172.16.1.1' (10060) “ Estou usando Mysql 4 e drive Mysql-odbc-3.51.12 Alguém saberia me dizer a onde eu errei e como corrigir isto. Abraço Valdecir :(