Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с печатью!!! 
:(
    Опции темы
Orient
Дата 29.4.2008, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 144
Регистрация: 17.7.2004

Репутация: нет
Всего: нет



Здравствуйте!

Столкнулся  проблемой печати на специализированном принтере, который печатает\ламинирует карточки Proximity, подобные карточкам метро. Посылаю данные на печать из своей чудо проги и мне драйвера этого принтера выдают ошибку о том, что модуль записи данных на магнитную полосу не установлен, и печать соотв. не проходит. Ошибка конечно не так звучит, но смысл именно этот, об этом мне поведал мальчик их тех.поддержки производителя этого принтера. На вопросы что делать с этой проблемой этот мальчик ничего дельного не сказал, поскольку если пробовать печатать из блокнота, то печать проходит без проблем.

Печать я выполняю с помощью TPrinter, ошибка возникает при посылке на печать текста, если печатаю графику, то все путем и ошибок нет. Может ли кто-нибудь сказать что-то дельное по этому вопросу, есть ли еще какие-то методы печати из дельфей? Как печатает этот гадский блокнот, что у него не возникает ошибок?

Заранее, спасибо
PM MAIL   Вверх
Snowy
Дата 29.4.2008, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Тут 2 варианта:
1. Подготовить картинку, писать текст на неё, а затем отправлять на печать.
2. Если нужно печатать шрифтом принтера, или отправлять управляющие комманды, то TPrinter тут не поможет. Это можно сделать, например так:
Код
uses WinSpool;

procedure WriteRawStringToPrinter(PrinterName:String; S:String);
var
  Handle: THandle;
  N: DWORD;
  DocInfo1: TDocInfo1;
begin
if not OpenPrinter(PChar(PrinterName), Handle, nil) then
begin
   ShowMessage('error ' + IntToStr(GetLastError));
   Exit;
end;
with DocInfo1 do begin
   pDocName := PChar('test doc');
   pOutputFile := nil;
   pDataType := 'RAW';
end;
StartDocPrinter(Handle, 1, @DocInfo1);

StartPagePrinter(Handle);
WritePrinter(Handle, PChar(S), Length(S), N);
EndPagePrinter(Handle);
EndDocPrinter(Handle);
ClosePrinter(Handle);
end;
 (взято из DRKB)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.