public bool TryGetPrinterFlags(long nPasswd, out StrokePrinterFlags printerFlags) { printerFlags = new StrokePrinterFlags(); try { printerFlags = GetPrinterFlags(nPasswd); return(true); } catch (Exception) { return(false); } }
public StrokePrinterFlags GetPrinterFlags(long nPasswd) { WriteDebugLine("GetPrinterFlags"); var printerFlags = new StrokePrinterFlags(); ExecuteCommand(0x10, nPasswd); // режим ККМ: младший полубайт байта ответа 5 printerFlags.Mode = (byte)(Response[5] & 0x0F); // статус режима: старший полубайт байта ответа 5 printerFlags.StateMode = (byte)(Response[5] >> 4); // подрежим ФР: байт ответа 6 printerFlags.Submode = (byte)Response[6]; printerFlags.slipPaperPresent = (byte)(Response[3] & 0x0C) == 0x0C; printerFlags.drawerOpened = (Response[4] & 0x08) == 0x08; return(printerFlags); /* * * int retries = 0; * var printerFlags = new StrokePrinterFlags(); * do * { * try * { * ExecuteCommand(0x10, nPasswd); * // режим ККМ: младший полубайт байта ответа 5 * printerFlags.Mode = (byte)(Response[5] & 0x0F); * // статус режима: старший полубайт байта ответа 5 * printerFlags.StateMode = (byte)(Response[5] >> 4); * // подрежим ФР: байт ответа 6 * printerFlags.Submode = (byte)Response[6]; * * printerFlags.slipPaperPresent = (byte)(Response[3] & 0x0C) == 0x0C; * printerFlags.drawerOpened = (Response[4] & 0x08) == 0x08; * * return printerFlags; * } * catch (TimeoutException) * { * if (retries++ > MAX_RETRIES_COUNT) * throw; * System.Threading.Thread.Sleep(T1); * } * } * while (true); */ }