Что нового

Использование чекового принтера

Grizli

Новичок
Сообщения
48
Репутация
2
Версия AutoIt: 3.3.14.3

Описание:
Здравствуйте уважаемые. На работе открывают новую профессию(образовательная организация) и руководство спрашивает смогу ли я своими силами смастерить программку суть которой сводится к 3-4 кнопкам-задать банковский курс обмена валюты, сумму на которую покупатель обменивает валюту и выбор самой валюты. Это все реально осуществимо посредством такого замечательного языка как AutoIt. А вот с формированием чека у меня загвоздка. Сам чек не обязан претендовать на достоверность, достаточно его схожести на настоящий тк на этой программе будут операционисты тренироваться. Задача при операции обмена одной валюты на другую печатать на чековом принтере чек операции. Сам чековый принтер представляет собой обычный принтер, только размер листа не А4, а шириной с обычный чек из магазина. Иными словами нужно перед отправкой на печать сформировать сам чек(примерно как в блокноте, в виде текста( или в текстовом массиве в скрипте autoit), и печать уже его стандартными функциями системы на принтере)
Примечания:
В идеале бы еще кнопки закрытия и открытия смены- при открытии печатается чек смена открыта и дата. без открытия смены недоступны чеки обмена валюты. а при закрытии смены колич операций за открытую смену(колич чеков) и сумма всех чеков за день. так же смена не открывалась бы, если не закрыт прошлый день
 

hedji

Продвинутый
Сообщения
409
Репутация
94
Вариант сохранить сформированный чек во временный файл и распечатать подойдёт?
Код:
Opt("GUIOnEventMode", 1)
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <File.au3>
$Form1 = GUICreate("Form1", 319, 199, 192, 114)
$Button1 = GUICtrlCreateButton("Открыть смену", 40, 32, 233, 65)
$Button2 = GUICtrlCreateButton("Закрыть смену", 40, 112, 235, 57)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlSetOnEvent ($Button1, "open_day")
GUICtrlSetOnEvent ($Button2, "close_day")
GUISetState(@SW_SHOW)


Func open_day()
	FileDelete(@ScriptDir & "\check.txt")
	$date_time = @MDAY & "." & @MON & "." & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC
	FileWriteLine(@ScriptDir & "\check.txt", "Смена открыта")
	FileWriteLine(@ScriptDir & "\check.txt", $date_time)
	_FilePrint(@ScriptDir & "\check.txt")
EndFunc

Func close_day()
	FileDelete(@ScriptDir & "\check.txt")
	$date_time = @MDAY & "." & @MON & "." & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC
	FileWriteLine(@ScriptDir & "\check.txt", "Смена закрыта")
	FileWriteLine(@ScriptDir & "\check.txt", $date_time)
	_FilePrint(@ScriptDir & "\check.txt")
EndFunc

Func CLOSEClicked()
  Exit
EndFunc

While 1
	Sleep(1000)
WEnd
 
Верх