Показать сообщение отдельно

  #749  
Старый 14.11.2008, 08:39
MCSnake
Участник форума
Регистрация: 11.06.2008
Сообщений: 142
Провел на форуме:
540493

Репутация: 38
По умолчанию

народ помогите лабу доделать, сделал почти все но не могу вывести печать на принтере(пункт 4)
Цитата:
1. Разместите на форме следующие компоненты:
 TToolBar (компонент VCL с закладки Win32. Он объединяет расположенные на нем кнопки и другие элементы управления и централизованно управляет ими);
 на TToolBar выведите 4 кнопки TSpeedButton для диалогов открытия файла, выбора шрифтов, печати и выхода из приложения;
 компоненты диалогов открытия файла, выбора шрифтов и печати;
 два компонента TMemo;
2. Напишите код для кнопки TSpeedButton1:
 свяжите файловую переменную с выбранным файлом;
 откройте файл для чтения с установкой размера считываемого блока в 1 байт;
 в цикле While, который выполняется, пока не будет достигнут конец файла
a) получите положение файлового указателя:
Pointer:=FilePos(F); // var Pointer: Longint;
b) считайте из файла блок размером 1К в буфер:
BlockRead (F, Buf, SizeOf(Buf), BytesRead); // Byf – массив типа Byte р-ром 1К
Здесь используется расширенный синтаксис процедуры BlockRead, при котором в программу возвращается количество реально считанных блоков (переменная BytesRead). Вместо SizeOf(Buf) можно указать 1024 (т.е. 1К).
c) используя дополнительную переменную типа String, выведите в TMemo1 считанный блок;
d) выполните редактирование считанного блока, например, замените символ пробела на запятую:
for i:=1 to BytesRead do if Buf[i]=32 then Buf[i]:=44;
e) выведите отредактированный текст в TMemo2;
f) передвиньте указатель в файле на начало обрабатываемого блока, так как при выполнении процедуры BlockRead он переместился на конец блока;
g) запишите отредактированный блок из буфера на диск:
BlockWrite (F, Buf, BytesRead);
Указатель при этом передвинется на конец блока.
3. Напишите код для диалога выбора шрифтов, позволяющий устанавливать шрифты в обоих TMemo.
4. Организуйте печать текста из окна TMemo2 (не более двух страниц !), предусмотрите возможность печати нескольких копий.
+++++ обещаю, хз правда с этой репой мона нет, если че друга попрошу))

Последний раз редактировалось MCSnake; 14.11.2008 в 08:43..
 
Ответить с цитированием