Limas 0 Denunciar post Postado Setembro 1, 2009 Boa Tarde a todos, Estou com um programa instalado e funcionado na loja de auto peças do cliente e preciso implementar no sistema, Impressão e leitura de código de barras. Já tenho este font que não está rodando pois solicita o TBarCode, como eu instalo este componente, como eu gero cada código de barra já que as embalagens não tem código de barra? implementation {$R *.dfm} procedure TFImpEtiqCodBarra.PrefBarcode; begin Barcode.Top:=BarV.Position; Barcode.Left:=BarH.Position; Barcode.Height:=StrToInt(SpTamCod.Text); Barcode.Ratio:=SpRatio.Value; Barcode.Modul:=SpModul.Value; if CkNumero.Checked then Barcode.ShowText:=bcoCode else Barcode.ShowText:=bcoNone; end; procedure TFImpEtiqCodBarra.CriaCodigo; begin ImageTest.Picture:=nil; PrefBarcode; Barcode.Text:='7895384127812'; Barcode.DrawBarcode(ImageTest.Canvas); end; Procedure TFImpEtiqCodBarra.Aplicar; begin QkCodBarra.Page.Width:=StrToFloat(Edwidth.Text); QkCodBarra.Page.Length:=StrToFloat(EdLengh.Text); QkCodBarra.Page.LeftMargin:=SpMgEsq.Value; QkCodBarra.Page.RightMargin:=SpMgDir.Value; QkCodBarra.Page.TopMargin:=SpMgSup.Value; QkCodBarra.Page.BottomMargin:=SpMgInf.Value; QkCodBarra.Page.ColumnSpace:=SpEspacoCol.Value; QkCodBarra.Page.Columns:=SpNumCol.Value; QRBand1.Height:= SpTamEtiq.Value; QRImage1.Left:=0; QRImage1.Top:=0; QRImage1.Height:=QRBand1.Height; QrImage1.Width:=QRBand1.Width; ImageTest.Width:=QrImage1.Width; ImageTest.Height:=QRImage1.Height; BarH.Max:=QrImage1.Width; BarV.Max:=ImageTest.Height; end; procedure TFImpEtiqCodBarra.EdwidthKeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9',',']) then abort; end; procedure TFImpEtiqCodBarra.EdLenghKeyPress(Sender: TObject; var Key: Char); begin if not (key in ['0'..'9',',']) then abort; end; procedure TFImpEtiqCodBarra.CriarClick(Sender: TObject); begin CriaCodigo; end; procedure TFImpEtiqCodBarra.ImageTestMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin BarV.Position:= Y; BarH.Position:= X; CriaCodigo; end; procedure TFImpEtiqCodBarra.BarHChange(Sender: TObject); begin CriaCodigo; end; procedure TFImpEtiqCodBarra.BarVChange(Sender: TObject); begin CriaCodigo; end; procedure TFImpEtiqCodBarra.Button1Click(Sender: TObject); var Ini:TIniFile; begin Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'etiqueta.ini'); Aplicar; CriaCodigo; //Gravar configurações Ini.WriteFloat('Pagina','Width',QkCodBarra.Page.Width); Ini.WriteFloat('Pagina','Length',QkCodBarra.Page.Length); Ini.WriteFloat('Pagina', 'MgEsq',QkCodBarra.Page.LeftMargin); Ini.WriteFloat('Pagina', 'MgDir',QkCodBarra.Page.RightMargin); Ini.WriteFloat('Pagina', 'MgSup',QkCodBarra.Page.TopMargin); Ini.WriteFloat('Pagina', 'MgInf',QkCodBarra.Page.BottomMargin); Ini.WriteInteger('Pagina','NumCol',QkCodBarra.Page.Columns); Ini.WriteFloat('Pagina','EspacoCol',QkCodBarra.Page.ColumnSpace); Ini.WriteInteger('Band', 'Heigth', QRBand1.Height); Ini.WriteInteger('Barra', 'Top', BarV.Position); Ini.WriteInteger('Barra', 'Left', BarH.Position); Ini.WriteInteger('Barra', 'Tam', SpTamCod.Value); Ini.WriteInteger('Barra', 'Ratio', SpRatio.Value); Ini.WriteInteger('Barra', 'Modul', SpModul.Value); Ini.WriteBool('Barra', 'ImpCod', CkNumero.Checked); ini.Free; end; procedure TFImpEtiqCodBarra.FormCreate(Sender: TObject); var Ini:TIniFile; begin Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'etiqueta.ini'); Edwidth.Text:=FloatToStr(Ini.readFloat('Pagina','Width',QkCodBarra.Page.Width)); EdLengh.Text:=FloatToStr(Ini.readFloat('Pagina','Length',QkCodBarra.Page.Length)); SpMgEsq.Value:=Trunc(Ini.readFloat('Pagina', 'MgEsq',QkCodBarra.Page.LeftMargin)); SpMgDir.Value:=Trunc(Ini.readFloat('Pagina', 'MgDir',QkCodBarra.Page.RightMargin)); SpMgSup.Value:=Trunc(Ini.readFloat('Pagina', 'MgSup',QkCodBarra.Page.TopMargin)); SpMgInf.Value:=Trunc(Ini.readFloat('Pagina', 'MgInf',QkCodBarra.Page.BottomMargin)); SpNumCol.Value:=Ini.readInteger('Pagina','NumCol',QkCodBarra.Page.Columns); SpEspacoCol.Value:=Trunc(Ini.readFloat('Pagina','EspacoCol',QkCodBarra.Page.ColumnSpace)); SpTamEtiq.Value:=Ini.readInteger('Band', 'Heigth', QRBand1.Height); BarV.Position:=Ini.readInteger('Barra', 'Top', BarV.Position); BarH.Position:=Ini.readInteger('Barra', 'Left', BarH.Position); SpTamCod.Value:=Ini.readInteger('Barra', 'Tam', SpTamCod.Value); SpRatio.Value:=Ini.readInteger('Barra', 'Ratio', SpRatio.Value); SpModul.Value:=Ini.readInteger('Barra', 'Modul', SpModul.Value); CkNumero.Checked:=Ini.readBool('Barra', 'ImpCod', CkNumero.Checked); Aplicar; CriaCodigo; end; procedure TFImpEtiqCodBarra.QkCodBarraNeedData(Sender: TObject; var MoreData: Boolean); begin MoreData:=(Indice < Codigos.Lines.Count+SpEtiqInicial.Value); if MoreData then begin QRImage1.Picture:=Lista[Indice].Picture; QkCodBarra.QRPrinter.Progress := (Longint(Indice) * 100) div Codigos.Lines.Count; end else QkCodBarra.QRPrinter.Progress := 100; Inc(Indice); end; procedure TFImpEtiqCodBarra.QkCodBarraBeforePrint(Sender: TCustomQuickRep; var PrintReport: Boolean); begin Indice:=0; end; procedure TFImpEtiqCodBarra.BtImprimirClick(Sender: TObject); var i: integer; begin if codigos.Lines.Count < 1 then begin showmessage('Preencha o nº da etiqueta'); [[color="#FF0000"]b]//Qual seria o número da etiqueta a preencher?[/b][/color] abort; end; for i := 0 to Length(Lista)-1 do Lista[i].Free; SetLength(Lista, Codigos.Lines.Count+ SpEtiqInicial.Value+1); for i := 0 to Codigos.lines.Count + SpEtiqInicial.Value do begin Lista[i]:=TImage.Create(Self); with Lista[i] do begin Visible:=False; Parent:=Self; end; Lista[i].Picture:=Nil; if i>=SpEtiqInicial.Value then begin PrefBarcode; Barcode.Text:= Codigos.Lines[I-SpEtiqInicial.Value]; Barcode.DrawBarcode(Lista[i].Canvas); end; end; QkCodBarra.PreviewModal; SetLength(Lista,0); end; Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Setembro 5, 2009 Em primeiro lugar, onde você pegou este fonte não tinha o componente utilizado para download? Que eu lembre ele não é nativo do delphi, é componente de terceiros, de modo que tem que fazer uma pesquisa na net para encontrar o fonte certo para que o código que postou acima funcione... []'s Compartilhar este post Link para o post Compartilhar em outros sites
bdexterholland 0 Denunciar post Postado Setembro 7, 2009 Este TBarCode é um destes dois? http://www.tec-it.com/en/download/tbarcode/windows/Download.aspx http://www.brothersoft.com/tbarcode-for-delphi-9346.html Compartilhar este post Link para o post Compartilhar em outros sites
Limas 0 Denunciar post Postado Setembro 8, 2009 Em primeiro lugar, onde você pegou este fonte não tinha o componente utilizado para download? Que eu lembre ele não é nativo do delphi, é componente de terceiros, de modo que tem que fazer uma pesquisa na net para encontrar o fonte certo para que o código que postou acima funcione... []'s Certo Chrnos, este fonte é de tercero, pesquisei e adiquiri o CJV. Muito obrigado pela sua atenção e do bdexterholland. Um grande abraço a todos. Compartilhar este post Link para o post Compartilhar em outros sites
Yoshi 1 Denunciar post Postado Setembro 8, 2009 Colega um solução mais simples pra você seria ultiliza o FOrtes Report pois ele tem um comp que gera o codigo de barra no preview. http://www.fortesreport.com.br/index.br.htm Abs T+++ Compartilhar este post Link para o post Compartilhar em outros sites