print on dot matrix printer

Post Reply
User avatar
kajot
Posts: 309
Joined: Thu Nov 02, 2006 6:53 pm
Location: Poland

print on dot matrix printer

Post by kajot »

is any class to print on dot matrix printer (oki 3320), as in xHarbour

@prow(),pcol() say 'test'


best regards
kajot
best regards
kajot
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: print on dot matrix printer

Post by Armando »

Kajot:

Please look at the TPRinter class

Regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
kajot
Posts: 309
Joined: Thu Nov 02, 2006 6:53 pm
Location: Poland

Re: print on dot matrix printer

Post by kajot »

dot matrix printer
best regards
kajot
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: print on dot matrix printer

Post by Armando »

Kajot:

Yes, dot matrix printer.

Pls look al the SAY, CmSay or InchSay methods

Here is the syntaxis

Code: Select all

oPrn:SAY(nRow,nCol,cText,oFont,nWidth,nClrText,nBakMode,nPen)

oPrn:CmSay(ídem)

oPrn:InchSay(ídem)
 
In the first one, nRow and nCol are coodinates in grapjical

In the second one, nRow and nCol are coodinates in centimeters

and the third one, nRow and nCol are coordinates in inches

Unfortunately I have not a sample.

Regards
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
dbmanfwh
Posts: 38
Joined: Tue Mar 04, 2008 3:44 pm
Location: Korea

Re: print on dot matrix printer

Post by dbmanfwh »

Kajot,

Please See tdosprn.prg within \fwh\source\classes folder.

Regards
Regards,
Moon
FWH 16.11 | xHarbour | Harbour | BCC72 | DBF | ADS | MySQL | DrLib
User avatar
Marc Venken
Posts: 727
Joined: Tue Jun 14, 2016 7:51 am

Re: print on dot matrix printer

Post by Marc Venken »

This is also a Sample :

This will print the selected invoice from a database.

Code: Select all

