первый

This commit is contained in:
2024-11-01 12:23:13 +05:00
parent 801d9d33fa
commit 0688c46a7e
226 changed files with 162921 additions and 0 deletions

View File

@ -0,0 +1,46 @@
//---------------------------------------------------------------------------
#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