Это зависит от соединения, типа используемого принтера и денежного ящика. Поскольку вы не указали, с каким языком может взаимодействовать кристалл (activex, dll)? Я отредактирую этот ответ еще раз, когда будет предоставлена дополнительная информация.
Редактировать: Хорошо, возможно, стоит использовать последовательный activex, такой как MSComm.ocx , и записывать в последовательный порт через MSComm.ocx. Соответствующий код для извлечения денежного ящика зависит от аппаратного обеспечения. ( Можете ли вы предоставить дополнительную информацию по этому вопросу, пожалуйста? ) Также мне нужно знать, как генерируется отчет Crystal. Есть ли у вас сторонний исходный код, к которому у вас есть доступ, который генерирует отчет (Опять, образец кода, указывающий, где генерируется отчет, пожалуйста? как, например, ниже в псевдокоде)
load crystal report
print it
; Here is where you need to emit a code to send to serial port to open cash drawer
Надеюсь, это поможет,
С наилучшими пожеланиями,
Том.