Files
Tools_CPP/devices/Printers/Printer.h
2024-11-01 12:23:13 +05:00

47 lines
2.6 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//---------------------------------------------------------------------------
#ifndef CPrinterH
#define CPrinterH
//---------------------------------------------------------------------------
#include <string>
//---------------------------------------------------------------------------
//Контрольно кассавая машина ККМ
//Абстрактный класс
//---------------------------------------------------------------------------
struct MyError
{
int ErrorCode;
std::string ErrorMessage;
};
//---------------------------------------------------------------------------
class CPrinter
{
private:
protected:
public:
unsigned char m_Dots; //Количество десятичных знаков после зяпятой
//std::string m_DevNumber; ///<Идентификатор оборудования
int m_LastErrorCode; ///<Код ошибки 0 без ошибок
std::string m_LastErrorDescription; ///<Описание последней ошибки
CPrinter();
virtual ~CPrinter();
double M(); ///<Получить множитель для перевода в целые. если 0 точек после запятой то вернёт 1 иначе кол-во * 10
virtual bool isOk() = 0; ///<Готов ли к работе принтер (должна быстро выполнятся)
virtual bool OpenSerial(std::string ComNumber, int BaudRate) = 0; ///<Соедениться по COM порту
virtual MyError PrinterInit() = 0; ///<Инициализация принтера.
virtual bool CashInOut(bool test, double sum) = 0; ///<Внесение +, выемка - (test - проверка можно ли выплонить данную функцию)
virtual bool GetCashSum(double& sum) = 0; ///<Получить сумму наличности в кассе.
//virtual int Beep(int Hz,int mSec) = 0; ///<Звуковой сигнал
virtual MyError PrintZReport() = 0; ///<Печатать дневной отчёт с гашением
virtual MyError PrintXReport() = 0; ///<Печатать дневной отчёт без гашения
virtual MyError PrintLine(std::wstring line) = 0; ///<Печатает строку текста (на служебном и на фискальном)
virtual int GetLineLength() = 0; //Получить ширину строки чека в символах.
virtual MyError PrintDiagnostic() = 0; //Печать диагностической информации
//virtual void OnExit( wxCommandEvent& event ){ event.Skip(); }
};
//---------------------------------------------------------------------------
#endif