Changed case/unit quantity storage in database to use strings instead of integers.
This commit is contained in:
		
							parent
							
								
									4cc3c9691b
								
							
						
					
					
						commit
						d0ae752c1b
					
				
					 1 changed files with 20 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -159,8 +159,8 @@ Boolean         gQuantityTouched;
 | 
			
		|||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    Char        barcode[15];
 | 
			
		||||
    UInt16      cases;
 | 
			
		||||
    UInt16      units;
 | 
			
		||||
    Char        cases[4];
 | 
			
		||||
    Char        units[4];
 | 
			
		||||
} RattailScanRecord;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -794,15 +794,21 @@ static Boolean MainFormDoCommand(UInt16 command)
 | 
			
		|||
static void DrawCustomTableItem(void* table, Int16 row, Int16 col, RectangleType* bounds)
 | 
			
		||||
{
 | 
			
		||||
    Char*       barcode;
 | 
			
		||||
    Char        quantity[4];
 | 
			
		||||
    Char*       quantity;
 | 
			
		||||
    Coord       x;
 | 
			
		||||
 | 
			
		||||
    if (col == 0) {
 | 
			
		||||
        /*
 | 
			
		||||
         * The barcode string is drawn normally.
 | 
			
		||||
         */
 | 
			
		||||
        barcode = (Char*) TblGetItemPtr(table, row, col);
 | 
			
		||||
        WinDrawChars(barcode, StrLen(barcode), bounds->topLeft.x, bounds->topLeft.y);
 | 
			
		||||
 | 
			
		||||
    } else {
 | 
			
		||||
        StrIToA(quantity, TblGetItemInt(table, row, col));
 | 
			
		||||
        /*
 | 
			
		||||
         * Case and unit quantities are right-justified.
 | 
			
		||||
         */
 | 
			
		||||
        quantity = (Char*) TblGetItemPtr(table, row, col);
 | 
			
		||||
        x = bounds->topLeft.x + bounds->extent.x - FntCharsWidth(quantity, StrLen(quantity));
 | 
			
		||||
        WinDrawChars(quantity, StrLen(quantity), x, bounds->topLeft.y);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -965,8 +971,8 @@ static void MainFormLoadTable(TablePtr table, Boolean updateScroll)
 | 
			
		|||
        recordP = MemHandleLock(recordH);
 | 
			
		||||
 | 
			
		||||
        TblSetItemPtr(table, row, 0, recordP->barcode);
 | 
			
		||||
        TblSetItemInt(table, row, 1, recordP->cases);
 | 
			
		||||
        TblSetItemInt(table, row, 2, recordP->units);
 | 
			
		||||
        TblSetItemPtr(table, row, 1, recordP->cases);
 | 
			
		||||
        TblSetItemPtr(table, row, 2, recordP->units);
 | 
			
		||||
 | 
			
		||||
        MemHandleUnlock(recordH);
 | 
			
		||||
        DmReleaseRecord(db, recordIndex, false);
 | 
			
		||||
| 
						 | 
				
			
			@ -1344,16 +1350,22 @@ static void StoreScanRecord()
 | 
			
		|||
    MemPtr              recordP;
 | 
			
		||||
    TablePtr            table;
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * Make sure we start off clean.  This will make it easier to parse the
 | 
			
		||||
     * record on the PC side, and is probably good practice anyhow.
 | 
			
		||||
     */
 | 
			
		||||
    MemSet(&record, sizeof(RattailScanRecord), 0);
 | 
			
		||||
 | 
			
		||||
    form = FrmGetFormPtr(MainForm);
 | 
			
		||||
 | 
			
		||||
    ctrl = FrmGetObjectPtr(form, FrmGetObjectIndex(form, MainFormBarcode));
 | 
			
		||||
    StrCopy(record.barcode, FldGetTextPtr((FieldPtr) ctrl));
 | 
			
		||||
 | 
			
		||||
    ctrl = FrmGetObjectPtr(form, FrmGetObjectIndex(form, MainFormCases));
 | 
			
		||||
    record.cases = StrAToI(CtlGetLabel(ctrl));
 | 
			
		||||
    StrCopy(record.cases, CtlGetLabel(ctrl));
 | 
			
		||||
 | 
			
		||||
    ctrl = FrmGetObjectPtr(form, FrmGetObjectIndex(form, MainFormUnits));
 | 
			
		||||
    record.units = StrAToI(CtlGetLabel(ctrl));
 | 
			
		||||
    StrCopy(record.units, CtlGetLabel(ctrl));
 | 
			
		||||
 | 
			
		||||
    db = OpenScanDatabase();
 | 
			
		||||
    recordIndex = dmMaxRecordIndex;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue