|
Вопрос # 5 576/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
У меня есть текстовый файл заполненный с текстом. Теперь не знаю как распечатать этот текст. В инете нашел код:
Но тогда текст печатается только в одну сторону бумаги. А мне хочется напечатать как написано на файле.
К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)
Приложение: Переключить в обычный режим- Var
- Prn: TextFile;
- I: Word;
- Begin
- AssignPrn(Prn);
- Try
- Rewrite(Prn);
- Try
- For I:= 0 To Strings.Count - 1 Do
- Writeln(Prn, Strings.Strings[I]);
- Finally
- CloseFile(Prn);
- End;
- Except
- On EInOutError Do
- End;
-
-
 |
Вопрос задал: Ермаханов Айбек (статус: Посетитель)
Вопрос отправлен: 15 августа 2011, 17:04
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: corban
Здравствуйте, Ермаханов Айбек!
Вот рабочий кусок кода вывода на печать, не забудь подключить в uses модуль Printers.
Приложение: Переключить в обычный режим- procedure TfMain.btnPrintClick(Sender: TObject);
- var
- PixelsX, PixelsY:integer;
-
- i,PoleX,PoleY,iCounter: Integer;
- PrnText:string;
- TextLst:TStringList;
-
- procedure GetPrinterInfo;
- begin
-
-
- end;
-
- function PrinterCoordX(x: integer): integer;
- begin
-
-
- end;
-
- function PrinterCoordY(y: integer): integer;
- begin
-
-
- end;
-
- begin
-
- TextLst:=TStringList.Create;
-
- if PrintDialog1.Execute then
- begin
- with PrintDialog1 do
- begin
-
- end;
- with Printer do
- begin
-
-
-
- BeginDoc;
- GetPrinterInfo;
-
-
-
-
- for i:=0 to TextLst.Count-1 do
- begin
- if (Canvas.PenPos.y+Canvas.TextHeight(TextLst.Strings[i])) >=
- (PageHeight-PoleY)
- then
- begin
- iCounter:=i;
- NewPage;
- end;
- Canvas.TextOut(PoleX,PoleY+((i-iCounter) *
- Canvas.TextHeight(TextLst.Strings[i])),
- TextLst.Strings[i]);
- end;
- EndDoc;
- end;
- end;
- TextLst.Free;
- end;
 |
Ответ отправил: corban (статус: 2-ой класс)
Время отправки: 16 августа 2011, 04:32
Оценка за ответ: 5
Комментарий к оценке: Спасибо!
|
Ответ #2. Отвечает эксперт: min@y™
Есть замечательный компонент для предварительного просмотра и печати. Я им несколько лет пользуюсь и очень доволен. Возьми его и не мучайся.
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 16 августа 2011, 08:19
Оценка за ответ: 5
Комментарий к оценке: спасибо!
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|