unit Errors;{system errors and other errors constants}
{$I define.pas}
{$I nodebug.pas}
interface
const
{DOS Errors:}
  erInvalidFunctionNumber = 1;
  erFileNotFound = 2;
  erPathNotFound = 3;
  erTooManyOpenFiles = 4;
  erFileAccessDenied = 5;
  erInvalidFileHandle = 6;
  erNotEnoughMemory = 8;
  erInvalidEnvironment = 10;
  erInvalidFormat = 11;
  erInvalidFileAccessCode = 12;
  erInvalidDriveNumber = 15;
  erCannotRemoveCurrentDirectory = 16;
  erCannotRenameAcrossDrives = 17;
  erNoMoreFiles = 18;
  erDiskReadError = 100;
  erDiskWriteError = 101;
  erFileNotAssigned = 102;
  erFileNotOpen = 103;
  erFileNotOpenForInput = 104;
  erFileNotOpenForOutput = 105;
  erInvalidNumericFormat = 106;
  erDiskIsWriteProtected = 150;
  erBadDriveRequestStructLength = 151;
  erDriveNotReady = 152;
  erCRCErrorInData = 154;
  erDiskSeekError = 156;
  erUnknownMediaType = 157;
  erSectorNotFound = 158;
  erPrinterOutOfPaper = 159;
  erDeviceWriteFault = 160;
  erDeviceReadFault = 161;
  erHardwareFailure = 162;
  erDivisionByZero = 200;
  erRangeCheckError = 201;
  erStackOverflowError = 202;
  erHeapOverflowError = 203;
  erInvalidPointerOperation = 204;
  erFloatingPointOverflow = 205;
  erFloatingPointUnderflow = 206;
  erInvalidFloatingPointOperation = 207;
  erOverlayManagerNotInstalled = 208;
  erOverlayFileReadError = 209;
  erObjectNotInitialized = 210;
  erCallToAbstractMethod = 211;
  erStreamRegistrationError = 212;
  erCollectionIndexOutOfRange = 213;
  erCollectionOverflowError = 214;
  erArithmeticOverflowError = 215;
  erGeneralProtectionFault = 216;
{/DOS errors}

  erFirstSystemError = 1000;
    er = 1000;
  erLowCreditRents = er;
    {usersfile.orderrent, too low credit}
  erGetPriceRelFailed = er + 1;
    {usersfil.getpricerel failed}
  erUsersCantSetRelToOrders = er + 2;
    {usersfil.openpricerel:'UsersFile Could not set relation to OrdersFile'}
  erOpenPriceRelFailed = er + 3;
    {usersfil.openpricerel:'Could not open price relation for month ' + ADate.YYMM);}
  erOrderRentRecNotFound = er + 4;
    {usersfil.orderRent, record not found '+IntToStr(UserID));}
  erUserOrderRentCount0 = er + 5;
    {usersfil.orderrent, count <= 0');}
  erUserCancelRentCount0 = er + 6;
  erCancelRentRecNotFound = er + 7;
  erUserCancelMealOrdCount0 = er + 8;
   {'usersfil.CancelMealOrder: negative or zero ACount');}
  erUserCancelMealTooMuch = er + 9;
   {usersfil.CancelMealOrder: requested too much');}

  erEdMealGrRecNotFound = er + 10;
   {edmealgr.datacellenabled record not found}
  erEdMealGrRecNotFoundWrite = er + 11;
   {edmealgr.writedatacell failed to find record}
  erNilPriceGrpInGetMealSched = er + 12;
    {'Nil pg in mealgrp.GetMealScheduleID'}

  erMemPageWriteError = er + 13;
    {MemPage.InitDisk write error. Disk Full?}
  erMemPageInitDiskSeekBehind = er + 14;
    {MemPage.InitDisk Seek behind end of file?}
  erMemPageInitDiskRewriteFailed = er + 15;

  erMealNamesMealNotFound = er + 16;
  erPriceGrpMealNotFound = er + 17;
  erMealGrpOpenSlavesFailed = er + 18;
    {'mealgrp.openSlaves failed'}

  erPaymentsNewRecDifBalance = er + 19;
  {'payments.newrec: difference UsersFile.Balance, PaymentsBalance, trying to fix..'}
  erPaymentsNewRecUsersFileNotFound = er + 20;
  {'payments.newrec: Can not find user or action file'}


  erCodePasSlaveHadOpenREL4 = er + 21;
    {adding relation to DB that had already initialize REL4}

  erRangeDBCanCreateMonthFileSame = er + 22;
   {'Cant create monthly file with the same name:' +}

  erCarduGetNextFirstDate = er + 23;
   {inifinite cycle?}

  erCarduInitGiveStorTooManyGives = er + 24;
   {'Too many giveouts.', error in config MaxGiveouts variable}

  erCarduInitGiveoutNil = er + 25;
   {'Give module table not found in InitCardsStorage.'}

  erCarduInitOrderNil = er + 26;
   {'Order module table not found in InitCardsStorage.'}
  erCarduInitCardStorNil = er + 27;
  erCarduInitGrpStorNil = er + 28;
  erCarduInitMealStorNil = er + 29;
  erCarduInitOrderDaysFailed = er + 30;
  erCarduCopyToTableUnableToAdd = er + 31;
    {'CardsTable.CopyUserToTable: Unable to add touchid record'}
  erCarduCopyToTableGiveIDOutOfRange = er + 32;
    {'cardstbl.copyuser:giveid out of range.'}

  erOrdersFUsersNotOpen = er + 33;
  erOrdersFiDifUserID = er + 34;

  erMealGrpGetGrpIndNilUsr = er + 35;
  erMealGrpCantMakeMonthUsrGrp = er + 36;

  erDBFileCopyRecToSelf = er + 37;
  erDBFileCopyRecToNoStruc = er + 38;
  erDBFileCheckStrucFail = er + 39;
  erDBFileCopyRecInvalRec = er + 40;
  erDBStateStoreAlreadyUsed = er + 41;
  erDBStateStoreOutOfMem = er + 42;
  erDBStateRestoreDifDB = er + 43;
  erDBStateRestoreDifTmp = er + 44;
  erDBStateRestoreOutOfMem = er + 45;
  erDBCopyFromTmpTopFail = er + 46;

  erGHMStatPortIDToBig = er + 47;

  erDBScrollerSaveInpCantGet = er + 48;
    {'DBScroller.SaveInputLine couldnt GetRec'}
  erDBScrollerSaveInpDifRecNo = er + 49;

  erEDCHRTBLInputLinesNil = er + 50;

  erCalendarGetDefMealPlanFailed= er + 51;{although plan confirm data <> ''}
  erFormatFieldLineFieldNoNegative = er + 52;
  erFormatFieldLineInitFNEmpty = er + 53;
  erFldLineDBLineInfoNil = er + 54;{'Trying to init FieldDBInputline without Info set to DB file name'}
  erFldLineDifSetGetRecNumber = er + 55;
  erFldLineSetRecNumberZero = er + 56;
  erFldLineCouldntGetSetRecNo = er + 57;
  erFormatFillNewFldLineFailed = er + 58;
  erFldLineInitFIPInvalidFieldline = er + 59;
  erPriceGrpNotFound = er + 60;
  erMealGrpMealNotFound = er + 61;
  erMealGrpNotFound = er + 62;
  erDBListColLabelOutOfRange = er + 63;{'ColumnLabel: CX out of range'}
  erDBListLoadInpLineNoRecFocused = er + 64;
    {'DBScroller.LoadInputLine - no record focused?'}
  erCodePasGetFieldNameOutOfRange = er + 65;

  erCodePasGetFieldValOutOfrange = er + 66; {'Trying to get out of range field in '}
  erCodePasGetFieldValFromNoRec = er + 67; {'Trying to get field from No_Record '}
  erCodePasDeleteNoRec = er + 68; {'Trying to delete No_Record '}
  erCodePasUndeletNoRec = er + 69;{ 'Trying to undelete No_Record'}
  erCodePasCOD4Nil = er + 70; {'CODEPAS: COD4 = nil'}
  erCodePasDBStackStateNotEmpty = er + 71;
  erCodePasRestDBStateStackEmpty = er + 72;

  erOrdersFiMealRecNotFound = er + 73;
  erOrdersFiRentRecNotFound = er + 74;
  erOrdersFiUserRecNotFound = er + 75;
  erUserGrpMealGrpNonNilInDone = er + 76;
  erMealGrpPriceGrpNonNilInDone = er + 77;

  erCodePasPutFieldValToNoRec = er + 78;
  erCodePasPutFieldValOutOfrange = er + 79;
  erUserGrpSetRelFailed = er + 80;
  erMealGrpSetRelFailed = er + 81;
  erCodePasGetFieldLabelOutOfRange = er + 82;
  erCodePasGetFieldTypeOutOfRange = er + 83;
  erCodePasGetFieldLenOutOfRange = er + 84;
  erCodePasGetFieldDecOutOfRange = er + 85;
  erCodePasGetRecCalledForSlave = er + 86;

  erDBListScrollerFormatFailed = er + 87;
  erMealGrpOpenPriceRelFailed = er + 88;
  erMealGrpOpenEditRelFailed = er + 89;{'mealgrp.OpenEditRel failed'}
  erMealGrpCloseSlavesOpenedMore = er + 90;

  erDBSDoneAllInfiniteLoop = er + 91;
  erDBSDoneInfiniteLoop = er + 92;
  erMealGrpCloseSlavesClosedMore = er + 93;
  erUserGrpRelLocked = er + 94;
  erUserGrpRemRelNil = er + 95;
  erMealGrpSetRelLocked = er + 96;
  erMealGrpReopenUserGrp = er + 97;
  erUserGrpReopenMealGrp = er + 98;
  erCodePasTruncateFailed = er + 99;
  erEdPrGrpInitPriceGrpNil = er + 100;
  erEdPrGrpInitUserGrpNil = er + 101;

  erDBSDoneAliasAliasNotFound = er + 102;
  erDBSDoneAliasDifDateFound = er + 103;

  erFormatSlaveDBNotOpen = er + 104;
  erGUserEDZeroUserID = er + 105;
  erEdPrGrpBadMealsCount = er + 106;
  erEdMealGrpBadMealsCount = er + 107;
  erMealScheAddMealsFailed = er + 108;
  erMealScheMealNoFound = er + 109;
  erMScheNamEditRecNilMealSched = er + 110;
  erFldLineOpenMenuNil = er + 111;
  erCodePasCopyToBakFileFailed = er + 112;
  erCodePasCopyFromBakDBExists = er + 113;
  erCodepasPackFailed = er + 114;
  erCodePasTempFileNameNil = er + 115;
  erCodePasDeleteNewRec = er + 116;
  erUsersFilAddOrdersRecordInvalUser = er + 117;
  erConfigFInitMealTimesFailed = er + 118;
  erOrdersFiUserRecAlrdyAdded = er + 119;
  erCodePasGetRecNoRecord = er + 120;
  erDBListGetVisFldIndInvalColumn = er + 121;
  erAliasAndTempFileNameEqual = er + 122;
  erBakFileNameAndAliasEqual = er + 123;
  erMealGrpDelGrpPriceGrpFileNil = er + 124;
  erCodePasReplaceForBadCount = er + 125;
  erCodePasReplaceForEmptyFldName = er + 126;
  erCodePasReplaceForInvalFldName = er + 127;
  erSchedTblMealsInDayOutOfRange = er + 128;
  erRangeDBMonthFileToCreateIsNotEmpty = er + 129;
  erAutoOrdInvalidDate = er + 130;
  erDBSInitEmptyAlias = er + 131;
  erDBSInvalidDate = er + 132;
  erCarduFailedOpenPriceRel = er + 133;
  erOrdersFiCopyToTblCardNotReg = er + 134;
  erUsersFilOpenPriceRelCouldntGetFiles = er + 135;
  erOrdersFiGetRelFailed = er + 136;
  erCodePasGetRecOutOfRange = er + 137;
  erDBSInitCallingNotOpenMonth = er + 138;
  erGHRangDBUpdMonthFromMonth = er + 139;
  erGHRangDBUpdMonthFileRecAlrdAdded = er + 140;
  erGHRangDBMonthFileNameIsSame = er + 141;
  erMMonthDBUpdMonthFromMonth = er + 142;
  erMMonthDBUpdMonthCouldnt = er + 143;
  erMMonthDBMonthFileNameIsSame = er + 144;
  erMMonthDBUpdMonthFileRecAlrdAdded = er + 145;
  erCodePasAppendRecToFailed = er + 146;
  erGHRangDBUpdMonthCouldnt = er + 147;
  erCodePasReplaceForNilCol = er + 148;
  erCodePasCloseAllFailed = er + 149;
  erMealGrpDeleteGrpLesRecsDel = er + 150;
  erMealGrpDeleteGrpGrpNoFound = er + 151;
  erMealGrpGetPrRelFilesFailed = er + 152;
  erMealGrpMealSchedNotRelated = er + 153;
  erMealGrpPriceGrpNotRelated = er + 154;
  erMealGrpMealSchedNotFound = er + 155;
  erUsersFilUpdateTableNoFound = er + 156;
  erCarduSelectCardInvalGrp = er + 157;
  erCardsStorSetMonthOrdOutOfRange = er + 158;
  erCardsStorSetOrdNeg = er + 159;
  erCardsStorSetTakenNeg = er + 160;
  erCarduPutPaymOrderDayNil = er + 161;
  erEdOrdersSelCardNotFound = er + 162;
  erGrpStorGetMealPrcOOR = er + 163;
  erGrpStorSetMealPrcOOR = er + 164;
  erPayFifoCouldNotProcessRecord = er + 165;
  erUsersFilGetPrcRelOrderRecAdded = er + 166;
  erCarduReadMealTimeIDProblems = er + 167;
  erCarduReadMealPlanProblems = er + 168;
  erCarduReadMealGroupsProblems = er + 169;
  erCarduReadUsersProblems = er + 170;
  erUserGrpDeleteGrpMealGrpNil = er + 171;
  erUserGrpDelGrpDifMGID = er + 172;
  erBackupCantCreateDir = er + 173;
  erBackupRestoreDirNotFound = er + 174;
  erMMontDBCouldnotUpdateMonthRec = er + 175;
  erMMontDBCoulnotAddMonthRec = er + 176;
  erMealGrpUpdateMonthFileDifCount = er + 177;
  erGrpStorGetScheduleOOR = er + 178;
  erGrpStorSetScheduleOOR = er + 179;
  erMealScheUpdateMonthFileDifCount = er + 180;
  erUsersFileGetPriceUserRelFailed = er + 181;
  erOrdersFiGetRelFilMGFNil = er + 182;
  erCodePasSaveRecDirect = er + 183;
  erCodePasPutFldDirectAcc = er + 184;
  erCodePasPutFldInvalNumVal = er + 185;
  erCodePasSaveRecDifRecno = er + 186;
  erUsersFileInvalUIDFixing = er + 187;
  erUsersTblCantAddUserRec = er + 188;
  erCarduInitReadUsersTableNil = er + 189;
  erCarduReadOrdersProblems = er + 190;
  erOrdersFileCopyGroupIDFailed = er + 191;
  erPaymentsCantInit = er + 192;
  erUsersFilCloseOrdFilNotOpened = er + 193;
  erPayFifoSaveRecUIDNotFound = er + 194;
  erCarduCopyMealGrpToTblInvalUsrGrp = er + 195;
  erOrdersFiHasOrdersNoRec = er + 196;
  erOrdersFileInitUsersNotOpen = er + 197;
  erCarduReadMealGrpNegPrice = er + 198;
  erCarduReadMealGrpPriceOOR = er + 199;
  erBackupuCantCreateBackupDir = er + 200;
  erArchiverCompressFilesFailed = er + 201;
  erTouchAssEventClearedIncorr = er + 202;
  erUsersFilGetPrRelInvalRec = er + 203;
  erReportFiCantInitPrintRecs = er + 204;
  erReportPrintPageInitFailed = er + 205;
  erReportDBColFailed = er + 206;
  erReportfileError = er + 207;
  erReportAbortedByUser = er + 208;
  erCarduInvalidSetCurDate = er + 209;
  erGTranCrdSetReaderInfoNil = er + 210;
  erGTranCrdSetReaderInfoNil2 = er + 211;
  erGUserEdSetCardIDNil = er + 212;
  erGHWorkNilUserWind = er + 213;
  erGHWorkRegCardInNil = er + 214;
  erUserBrowCardInNil = er + 215;
  erUserWindDoRegCardInNil = er + 216;
  erAutoOrdUFNil = er + 217;
  erReportFiInvalEjectMode = er + 218;
  erCodePasPutNamedFldNotFnd = er + 219;
{module errors, order errors: (was in ghmtype, moved mostly to hmodtyp}
  er2 = 2000;

  {erInvalidCardID = er2 + 131;{nonregistered card inserted into module}
  {erBadCard = er2 + 132;{physicaly damaged medium inserted into module}

  erUnknown = er2 + 137;
  erTestingMode = er2 + 138;
  erTooManyCards = er2 + 139;
  {erHotCard = er2 + 140;}
  erOutOfMemory = er2 + 141;
  {erCardIsLocked = er2 + 142;}

  {i.e. is beeing edited by program, not accessible to module}
  {other order erorrs (results of usersfile^.orderxxx functions:)}
   {error for ordering, order meal errors set to cardu .OrderMealError var}
  {the below in GetOrderMealMsg}
  erNoMealOrdered = er2 + 200;
  erMealAlreadyTaken = er2 + 201;
  erNotEnoughMeals = er2 + 202;
  erNotEnoughMoney = er2 + 203;
  erOutOfUserMealMonthLimit = er2 + 204;
    {.. trying to order, but all allowed count of meals for user and month used up}
  erOutOfMealLimit = er2 + 205; {meal limit (of one meal for all users) in day reached}
  erAlreadyOrdered = er2 + 206; {requested meal already ordered}
  erNotInSchedule = er2 + 207;  {can not order meal because it's not in group's schedule}
  erOutOfUserDayLimit = er2 + 208;
  erInvalidOrderCount = er2 + 209;
  erUnknownPrice = er2 + 210;
  erCanNotOrderForToday = er2 + 211;
  erCanNotCancelForToday = er2 + 212;
  erCanNotCancelTakenMeals = er2 + 213;
  {the above in GetOrderMealErrorMsg}

  erUndefinedMeal = er2 + 214;{i.e. position on the module not assigned to any meal}
  erCancelMealNotAllowed = er2 + 215;{cancelin of meal is not allowed by group's schedule}

  erCanNotCancelInPast = er2 + 216;
  erCanNotOrderInPast = er2 + 217;
  erCantOrderForBlockedDate = er2 + 218;
  erCantCancelForBlockedDate = er2 + 219;{can't cancel from module
    just for blocked first order date (not for blocked period)}

  erNoTouchRAMPresent = er2 + 220;
  {er3 = 3000;
  erDBListScrollerFormatFailed = er3 + 1;}

implementation
end.