Тема: Лаб.Раб
Показать сообщение отдельно
  #1  
Старый 01.11.2008, 14:22
MCSnake MCSnake вне форума
Прохожий
 
Регистрация: 01.11.2008
Сообщения: 2
Репутация: 10
Восклицание Лаб.Раб

люди помогите сделать лабу, если тема подобная уже была то сорри
вот условие:

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 (не более двух страниц !), предусмотрите возможность печати нескольких копий.

если кто то может сделать плиз киньте ссылку на архив вместе с исходниками в личку или в асю напишите ПЛЗЗЗ
Ответить с цитированием