9. Додати нову сторінку в палітру з назвою "37 " {в діалоговому вікні Palette Properties натиснути на Add і вводимо нове ім 'я сторінки GR37 }.
10.Видалення сторінки {в діалоговому вікні Palette Properties натиснути на сторінці GR37_(mo6mo вибираємо її) та на кнопку Delete}.
11.Доповнити в Знавець Коду (Code Insight) шаблон для оператору цикла з
параметром - 1:
For |: = downto do // Ctrl+J - виклик знавця коду
{Tools→Edition Option→Code Insight→Code Templates→ натиснути Add у вікні для виводу нового шаблону shotcut+name в його короткий опис Description набираємо текст
шаблону, встановлюємо " │ " перед " : =" → зберігаємо та виходимо }.
12.Видалити шаблон із Знавця Коду { Tools→Editer Option→Code Insight→ знайти шаблон і.Del}.
13.Змінити затримку автоматичного спрацьовування Code Insight на максимум (Delay) {Tools→Edition Option→Code Insight→Delay→ повзунок на max = 1.5 sec→ Ok}.
Контрольні питання:
1. Налагодження палітри компонентів.
2. Налагодження панелі інструментів.
3. Налагодження меню Tools.
4. Корегування знавця коду.
Тема: Введення й обробка елементів масиву
І Визначити конкретне значення елементів масиву ми можемо з використанням компонентів сторінки Standard Edit ( вікно редагування), при цьому на вихідній формі необхідно передбачити таку кількість віконець Edit, скільки елементів має масив.
Edit .Text - інформація символьного типу, для обробки числових значень необхідне перетворення типів:
· StrToFloat, StrToInt – перетворення символьного в числове;
· FloatToStr, IntToStr – зворотне перетворення для висновку результату.
При такому заданні масиву необхідно заздалегідь визначати і чітко фіксувати кількість елементів ( розмірність масиву).
ІІ При великій розмірності масиву незручно використовувати величезну кількість вікон редагування. Масив можна вводити по рядкам в таблицю елементів, де кожне число знаходитися в окремому клітинці. При цьому елементи розділяються пробілом. Компонент StringGrid знаходитися на сторінці Add itional .
Властивості компонента String Grid:
1. Name – ім'я, що використовується в програмі для звернення до об'єкта;
2. ColCount – кількість стовпчиків (стовпців);
3. RowCount – кількість рядків;
4. Cells – ім'я масиву ,відповідного таблиці.
5. FixedCols – кількість фіксованих зліва стовпчиків;
6. FixedRows – кількість фіксованих зверху рядків;
7. Options.goEditing – можливість редагування вмісту клітинок таблиці;
8. Options.goTab – можливість переходу до наступного елементу клавішею “Tab”;
9. DefaultColWidth – визначає ширину стовпчиків таблиці;
10. DefaultRowWidth – висота рядків таблиці.
11. OptionsGoAlwaysShowEditor – при значенні False, після набору тексту необхідно натиснути F2, чи клацнути миша при значенні True – редагування виконується автоматично.
ІІІ. Використання компонента Мемо дозволяє вводити в масив елементи символьного типу у вигляді рядків тексту.
Властивості Memo:
Name -- ім'я компонента, що використовується в тексті програми;
Lines – номер рядка, номерація починається з нуля (номер задається в «[ ]»);
Text – символьна інформація, що визначає значення елементів масиву.
IV. Введення даних у масив з використанням списку List Box (Standard).
Властивості ListBox :
Items – елементи списку;
ItemIndex – номер обраного елемента списку ( на початку роботи «0»).
Список може бути сформований під час створення форми додатка, чи динамічно під час роботи програми.
У вікні Object Inspector вибрати властивості Items і клацнути на кнопці....., відкривається діалогове вікно редактора списку рядків ( StringList Editor). Кожен елемент набирати з нового рядка і завершувати «Enter». Після введення всіх елементів списку натиснути «ОК».
Процедура обробки події OnKeyPress
( перевірка коректності введення цілих чисел)
Procedure Tform1.StringGridKeyPress (Sender:Tobject; Var Key : char );
Begin
Case Key of
#8,’0’..’9’ : ; // Цифри і клавіша <Back Space>
#13; // Клавіша <Enter>
If StringGrid1. Col < StringGrid1.ColCount – 1
Then StringGrid . co l : = StringGrid1.col + 1
Else key : = Chr(0); // iнші символи заборонені
End;
End;
Перевірка коректності введення дійсних чисел
Procedure Tform1.StringGridKeyPress (Sender:Tobject; Var Key : char );
Begin
Case Key of#8,’0’..’9’ : ; // Цифри і клавіша <Back Space>
#13; // Клавіша <Enter>
If StringGrid1. Col < StringGrid1.ColCount – 1
Then StringGrid . co l : = StringGrid1.col + 1;
‘. ‘ , ’,’ : // Роздільник цілої і дробової частин числа
Begin
If Key <> DecimalSeparator then
Key : = DecimalSeparator ; // Замінимо роздільник на припустимий
If Pos ( StringGrid1. cells [ StringGrid . Col , 0] , DecemalSeparator ) <> 0
Then Key : = chr ( 0); // Заборона введення повторного роздільника
End;
‘ – ‘ : // мінус можна ввести тільки першим символом
// тобто коли комірка порожня
If Length ( StringGrid1.Cells [ StringGrid1 . Col , 0 ] ) <> 0
then Key : = Chr ( 0 )
else / / Інші символи заборонені
key : = Chr (0);
end; { end case}
end; { end proc}
Лабораторна робота № 12.
Тема: Обробка двовимірного масиву.
Мета: Освоїти методи обробки масиву.
Постановка задачі: Підрахувати середній бал студентів за підсумками сесії. За запитом виводити середній бал по всій групі.
Хід роботи:
I. Відкрити новий додаток. Дати заголовок Form1.Caption ― 'Підсумки сесії':
Розмістити на формі:
1) Зі сторінки Standard à мітку Label1; властивість Caption ― 'Підсумки сесії по групі 37_';
2) Зі сторінки Additional à таблицю рядків StringGrid1; встановити властивості:
ColCount ― 5 {Кількість стовпців};
RowCount ― 5 {Кількість рядків};
FixedCols ― 0 {Кількість фіксованих стовпців};
FixedRows ― 1 {Кількість фіксованих рядків};
Name ― StringGrid1 ( або SG1 );
Options.goEditing ― True {Редагування клітинок таблиці};
Options.goTab ― True;
3) Зі сторінки Standard à прапорець CheckBox; встановити його властивість Caption ― 'Середній бал по групі';
4) Зі сторінки Standard à кнопку Button1; встановити властивість Caption ― 'Пуск';
5) Зі сторінки Standard для виведення середнього бала по групі à Label2 (чи Panel1); Caption ― ' ' (очистити).
II. Для початкового програмного заповнення заголовка таблиці обробити подію активації форми:
Procedure TForm1.FormActivate(Sender: TObject);
begin
StringGrid1.Cells[0,0]:=' Ф И О';
StringGrid1.Cells[1,0]:=' Програм.';
StringGrid1.Cells[2,0]:=' Мат.Ан.';
StringGrid1.Cells[3,0]:=' Диф.Ур.';
StringGrid1.Cells[4,0]:=' Ср.Бал';
end;
III. Основну обробку і введення елементів масиву (при заповненні таблиці) оформити як процедуру обробки події натискання клавіші "Пуск":
procedure TForm1.Button1Click(Sender: TObject);
var
a:array [1..5,1..10] of integer; {робочий масив}
S, {середній бал студента}
SR:real; {середній бал по групі}
i, {лічильник стовпців}
j:integer; {лічильник рядків}
begin
SR:=0;
For j:=1 to SG1.RowCount-1 do {цикл по рядках}
begin
S:=0;
For і:=1 to 3 do {цикл по стовпцях}
begin
a[i,j]:=StrToInt(SG1.Cells[i,j]);
S:=S+a[i,j];
end; {For і}
S:=S/3; {підрахунок середнього балу студента}
SG1.Cells[4,j] := FloatToStr(s);
SR:=SR+S;
end; {For j}
{аналіз значення прапорця - обчислення середнього бала по групі}
If CheckBox1.State=cbChecked then
begin
SR:=SR/(SG1.RowCount-1);
Label2.Caption:=FloatToStr(SR);
end; {Then}
end; {Proc}
IV. Виконати перевірку коректності введення даних процедурою OnKeyPressed. У випадку помилки вивести повідомлення
"Дані не входять у діапазон [1..5]" і повторити введення.
V. Перевірити, чи введені дані в клітинку, якщо ні ― повідомлення на екран і корегування таблиці.
Заповнити початковий масив випадковими числами ( RANDOM ).
Контрольні питання:
1. Компонент StringGrid, його властивості і події.
2. Компонент CheckBox, його властивості і події.
3. Методи введення й обробки елементів масиву.
4. Перевірка коректності введення даних.
Лабораторна робота №13
Тема: ”Анкета студента”
Мета: Використання зображення (фото, картинки), створення ехе-файла.
Постановка задачі:
Розробити додаток із зображеннями, що перекриваються.
Хід роботи:
I. Конструювання форми:
1. Відкрити новий додаток. Дати заголовок Form1.Caption – ‘Анкета студента’
2. Вибрати піктограму (іконку) для запуску задачі {Icon®
® Load (завантажити)® вибираємо зі списку файлів *.ico ®
переглядаємо ® відкрити ® ОК ® іконка в системному рядку форми змінилася на обрану}
3. За бажанням змінити колір, фон, стиль, розмір форми.
4. Забрати кнопки системного меню форми ( ) {Borderconst ® biSystemMenu; biMinimize; biMaximize установити False }
На формі розмістити:
5. Зі сторінки Standard – мітку Label1; властивість Caption – 'Студент КТРЕ'
6. Зі сторінки Standard – поле Мемо (чи вікно Edit, чи Label) – для введення анкетних даних.
7. Розмістити 2 кнопки Button (з Standard)
Установити:
Caption.Button1 – ‘портретнe фото’
Caption.Button2 – ‘художнє фото’
8. Для коректного виходу з задачі (див.п.4) використовувати кнопку BitBtn зі сторінки палітри компонентів Additional. Установити властивість Kind(сорт) – вид кнопки на bkClose ® на кнопці з'явилася піктограма і напис Close.
9.На кнопці виведемо спливаючу підказку – “натяк”:
{властивість Hint – (це текст підказки, що з'являється при наведенні покажчика миші) – 'вихід із задачі’; властивість ShowHint – (показувати/непоказувати підказку) ® установити True}
10.Розмістити на формі об'єкт Image1 («картинка») зі сторінки Additional.
11.Уставити своє чи фото малюнок: {Image1® Picture ® вікно редактора Picture ® Load ® вибираємо файл із *.jpg; *.bmp; *.ico; *.wmf ® OK ® картинка у вікні}
12.Привести розмір зображення до заданих розмірів об'єкта Image: {властивість Stretch® TRUE}
13.Аналогічно п.п.10-13 вибрати 2-і фото (картинку), наклавши її цілком на першу картинку і сполучивши розміри.
II. Розробка кодів (процедур):
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Visible:=true; {портретне фото візуальне}
Image2.Visible:=false; {художнє фото не візуальне}
button1.Visible:=false; {кнопка1 не візуальна}
button2.Visible:=true; {кнопка2 візуальна}
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Image2.Visible:=true; {портретне фото візуальне}
Image1.Visible:=false; {художнє фото не візуальне}
button2.Visible:=false; {кнопка2 не візуальна}
button1.Visible:=true; {кнопка1 візуальна}
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
close;
end;
III. Зберегти розроблений додаток:
{гол. меню ® File ® Save all (зберегти усі) чи Shift+Ctrl+S}
чи для іншої папки:
{гол.меню ® File ® Save as…(SaveUnitas…)®шлях ®ім'я Anketa.pas.
гол.меню ® Save Project as…®шлях® ім'я Foto.dpr}
У в а г а!!!
Файли проекту і тексту програми повинні мати різні імена.
IV. Створити ехе-файл проекту:
1. {гол.меню ® Project® Build all (сконструювати все)}
2. Закрити Delphi:
Запустити задачу як ехе-файл через піктограму
КОНТРОЛЬНІ ПИТАННЯ :
1. Властивості компонента Image.
2. Властивості і події компонента BitBtn.
3. Створення ехе-файла.
4. Вибір піктограми задачі
5. Спливаюча підказка.
Лабораторна робота № 14
Тема : Створення довідкової системи додатка
Мета : Навчитися створювати довідкову систему проекту
Складається з двох етапів:
Створення файлу документаКомпіляції файлу довідки.
I Етап
Файл документа створюється будь-яким текстовим процесором (напр. Microsoft Word) і зберігається як rtf файл.
1. Набираємо текст розділів довідки.
2. Заголовки розділів оформляємо одним зі стилів «Заголовок».
3. Текст кожного розділу довідки повинен бути на окремій сторінці документа, тобто закінчуватися «розривом сторінки».
4. Позначаємо заголовки розділів виносками. Універсальна виноска для ідентифікатора теми, по якому на цю виноску можуть посилатися інші теми - #. Її потрібно ставити перед кожним розділом довідки; {Вставка → посилання → виноска → інша → # у поле введення → Ok}. У нижній частині вікна редагування розкривається вікно введення тексту виноски, де вводимо ідентифікатор уставленої виноски; {# розділ1 # razd 2}.
5. Перехід до інших розділів довідки по виділеному слову (ключу): ключове слово в загальному тексті rtf файлу підкреслюємо подвійною лінією {Формат → Шрифт → Підкреслення → Подвійне → Ок застосовуємо до виділеного ключового слова}. За ключовим словом у тексті rtf файлу набираємо ідентифікатор посилання, куди необхідний перехід у довідці і «ховаємо» цей набраний ідентифікатор {Формат → Шрифт → Схований → Ок}. При цьому опція «подвійне підкреслення» повинна бити відключена.
6. Зразок фрагменту rtf – файлу:
# sozd Створення довідкової системи {Заголовок1} складається з двох етапів:
I – Створення файлу документів razdel1
II – Компіляція файлу довідки razdel2
# razdel1 Файл документа можна створити засобами процесора MS Word
{ текст розділу }
# razdel2 Компілюємо файл довідки програмою MS Help Workshop
{ текст розділу }
Усі виноски | ▼ |
Закрити |
# sozd
# razdel1
# razdel2
II Компіляція файлу довідки .
1. Запускаємо MS Help Workshop, його шлях:
C:\Program Files\Borland\Delphi\Help\Tools\Hcw.exe2. У головному вікні програми:
File → New → Help Project → відкривається вікно Project File Name → вибираємо папку з проектом і з файлом rtf → у полі Ім'я файлу вводимо ім'я файлу довідкової системи → Зберегти.
3. Відкрилося вікно проекту довідкової системи .
4. Додаємо файл – документ довідкової системи.
Кнопка Files → у вікні Topic File → Add → вікно «Відкриття файлу» → вибираємо потрібний rtf – файл.
5. Задаємо характеристики вікна довідкової системи:
Кнопка Windows → Windows Properties → у поле Create a window named → слово “Main” – основний тип створюваного вікна → Ok → повернення у вікно Windows Properties.
6. Вкладка General → поле Title bar text → вводимо заголовок головного вікна (напр. Довідка).
7. Можна вибрати колір фону заголовка і тексту довідки
{ Вкладка Color → вибір Change → Ok}
8. Призначимо числові значення ідентифікаторам розділів довідки: {у вікні проекту довідкової системи натиснути кнопку Map → сховалося діалогове вікно Map → Add → у поле Topic ID вводимо ідентифікатор посилання → у поле Mapped numeric Value – відповідне значення }.
9. Компілюємо файл довідки:
Меню File → Compile → Compile a Help File установлюємо прапорець для автоматичного показу створеної довідки → Compile.
10. Створено файл довідки ім'я.hlp.
11. Підключаємо розроблений файл довідки в проект Delphi, зв'язуючи довідку з клавішею F1:
Object Inspector Form1 → Help File → ім'я.hlp;
→Help Context → 1.
12. Для виклику довідки натисканням на кнопку – процедура (Button чи пункт меню)
Procedure TForm1.Button1Click(Sender:TObject);
BeginWinhelp (Form1.Handle,’ім'я.hlp’, Help_Context,1);
End;
{властивість Handle вікна доступно лише під час роботи роботи програми}/
13. Розроблений проект Delphi, файл – rtf і файл довідки.hlp повинні знаходиться в одній папці.
Література до курсу алгоритмічних мов та програмування:
Література
1. Архангельский А.Я. Программирование в Delphi 6.-
М.: ЗАО “Изд-80 БИНОМ”,2002г.-1120с.:ил.
2. Бобровский С. Delphi 5:Учебный курс-С-П:Питер, 2001.-640 c.: ил.
3 Глинский Я.Н., Анохин В. Е., Ряжская В. А. Turbo Pascal 7.0 и Delphi.
Учебное пособие .-СПб: ООО “ДиаСофтЮП” 2001.-208 c.
4. Культин Н.Б. Программирование на Obgect PASCAL в Delphi 5.
-СПБ.: БХВ-С.-П.,2000,-464 с.:ил.
5. Фаронов В. В. Delphi5. Учебный курс.-М.:’’Нолидж”, 2001.-608c.,ил.
6. Черняхівський В.В.Delphi-4: сучасна технологія візуального програмування.-
Львів: БаК, 1999. – 196 с.
7. Фаронов В.В. Turbo Pascal 7.0 Научный курс. Учебное пособие,
изд.- 7-е М.: „ Нолидж” , 2001, -576 с., ил.
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ КІСІТКНЕУ імені Вадима Гетьмана Лабораторна робота №12 з предмету: "Алгоритмічні мови та програмування". Тема:” Робота з двовимірним масивом” Фах 5.080.405.027 ПЗ |
Мета: Освоїти методи обробки масиву.
Постановка задачі: Порахувати середній бал студентів за підсумками сесії. По запиту розрахувати і вивести середній бал по всій групі.
Хід роботи:
VI. Відкрити новий додаток. Дати заголовок Form1.Caption ― 'Підсумки сесії':
Розмістити на формі:
6) Зі сторінки Standard à мітку Label1; властивість Caption ― 'Підсумки сесії по групі 37_';
7) Зі сторінки Additional à таблицю рядків StringGrid1; встановити властивості:
ColCount ― 5 {Кількість стовпців};
RowCount ― 5 {Кількість рядків};
FixedCols ― 0 {Кількість фіксованих стовпців};
FixedRows ― 1 {Кількість фіксованих рядків};
Name ― StringGrid1;
Options.goEditing ― True {Редагування осередків таблиці};
Options.goTab ― True;
8) Зі сторінки Standard à прапорець CheckBox; установити його властивість Caption ― 'Середній бал по групі';
9) Зі сторінки Standard à кнопку Button1; установити властивість Caption ― 'Пуск';
10) Зі сторінки Standard для висновку середнього бала по групі à Label2 (чи Panel1); Caption ― ' ' (очистити).
VII. Для початкового програмного заповнення заголовка таблиці обробити подія активації форми:
procedure TForm1.FormActivate(Sender: TObject);
begin
StringGrid1.Cells[0,0] := 'Ф И О';
StringGrid1.Cells[1,0] := 'Програм.';
StringGrid1.Cells[2,0] := 'Мат.Ан.';
StringGrid1.Cells[3,0] := 'Диф.Ур.';
StringGrid1.Cells[4,0] := 'Ср.Бал';
end;
VIII. Основну обробку і введення елементів масиву (при заповненні таблиці) оформляти у виді процедури обробки події натискання клавіші "Пуск":
procedure TForm1.Button1Click(Sender: TObject);
var
a : array [1..5,1..10] of integer; {робочий масив}
S, {середній бал студента}
SR : real; {середній бал по групі}
i, {лічильник стовпців}
j : integer; {лічильник рядків}
begin
SR := 0;
For j := 1 to StringGrid1.RowCount-1 do {цикл по рядках}
begin
S := 0;
For і := 1 to 3 do {цикл по стовпцях}
begin
a[i,j] := StrToInt(StringGrid1.Cells[i,j]);
S := S + a[i,j];
end; {For і}
S := S/3; {ви числение середнього бала студента}
SR := SR+S;
end; {For j}
{аналіз значення прапорця - обчислення середнього бала по групі}
If CheckBox1.State=cbChecked then
begin
SR := SR/(StringGrid1.RowCount-1);
Label2.Caption := FloatToStr(SR);
end; {Then}
end; {Proc}
IV Виконати перевірку коректності введення даних процедурою OnKeyPressed. У випадку помилки вивести повідомлення "Дані не входять у діапазон [1..5]" і повторити введення.
V Перевірити, чи введеноі дані в осередок, якщо немає ― повідомлення на екран і коректування таблиці.
Контрольні питання:
5. Компонент StringGrid, його властивості і події.
6. Компонент CheckBox, його властивості і події.
7. Методи введення й обробки елементів масиву.
8. Перевірка коректності введення даних.
Протокол роботи:
unit lr12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Label1: TLabel;
StringGrid1: TStringGrid;
CheckBox1: TCheckBox;
Button1: TButton;
Label2: TLabel;
Button2: TButton;
procedure FormActivate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure StringGrid1KeyPress(Sender: TObject; var Key: Char
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
StringGrid1.Cells[0,0] := 'ФИО';
StringGrid1.Cells[1,0] := 'Програм.';
StringGrid1.Cells[2,0] := 'Мат.ан.';
StringGrid1.Cells[5,0] := ‘Стипендия';
end;
procedure TForm1.Button2Click(Sender: TObject); {Процедура виходу з програми}
begin
form1.Close;
end;
procedure TForm1.Button1Click(Sender: TObject);{ Процедура обробки Button }
var
S, Sr : real;
i, j : integer;begin
Sr := 0;
for j := 1 to StringGrid1.RowCount do
begin
S := 0;
for i := 1 to 3 do
begin if StringGrid1.cells[i,j]<>''
then S := S+StrToInt(StringGrid1.Cells[i,j])
else StringGrid1.Cells[i,j] := '0';
end; //end i
S := S/3;
StringGrid1.Cells[4,j] := FloatToStrF(s,ffFixed,4,2);
if s=5 then StringGrid1.Cells[5,j] := '40.00'
else if (S<5)and(s>=4) then StringGrid1.Cells[5,j] := '32.50'
else StringGrid1.Cells[5,j] := 'не получает';
sr := Sr+s;
end; //end i
if CheckBox1.State=cbChecked then
begin
Sr := sr/(stringGrid1.RowCount-1);
label2.Caption := 'Средний балл ='+FloatToStrF(Sr,ffFixed,4,2);
end; //end check
end; //end proc
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
#8, '2'..'5':;
else begin
MessageDlg('Оценка по 5-ой смистеме(2..5)',mtError,[mbOk,MbCancel],0);
Key := chr(0);
end;
end;
end;
end. //end program
Форми:
... фізичну (архітектура моделей і процесів) структуру системи. Наступні поняття є в OOD фундаментальними: Інкапсуляція. Інкапсуляція є найважливішою властивістю об'єктів, на якій будується об'єктно-орієнтоване програмування. Інкапсуляція - це об'єднання в одному класі даних і дій над ними. При цьому включені в об'єкт підпрограми (методи) безпосередньо працюють з даними цього об'єкту, звертаються ...
... визначення комплекту доступних кольорів, області для відсікання і інших операцій, маршрут для операцій малювання" В OpenGL є аналогічне посиланню на контекст пристрою поняття посилання на контекст відтворення Графічна система OpenGL, як і будь-який інший додаток Windows (хоча і розміщене в DLL), також потребує посилання на пристрій, на який здійснюватиметься висновок Це спеціальне посилання на ...
... системи; до деяких складних систем неможливо навіть підступитися, якщо не почати з проектування шарів. Висновки В процесі роботи було створено програму - «Облік продуктового магазину». Програма реалізована в середовищі об’єктно-орієнтованого програмування Borland С++ Builder 6.0, на основі мови програмування С++. Було досліджено предметну область - «Продуктовий магазин», що внесло багато ...
... є, чи буде дана смуга мати дочірню смугу. Якщо цій властивості привласнити значення True, то в звіті буде автоматично створена дочірня смуга. При виводі інформації на принтер в середовищі Delphi використовуються ще компоненти PrintDialog та PrintSetupDialog. Компонент PrintSetupDialog призначений для на лаштування параметрів принтера, не має особливих властивостей, тому що ці параметри суттєво ...
0 комментариев