function druk_Ketting()

   Local nDruk:=0, nDrukafstand:= 0.5, nDrukstart:= 12.7
   cPagtitel = "GROOT"
   cDagboek = "VER"

   Rec_lock("factinfo")
      factinfo->factuur = oTellers:factnummer
      factinfo->toestand = "Factuur GR="+str(oTellers:factnummer,7)
      factinfo->Docstatus = "A"
   rec_unlock("factinfo")

   Public oPrn
   Public oF12,oF12B,oF12I,oF12U,oFlarge

   PRINTER oPrn NAME "Afdruk" // FROM USER //PREVIEW MODAL
   oPrn:setup()
   oPrn:setsize(2400,3050)

   DEFINE FONT oF12    NAME "ARIAL" SIZE 0, -9 OF oPrn
   DEFINE FONT oF12B   NAME "ARIAL" BOLD SIZE 0, -12 OF oPrn
   DEFINE FONT oF12I   NAME "ARIAL" ITALIC SIZE 0, -12 OF oPrn
   DEFINE FONT oF12U   NAME "ARIAL" UNDERLINE BOLD SIZE 0, -10 OF oPrn
   DEFINE FONT oFLarge NAME "ARIAL" BOLD SIZE 0, -18 OF oPrn

   oPrn:startpage()

   hoofding(oPrn,"KETTING",cPagTitel)  // afdruk hoofding
   nDruk = nDrukstart

   dbselectarea("DETAIL")

   detail->(dbgotop())
   nTotaal := 0
   cDrukbon = ""
   do while !detail->(eof())
      if nDruk >= 23.5
         oPrn:endpage()
         oPrn:startpage()
         hoofding(oPrn,"KETTING",cPagTitel)  // afdruk hoofding
         nDruk = nDrukstart
      endif
      If cDrukbon <> alltrim(detail->drukdoc)
         cDrukbon = alltrim(detail->drukdoc)
         nDruk += +.3
         oPrn:cmsay (nDruk,6.1,"Leveringsbon  " + cDrukbon,oF12)
         if factinfo->(dbseek(cDrukbon))
            If !empty(factinfo->bestelbon)
               oPrn:cmsay (nDruk,11,"Uw order " + alltrim(factinfo->bestelbon),oF12)
            EndIF
            Rec_lock("factinfo")
               factinfo->factuur = oTellers:factnummer
               factinfo->toestand = "Factuur GR="+str(oTellers:factnummer,7)
               factinfo->Docstatus = "A"
            rec_unlock("factinfo")
         endif
         factinfo->(dbseek(cDocnummer))
         nDruk += nDrukafstand+.3
      EndIF
      oPrn:cmsay (nDruk, 3.9 ,detail->refnummer,oF12)
      oPrn:cmsay (nDruk, 6.1 ,detail->benaming,oF12)
      oPrn:cmsay (nDruk,16.8 ,str(detail->aantal,9),oF12,,,,1)
      oPrn:cmsay (nDruk,18.5 ,str(detail->eenh_prijs,9,2),oF12,,,,1)
      oPrn:cmsay (nDruk,19.5 ,if(detail->korting <> 0, "-"+stzero(detail->korting,3,0),""),oF12,,,,1)
      oPrn:cmsay (nDruk,21.6 ,str(detail->totaal,9,2),oF12,,,,1)
      oPrn:cmsay (nDruk,22.6 ,"21",oF12,,,,1)
      nTotaal = nTotaal + detail->totaal

      nDruk += nDrukafstand
      detail->(dbskip())
   enddo
   if !empty(factinfo->voldaan)
      oPrn:cmsay (24 , 3 ,"Betaalwijze : "+factinfo->voldaan,oF12)
   endif

   //oPrn:cmsay (25   , 3 ,"-2 % korting op de goederenprijs bij betaling",oF12)
   //oPrn:cmsay (25.5 , 3 ,"     voor "+dtoc(date()+10)+"  - €"+str( (nTotaal*2/100),6,2),oF12)

   oPrn:cmsay (27.6 , 17.8 ,str(nTotaal,11,2),oF12b,,,,1)
   oPrn:cmsay (27.6 , 18.4 ,"21",oF12b)
   If upper(klant->btwjn) == "N"
      nNoBtw:= 0
      oPrn:cmsay (27.6 , 20.6 ,str(nNoBtw,11,2),oF12b,,,,1)
      oPrn:cmsay (27.6 , 22.6 ,str(nTotaal,11,2),oF12b,,,,1)
   else
      oPrn:cmsay (27.6 , 20.6 ,str(Btw(21,nTotaal),11,2),oF12b,,,,1)
      oPrn:cmsay (27.6 , 22.6 ,str(BtwIncl(21,nTotaal),11,2),oF12b,,,,1)
      cSom = alltrim(str(BtwIncl(21,nTotaal)))
      nPos = at(".",cSom)
      nSomEuro = val(substr(cSom,1,nPos-1))
      nSomCent = val(substr(cSom,nPos+1))
      cEuro = Numconv(nSomEuro)+ " EURO EN " + Numconv(nSomCent)+" CENT"
      oPrn:cmsay (28.8 , 3,"Waar en echt verklaard voor de som van",oF12)
      oPrn:cmsay (29.3 , 3,cEuro,oF12)
   EndIF

   oPrn:cmsay (28.7 , 19.3 ,dtoc(vervaldat()),oFLarge)

   oPrn:endpage()

   //oPrn:Preview()

   oF12:end();oF12B:end();oF12I:end();oF12U:end();oFlarge:end();oPrn:end()

return

 
Part of function hoofding (To print new page headers.

Code: Select all

    case cDoctype == "KETTING"

         oPrn:cmsay (6.2 ,13,klant->naam_1,oF12B)
         oPrn:cmsay (6.7 ,13,klant->naam_2,oF12B)
         oPrn:cmsay (7.2 ,13,klant->straat,oF12B)
         oPrn:cmsay (7.7 ,13,str(klant->postcode,4)+"  "+klant->gemeente,oF12B)

         oPrn:cmsay (6.2 , 3,cLev_naam,oF12B)
         oPrn:cmsay (6.7 , 3,cLev_straat,oF12B)
         oPrn:cmsay (7.2 , 3,cLev_Plaats,oF12B)

         DO case
            CASE cPagTitel = "GROOT"
               oPrn:cmsay (9.3  ,4 ,"FACTUUR",oFlarge)
            CASE cPagTitel = "KNOTA"
               oPrn:cmsay (9.3  ,4 ,"KREDIETNOTA",oFlarge)
         Endcase

         oPrn:cmsay (11  , 3.5  ,klant->klant_nr,oF12b)
         oPrn:cmsay (11  , 7.5  ,klant->btw_nr,oF12b)
         oPrn:cmsay (11  ,13    ,str(oTellers:factnummer,6),oF12b)
         oPrn:cmsay (11  ,18.5  ,dtoc(factinfo->datum),oF12b)

 
Marc
Marc Venken
Using: FWH 20.08 with Harbour
Post Reply