Version 14 (modified by 12 years ago) ( diff ) | ,
---|
Table of Contents
CTktFlds
CTktFlds is a C++ class that is a wrapper around struct tktfld_struct to simplify ticket programming.
Constructor
CTktFlds(void);
Parameters
Constructor does not accept any parameters
Examples
CTktFlds flds;
This contructs the object.
Member Functions
Clear
Clears all references or a specified item.
void Clear(void); void Clear(int nFld);
Parameters
- nFld - Ticket item to clear
Version with no parameters clears all fields
Return Value
Function does not return a result.
Remarks
Examples
CTktFlds flds; flds.Set(TKT_FLD_TIME, strTime); flds.Set(TKT_FLD_GROSS, strGross); PrintTkt(TKT_STD, flds);
CTktFlds flds; flds.Set(TKT_FLD_TIME, strTime); flds.Set(TKT_FLD_GROSS, strGross); flds.PrintTkt(TKT_STD); // Clear the entire flds object to start over flds.Clear(); flds.Set(TKT_FLD_TIME, strTime); flds.Set(TKT_FLD_NET, strNet); flds.PrintTkt(TKT_ALT);
CTktFlds flds; flds.Set(TKT_FLD_TIME, strTime); flds.Set(TKT_FLD_GROSS, strGross); flds.PrintTkt(TKT_STD); // Clear the gross weight reference so it will not print on the alternate ticket, time will still print flds.Clear(TKT_FLD_GROSS); flds.Set(TKT_FLD_NET, strNet); flds.PrintTkt(TKT_ALT);
Set
Sets a reference
void Set(int nFld, string& str); void Set(int nFld, char* psz); void Set(int nFld, const char* psz);
Parameters
- nFld - Field to set
- str - String variable
- psz - pointer to character array
Retrun Value
Function does not return any result.
Remarks
The TKT_FLD_xxx definitions relate to the ticket field position information provided in the "Configuration" program. Refer to the chart below.
ID | Typical use | Code Character |
TKT_FLD_GROSS | Gross weight | 1 |
TKT_FLD_TARE | Tare weight | 2 |
TKT_FLD_NET | Net weight | 3 |
TKT_FLD_TIME | Time | 4 |
TKT_FLD_DATE | Date | 5 |
TKT_FLD_ID | ID | 6 |
TKT_FLD_CN | Consecutive number | 7 |
TKT_FLD_UNITS | Weight units | 8 |
TKT_FLD_DSP_WT | Display weight | 9 |
TKT_FLD_PC_CNT | Piece count | A |
TKT_FLD_TOT_CNT | Total count | B |
TKT_FLD_ID1 | ID1 | C |
TKT_FLD_ID2 | ID2 | D |
TKT_FLD_ID3 | ID3 | E |
TKT_FLD_G_ACCUM | Gross weight accumulator | F |
TKT_FLD_N_ACCUM | Net weight accumulator | G |
TKT_FLD_PRMPT1 | Prompt 1 | H |
TKT_FLD_PRMPT2 | Prompt 2 | I |
TKT_FLD_PRMPT3 | Prompt 3 | J |
TKT_FLD_REF1 | Reference 1 | K |
TKT_FLD_REF2 | Reference 2 | L |
TKT_FLD_REF3 | Reference 3 | M |
TKT_FLD_CNV_NET | Converted net weight | Z |
The following are not standard nControl fields:
ID | Typical use | Code Character |
TKT_FLD_CNV_UNITS | Converted weight units | 0 (Zero) |
TKT_FLD_CNV_DSP_WT | Converted display weight | U |
TKT_FLD_CNV_G_ACCUM | Converted gross accumulator | V |
TKT_FLD_CNV_N_ACCUM | Converted net accumulator | W |
TKT_FLD_CNV_GROSS | Converted gross weight | X |
TKT_FLD_CNV_TARE | Converted tare weight | Y |
TKT_FLD_IN_TIME | Time In - First pass time | N |
TKT_FLD_IN_DATE | Date In - First pass date | O |
TKT_FLD_ID4 | ID4 | P |
TKT_FLD_PRMPT4 | Prompt 4 | Q |
TKT_FLD_CUSTOM | Custom field | R |
Example
string strTime = GetTimeStr(1); // Include seconds string strGross = FormatGrossWt(1); CTktFlds flds; flds.Set(TKT_FLD_TIME, strTime); flds.Set(TKT_FLD_GROSS, strGross); flds.PrintTkt(TKT_STD);
SetEvent
Sets an event to allow the application to do some processing during printing
void SetEvent(void* userData, TKT_EVENT func);
Parameters
- userData - Pointer to anything that may be useful to the event function
- func - Event function
Retrun Value
Function does not return any result.
Remarks
The event function receives four parameters. tkt is the ticket format TKT_STD, TKT_ALT, TKT_FPASS, TKT_LOG, TKT_SPEC1, ... TKT_SPEC6. p is a pointer to the struct tktfld_struct, file is the FILE* pointer for the output, code is the point during printing TKT_EVENT_BEFORE_BEGIN_PRINT (before begin print codes are printed) TKT_EVENT_AFTER_BEGIN_PRINT (after the begin print codes are printed but before any ticket text is printed) TKT_EVENT_BEFORE_END_PRINT (after ticket text is printed but before ending print codes are printed) TKT_EVENT_AFTER_END_PRINT (after end print codes are printed).
Example
struct tran_info_struct { int tktNum; // ... other data } tran; TKT_EVENT(PrintBarCode) { if(tkt == TKT_FPASS && code == TKT_EVENT_BEFORE_END_PRINT) { // Print bar code of the ticket number on P600 printer struct tran_info_struct* pTran = (tran_info_struct*)p->userStruct; if(pTran != NULL) { fprintf(file, "%cb428%c%07d%c", 0x1B, 0x40, pTran->tktNum, 0x1E); } } return 0; } void AppPrint(void) { string strTime = GetTimeStr(1); // Include seconds string strTare = FormatTareWt(1); tran.tktNum++; CTktFlds flds; flds.Set(TKT_FLD_TIME, strTime); flds.Set(TKT_FLD_TARE, strTare); flds.SetEvent(&tran, TktEventPrintBarCode); flds.PrintTkt(TKT_FPASS); }