Принтер этикеток
Создаю с помощью мастера проект на основе диалога в Visual Studio C++ 10 делаю кнопку на диалоговом окне, вешаю на него обработчик.
Купили принтер этикеток, с описанием есть файлы библиотеки для работы с ними TSCLIB.dll, TSCLIB.lib, есть примеры работы но для visual basic и foxpro.
подключаю библиотеку в начале файла TSPLDlg.cpp в которой описаны функции работы с принтером
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .cpp.geshi_code {font-family:monospace;} .cpp.geshi_code .imp {font-weight: bold; color: red;} .cpp.geshi_code .kw1 {color: #0000ff;} .cpp.geshi_code .kw2 {color: #0000ff;} .cpp.geshi_code .kw3 {color: #0000dd;} .cpp.geshi_code .kw4 {color: #0000ff;} .cpp.geshi_code .co1 {color: #666666;} .cpp.geshi_code .co2 {color: #339900;} .cpp.geshi_code .coMULTI {color: #ff0000; font-style: italic;} .cpp.geshi_code .es0 {color: #000099; font-weight: bold;} .cpp.geshi_code .es1 {color: #000099; font-weight: bold;} .cpp.geshi_code .es2 {color: #660099; font-weight: bold;} .cpp.geshi_code .es3 {color: #660099; font-weight: bold;} .cpp.geshi_code .es4 {color: #660099; font-weight: bold;} .cpp.geshi_code .es5 {color: #006699; font-weight: bold;} .cpp.geshi_code .br0 {color: #008000;} .cpp.geshi_code .sy0 {color: #008000;} .cpp.geshi_code .sy1 {color: #000080;} .cpp.geshi_code .sy2 {color: #000040;} .cpp.geshi_code .sy3 {color: #000040;} .cpp.geshi_code .sy4 {color: #008080;} .cpp.geshi_code .st0 {color: #FF0000;} .cpp.geshi_code .nu0 {color: #0000dd;} .cpp.geshi_code .nu6 {color: #208080;} .cpp.geshi_code .nu8 {color: #208080;} .cpp.geshi_code .nu12 {color: #208080;} .cpp.geshi_code .nu16 {color:#800080;} .cpp.geshi_code .nu17 {color:#800080;} .cpp.geshi_code .nu18 {color:#800080;} .cpp.geshi_code .nu19 {color:#800080;} .cpp.geshi_code .me1 {color: #007788;} .cpp.geshi_code .me2 {color: #007788;} .cpp.geshi_code span.xtra { display:block; }
// TSPLDlg.cpp : файл реализации
//
#include "stdafx.h"
#include "TSPL.h"
#include "TSPLDlg.h"
#include "afxdialogex.h"
#pragma comment(lib, "TSCLIB.lib")
// ------------------------------
void CTSPLDlg::OnBnClickedButton1()
{
// TODO: добавьте свой код обработчика уведомлений
openport("TSC TTP-244"); // Указывает принтер этикеток TSC
setup("58","40","4.0","13","0","3","0"); // Параметры этикетки: ширина, высота, скорость печати в дюймах, температура печати, тип датчика, расстояние между этикетками,
clearbuffer(); // Очищаем буфер принтера
windowsfont(16,10, 48, 0, 2, 0, "arial", "Тест"); // Печатаем слово «Тест» с отступом от краёв этикетки, размер шрифта, шрифт Arial
windowsfont(16,48, 48, 0, 2, 0, "arial", "Принтер TTP-244"); // Ниже печатаем фразу «Принтер TTP-244» с отступом от краёв этикетки, размер шрифта, шрифт Arial
barcode("64","100","EAN13","80","1","0","2","4","460851324568"); // Ниже печатаем штрих-код формата EAN-13, содержащий цифры 460851324568
printlabel("3","1"); // Печатаем 3 этикетки
closeport(); // Отключаемся от принтера
}
Компилятор ругается на функции из lib файла
c:usersjackkumdocumentsvisual studio 2010projectstspltspltspldlg.cpp(94): error C3861: openport: идентификатор не найден
Так же в свойствах проекта, дополнительные зависимости тоже прописывал не помогло.
Купили принтер этикеток, с описанием есть файлы библиотеки для работы с ними TSCLIB.dll, TSCLIB.lib, есть примеры работы но для visual basic и foxpro.
подключаю библиотеку в начале файла TSPLDlg.cpp в которой описаны функции работы с принтером
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .cpp.geshi_code {font-family:monospace;} .cpp.geshi_code .imp {font-weight: bold; color: red;} .cpp.geshi_code .kw1 {color: #0000ff;} .cpp.geshi_code .kw2 {color: #0000ff;} .cpp.geshi_code .kw3 {color: #0000dd;} .cpp.geshi_code .kw4 {color: #0000ff;} .cpp.geshi_code .co1 {color: #666666;} .cpp.geshi_code .co2 {color: #339900;} .cpp.geshi_code .coMULTI {color: #ff0000; font-style: italic;} .cpp.geshi_code .es0 {color: #000099; font-weight: bold;} .cpp.geshi_code .es1 {color: #000099; font-weight: bold;} .cpp.geshi_code .es2 {color: #660099; font-weight: bold;} .cpp.geshi_code .es3 {color: #660099; font-weight: bold;} .cpp.geshi_code .es4 {color: #660099; font-weight: bold;} .cpp.geshi_code .es5 {color: #006699; font-weight: bold;} .cpp.geshi_code .br0 {color: #008000;} .cpp.geshi_code .sy0 {color: #008000;} .cpp.geshi_code .sy1 {color: #000080;} .cpp.geshi_code .sy2 {color: #000040;} .cpp.geshi_code .sy3 {color: #000040;} .cpp.geshi_code .sy4 {color: #008080;} .cpp.geshi_code .st0 {color: #FF0000;} .cpp.geshi_code .nu0 {color: #0000dd;} .cpp.geshi_code .nu6 {color: #208080;} .cpp.geshi_code .nu8 {color: #208080;} .cpp.geshi_code .nu12 {color: #208080;} .cpp.geshi_code .nu16 {color:#800080;} .cpp.geshi_code .nu17 {color:#800080;} .cpp.geshi_code .nu18 {color:#800080;} .cpp.geshi_code .nu19 {color:#800080;} .cpp.geshi_code .me1 {color: #007788;} .cpp.geshi_code .me2 {color: #007788;} .cpp.geshi_code span.xtra { display:block; }
// TSPLDlg.cpp : файл реализации
//
#include "stdafx.h"
#include "TSPL.h"
#include "TSPLDlg.h"
#include "afxdialogex.h"
#pragma comment(lib, "TSCLIB.lib")
// ------------------------------
void CTSPLDlg::OnBnClickedButton1()
{
// TODO: добавьте свой код обработчика уведомлений
openport("TSC TTP-244"); // Указывает принтер этикеток TSC
setup("58","40","4.0","13","0","3","0"); // Параметры этикетки: ширина, высота, скорость печати в дюймах, температура печати, тип датчика, расстояние между этикетками,
clearbuffer(); // Очищаем буфер принтера
windowsfont(16,10, 48, 0, 2, 0, "arial", "Тест"); // Печатаем слово «Тест» с отступом от краёв этикетки, размер шрифта, шрифт Arial
windowsfont(16,48, 48, 0, 2, 0, "arial", "Принтер TTP-244"); // Ниже печатаем фразу «Принтер TTP-244» с отступом от краёв этикетки, размер шрифта, шрифт Arial
barcode("64","100","EAN13","80","1","0","2","4","460851324568"); // Ниже печатаем штрих-код формата EAN-13, содержащий цифры 460851324568
printlabel("3","1"); // Печатаем 3 этикетки
closeport(); // Отключаемся от принтера
}
Компилятор ругается на функции из lib файла
c:usersjackkumdocumentsvisual studio 2010projectstspltspltspldlg.cpp(94): error C3861: openport: идентификатор не найден
Так же в свойствах проекта, дополнительные зависимости тоже прописывал не помогло.
1 ответов
В openport(PrinterName) следует указать полную строку имени установленного принтера, можно посмотреть в Start\Device and Printers (W Vista или W7) или диспетчер устройвств/принтер и правым кликом в свостваь принтера.