
14.11.2008, 08:39
|
|
Участник форума
Регистрация: 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..
|
|
|