Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];

Вниз

Функция Printer и лазерные принтеры   Найти похожие ветки 

 
JB   (2005-10-03 13:48) [0]

Уважаемые Мастера! Подскажите пожалуйста в чем тут проблема.
Пишу программу (курсовая работа), и надо на принтер кое чего отправить, я использую функцию Printer. Дома где у меня струйник все работает, а на лазерниках (на всех которые мне попались под руку) из принтера вылазиет пустой лист бумаги.
                                                          Заранее спасибо


 
_RusLAN ©   (2005-10-03 16:57) [1]

У тебя ошибка в программе есть, из-за которой на струйниках печатается, а на лазерниках нет.

ЗЫ Ну как ответ? Помог?


 
Goral ©   (2005-10-03 16:57) [2]

я использую процедуру
procedure PrintStrings(S: TStrings; Font: TFont; Title: string); и все работает как на лазерниках так и на струйниках попробуй ;-)

//Printer pRoc
procedure PrintStrings(S: TStrings; Font: TFont; Title: string);
var
 LeftMargin, TopMargin, LineCoord, LineOnPage, LinesOnDoc,
 CurrentLine, TextHeight, LinesPerPage, LineInterval: integer;

 procedure StartDoc;
 begin
   LinesOnDoc := S.Count;
   Printer.Canvas.Font.Assign(Font);
   Printer.Canvas.TextOut(0, 0, " ");
   LeftMargin := (Printer.Canvas.Font.PixelsPerInch) div 2;
   TopMargin  := (Printer.Canvas.Font.PixelsPerInch) div 2;
   TextHeight := Abs(Printer.Canvas.Font.Height);
   LineInterval := TextHeight {+ (TextHeight div 2)};
   LinesPerPage := (Printer.PageHeight - TopMargin) div LineInterval;
   CurrentLine := 0;
 end;

 function MorePages:boolean;
 begin
   Result := (CurrentLine < LinesOnDoc) and
             not Printer.Aborted;
 end;

 procedure StartPage;
 begin
   LineOnPage := 0;
   LineCoord := TopMargin;
 end;

 procedure NextPage;
 begin
   if MorePages then Printer.NewPage;
 end;

 function MoreLines:boolean;
 begin
   Result := (LineOnPage < LinesPerPage) and
             (LineOnPage < LinesOnDoc) and
             not Printer.Aborted;
 end;

 procedure NextLine;
 begin
   Inc(LineOnPage);
   Inc(LineCoord, LineInterval);
   Inc(CurrentLine);
 end;

 procedure PrintLine;
 begin
   Printer.Canvas.TextOut(LeftMargin, LineCoord,
S.Strings[CurrentLine]);
 end;

begin
 Printer.Title := Title;
 Printer.BeginDoc;
 StartDoc;
 while MorePages do begin
   StartPage;
   while MoreLines do begin
     PrintLine;
     NextLine;
     Application.ProcessMessages;
   end;
   NextPage;
 end;
 Printer.EndDoc;
end;
// End Printer

procedure TForm1.Button1.Click(Sender: TObject);
begin
  PrintStrings(Memo1.Lines.Create,Memo1.Font,"");
end;


 
Anatoly Podgoretsky ©   (2005-10-03 18:22) [3]

Принтер НР


 
JB   (2005-10-04 09:39) [4]

2 Anatoly Podgoretsky
Оба принтера HP и лазерник и струйник


 
ANB ©   (2005-10-04 10:56) [5]


> JB   (04.10.05 09:39) [4]
- переключи лазерник на печать в графике.


 
Anatoly Podgoretsky ©   (2005-10-04 14:05) [6]

Любимая болезнь НР, помогают пляски с бубном.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
1-1128086320
nikolas
2005-09-30 17:18
2005.10.23
Модуль не доступен для отладки


2-1127834116
Xav
2005-09-27 19:15
2005.10.23
Filepagesetup


14-1127995312
Jeer
2005-09-29 16:01
2005.10.23
Зачем мы - им и что - они о нас:)


3-1126674133
erika
2005-09-14 09:02
2005.10.23
Порядковый номер в наборе данных


11-1109578928
NorthMan
2005-02-28 11:22
2005.10.23
[Error] Unit1_1.inc: Identifier redeclared: NewForm1





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский