Megbízható vonalkód komponens Delphi
2010-02-11T08:53:09+01:00
2010-02-23T22:54:49+01:00
2022-07-25T06:09:47+02:00
  • Mondjuk elég sajátos topic volt, de azért tényleg én sem értem, hogy miért került ide.
    Sebaj, örülök hogy segíthettem.
    Mutasd a teljes hozzászólást!
  • Végre kipróbálta a kedves felhasználó a programot, és bevált a bsSolid. Ezek szerint tényleg nem a komponenssel volt a gond, hanem a programozóval
    Nem tudom, hogy került át ide a topik, így a pontot odaadni nem tudom, de mindenkinek köszönöm a segítséget, főleg Sanyának.
    Mutasd a teljes hozzászólást!
  • Én meg nem is gondoltam volna, hogy nem tudod.
    Mutasd a teljes hozzászólást!
  • Nem tudtam, hogy így is lehet, súgóból néztem a nyomtató dolgot, és ott így volt a példaprogram.
    De legközelebb úgy csinálom, ahogy javasoltad, sokkal egyszerűbb
    Mutasd a teljes hozzászólást!
  • Nyomtato:=Printer()--> Nem az alapértelmezett nyomtatót akarom használni, hanem egy másikat. Jobbat nem találtam, mint végigvizsgálni a nyomtatókat, és így megkeresni az enyémet

    Ezt nem értem...

    Ha mondjuk a pdfcreator-ra akarsz nyomtatni, akkor:
    for i := 0 to Printer.Printers.Count - 1 if Pos( 'PDFCreator', Printer.Printers[i] ) > 0 then begin Printer.Printerindex := i; break; end;

    Ha az alapértelmezett nyomtatóra akarsz nyomtatni:
    Printer.Printerindex := -1;

    És persze nem kell az a ronda nyomtato változó. Mindig a Printer-t használd!
    Mutasd a teljes hozzászólást!
  • Nyomtato:=Printer()
    --> Nem az alapértelmezett nyomtatót akarom használni, hanem egy másikat. Jobbat nem találtam, mint végigvizsgálni a nyomtatókat, és így megkeresni az enyémet. A próbaprogram butított verziója a berendezés programjának.

    ASBarcode1.DrawBarcode(Image1.Canvas)
    --> A Tec-IT-es komponensnek TImage változó a kimenete. Egyszerűbbnek láttam benthagyni.

    nyomtato.canvas.brush.style:=bsclear
    --> Ezt kipróbálom

    Köszi az infót

    Ja, amúgy érdekes, hogy amikor a saját gépemen PDF nyomtatón nyomtatom, akkor tökéletes a vonalkód.
    Mutasd a teljes hozzászólást!
  • nyomtato hogy kap értéket?

    ---
    Most látom:
    Nyomtato:=Printer();
    De mi értelme ennek? Miért még az a ronda Nyomtato változó?


    ---
    Szerintem ez is értelmetlen:
    ASBarcode1.DrawBarcode(Image1.Canvas);
    Rajzoltasd ki direkt a Printer.Canvas-ra. Valahogy nekem fura az, ha a nyomtató papírméreteit a formra alkalmazod.
    nyomtato.canvas.brush.style:=bsclear
    nem bsclear hanem bsSolid kéne legyen, talán azért mondod, hogy üres téglalapokat nyomtat. A téglalapok kitöltését pont az csinálja. A komponnens nem vonalakat húz, hanem változó szélességű téglalapokat, azok lesznek tk. a vonalak.
    Mutasd a teljes hozzászólást!
  • Szia!
    Igen, ugyanaz :)
    Mutasd a teljes hozzászólást!
  • Hali!
    Én is elégedett voltam vele, amíg kicsi kódot nyomtattunk. De amint elkezdtük szélesíteni, furcsa dolgot kezdett csinálni:
    A vonalkód alja nem szép egyenes, hanem cikcakkos. A vonalak nem vonalak, hanem üres téglalapok.
    Csináltam egy tesztprogit:

    procedure TForm1.Button1Click(Sender: TObject); var teglato:Trect; begin teglato.Left:=round(0.1*nyomtato.PageWidth); teglato.Top:=round(0.1*nyomtato.PageHeight); teglato.right:=round(0.9*nyomtato.PageWidth); teglato.bottom:=round(0.9*nyomtato.PageHeight); nyomtato.Orientation:=poPortrait; nyomtato.Refresh; nyomtato.begindoc; nyomtato.canvas.brush.style:=bsclear; nyomtato.canvas.Pen.Width:=2; nyomtato.Canvas.CopyRect(teglato,Image1.canvas,teglato); nyomtato.enddoc; end; procedure TForm1.Button2Click(Sender: TObject); begin Nyomtato:=Printer(); Image1.Width:=round(nyomtato.pagewidth*0.9); Image1.Height:=round(nyomtato.pageheight*0.9); Image1.Refresh; ASBarcode1.Typ:=bcCodeEAN128A; ASBarcode1.Text:='1VUAA1012345678'; ASBarcode1.Modul:=strtoint(Edit1.text); ASBarcode1.Ratio:=strtofloat(Edit2.text); ASBarcode1.Top:=round(0.1*nyomtato.PageHeight); ASBarcode1.Left:=round(0.1*nyomtato.PageWidth); ASBarcode1.Width:=Image1.width; ASBArcode1.Height:=Image1.height; ASBarcode1.DrawBarcode(Image1.Canvas); Image1.Refresh; end;

    Ha esetleg látsz valamit, ami hiba lehet benne, légyszi jelezd.
    Mutasd a teljes hozzászólást!
  • Nagyon jó cucc, ingyen és forráskóddal: link
    Nagyon jó dokumentáció: link
    Jópár évvel ezelőtt Andreas Schmidt, akkor még kezdetleges ( de jó elgondolású ) komponensét továbbfejlesztettem az említett dokumentációból. Az összes kódozást, ami a barcodeisland.com-on le van írva, lekódoltam és tökéletesen működik.

    ---
    Most látom. Azt hiszem ugyanarról az fbarcode-ról beszélünk.
    Mutasd a teljes hozzászólást!
  • Az fbarcode-ot használom évek óta. Jól működik, még nem volt rá panasz. Valamit máshogyan kell csinálnod.
    Mutasd a teljes hozzászólást!
  • Sziasztok!
    Megbízható ingyenes Delphi komponenst keresek vonalkód generáláshoz.
    Próbáltam már az FBarcode komponenst, de az nem működött, nem nyomtatta ki rendesen a kódot. Kipróbáltam a Tec-IT komponenst is ami működik, de az fizetős.
    Van valakinek valamelyik komponensben pozitív tapasztalata?
    Segítségeteket köszönöm.
    Mutasd a teljes hozzászólást!
abcd