Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторна 1.doc
Скачиваний:
0
Добавлен:
30.08.2019
Размер:
885.76 Кб
Скачать

Interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Label2: TLabel;

Editl: TEdit; // поле введення ваги у фунтах

Button1: TButton; // кнопка Обчислити

Label1: TLabel;

Label2: TLabel;

ListBox1: TListBox; // список країн

Label4: TLabel; // поле виводу результата - ваги в кілограмах

procedure FqrmCreate(Sender: TObject);

procedure ButtonlClick(Sender: TObject); private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForml;

Implementation

{$R *.DFM}

procedure TForml.FormCreate(Sender: TObject);

begin

{

ListBox1.items.add('Росія');

ListBox1.items.add('Австрія');

ListBox1.iterns.add('Англія');

ListBox1.items.add('Німеччина');

ListBox1.iterns.add ('Данія');

ListBoxl.iterns.add('Ісландія');

ListBox1.iterns.add ('Італія');

ListBox1.items.add ('Нідерланди'); }

ListBox1.itemindex:=0;

end;

procedure TForm1.ButtonlClick(Sender: TObject);

var

funt:real; // вага у фунтах

kg:real; // вага в кілограмах

k:real; // коефіцієнт перерахування

begin

case ListBox1.Itemindex of

0: k:=0.4095; // Росія

1: k:=0.453592; // Англія

2:k:=0.56001; // Австрія

3..5,7:k:=0.5; // Німеччина, Данія, Ісландія, Нідерланди

6: k:=0.31762; // Італія

end;

funt:=StrToFloat(Editl.Text);

kg:=k*funt;

label4.caption:=Editl.Text

+ ' ф. - це '

+ FloatToStr(kg) + 'кг.';

end;

end.

Варто звернути увагу на процедуру обробки події FormCreate, що відбувається в момент створення форми (форма створюється автоматично при запуску програми). Цю процедуру можна використати для ініціалізації змінних програми, у тому числі й для додавання елементів у список. У наведеному тексті програми інструкції створення списку закомментовані, тому що список був створений за допомогою редактора рядків під час створення форми.

Завдання. Розробити програму, яка конвертує гривні в долари і навпаки, по заданому курсу валют.

П орядок виконання роботи.

Крок 1: створення нової програми

  1. Виберіть в головному меню пункт File | NewApplication. Якщо з’явиться запит на зберігання поточного файлу, відповідь No.

  2. Зараз активна форма: перейдіть в Object Inspector (Інспектор об’єктів) , поміняйте значення властивості Name на MainForm.

  3. Поміняйте значення властивості Caption на Обмін валюти.

Крок 2: поміщення компонентів

  1. Клацніть на закладці Standard палітрі компонентів і виберіть компонент TButton. Помістіть таких дві кнопки.

  2. Поміняйте значення властивостей кнопок Caption на: Рахувати і Вихід.

  3. На цій же закладці виберіть і помістіть два компоненти TEdit.

  4. Виберіть і помістіть три компоненти TLabel, змініть значення властивості Caption одного з них на Курс. Також помістіть два компонента TRadioButton, змініть значення властивості Caption на USD та Гривні відповідно.

Крок 3: написання коду програми

  1. Клацніть на кнопці Рахувати, перейдіть в Object Inspector (Інспектор об’єктів) на закладку Events (Події), і клацніть на події OnClick двічі, і присвойте текст:

var k1,k2,suma:real;

cod:integer; st:string;

begin

val(Edit1.Text,k1,cod);

val(Edit2.Text,k2,cod);

if RadioButton1.Checked=true then

suma:=k1*k2;

Str(suma:9:1,st);

Label2.Caption:=st+' USD';

if RadioButton2.Checked=true then

suma:=k2/k1;

Str(suma:9:2,st);

Label2.Caption:=st+' ГРН.';

end;

Ці дії будуть конвертувати валюту в залежності від того, який напрямок вибраний за допомогою компонентів RadioButton1 і RadioButton2.

  1. Виберіть кнопку Вихід, і присвойте події OnClick такий текст: Close; ця кнопка буде закривати програму.

  2. Виберіть компонент TRadioButton1 і присвойте події OnClick цей текст: Label1.Caption:='=>';

  3. Відповідно події OnClick компоненту TRadioButton2 стрічку: Label1.Caption:='<=';

Варіанти завдань

  1. Зробити, щоб сума при конвертуванні виводилась на компоненті TEdit.

  2. Замість кнопки Рахувати зробити пункт меню.

  3. Замість стрілки, щоб виводився текст З ГРН в USD і навпаки.

  4. Зробити, щоб замість компоненту TEdit сума виводилась на компоненті TLabel.

  5. [Див. п. 4] зробити так, щоб результат можна було зберігати у файлі.

  6. Зробити так, щоб при конвертуванні програма вираховувала збір у Пенсійний фонд.

  7. [Див. п. 5] зробити, щоб програма показувала суму збору.

  8. Зробити, щоб при виході з програми, відкривалось вікно підтвердження виходу.

  9. Зробити, щоб вибір напрямку конвертування відбувався за допомогою випадаючого списку.

  10. Зробити вікно Про програму. Та кнопку, яка б його викликала.

Завдання Розробити програму, текстового редактора з записом та відкриванням файлів. Зміни шрифту тексту та кольору фону. З можливістю включення скролінгів прокрутки.

П орядок виконання роботи.

Крок 1: створення нової програми

  1. Виберіть в головному меню пункт File | NewApplication. Якщо з’явиться запит на зберігання поточного файлу, відповідь No.

  2. Зараз активна форма: перейдіть в Object Inspector (Інспектор об’єктів) , поміняйте значення властивості Name на MainForm.

  3. Поміняйте значення властивості Caption на NewPad 1.0.

Крок 2: поміщення компонентів

  1. Клацніть на закладці Standard палітрі компонентів і виберіть компонент TButton. Помістіть таких сім кнопок.

  2. Поміняйте значення властивостей кнопок Caption на: Завантажити, Зберегти, Очистка, Шрифт, Колір, Про програму, Закрити.

  3. На цій же закладці виберіть і помістіть компонент Memo.

  4. Виберіть і помістіть компонент TCheckBox, змініть значення властивості Caption на Скролінги. Також помістіть два компонента TRadioButton, змініть значення властивості Caption на Горизонтальна та Вертикальна прокрутка.

  5. Клацніть на закладці Dialogs палітрі компонентів і помістіть компоненти TOpenDialog TSaveDialog, TFontDialog, TColorDialog, на форму.

Крок 3: написання коду програми

  1. Клацніть на кнопці Завантажити, перейдіть в Object Inspector (Інспектор об’єктів) на закладку Events (Події), і клацніть на події OnClick двічі, і присвойте текст:

if OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

Ця дія дубе відкривати текстовий файл з поміщу компонента OpenDialog1 в компонент Memo.

  1. Виберіть кнопку Зберегти, і присвойте події OnClick, зберігання файлу використовуючи компонент SaveDialog1.

  2. Виберіть кнопку Очистка, вона буде очищати компонент Memo1 від тексту. Присвойте цей текст:

Memo1.Lines.Clear;

  1. Клацніть двічі на кнопці Шрифт, це та сама дія як і OnClick в закладці Events , ця кнопка буде міняти шрифт тексту який знаходиться в Memo1. Присвойте текст:

if FontDialog1.Execute then Memo1.Font:=FontDialog1.Font;

  1. Кнопці Колір, напишіть код для зміни кольору фону використовуючи компонент ColorDialog1.

  2. Компоненту CheckBox1, буде добавляти в Memo1 скролінги, присвойте наступний код:

if CheckBox1.Checked=True then Memo1.ScrollBars:=ssBoth else Memo1.ScrollBars:=ssNone;

  1. Кнопці Про програму присвоїти значення:

ShowMessage(‘Розробив: Сергій & Андрій’);

  1. Кнопці Закрити присвоїти значення:

Close;

  1. Для компонентів TRadioButton напишіть код так щоб перший включав вертикальну прокрутку а другий горизонтальну.

Варіанти завдань

  1. Зробити замість кнопок меню, з такими ж пунктами.

  2. Зробити, знизу стрічку, яка відображала б назву поточного файлу.

  3. Зробити, щоб вид прокрутки вибирався у випадаючому списку.

  4. Зробити, щоб при виході з програми, з'являвся запит на підтвердження.

  5. Зробити, щоб при вході в програму, завантажувався останній файл, з яким працювали.

  6. Зробити, щоб при клацанні на кнопці Clear видавався запит на підтвердження дії.

  7. Зробити, щоб при запуску програми виводилось вікно з інформацією про програму.

  8. Зробити знизу стрічку стану, яка показувала б назву шрифту, та координати курсора.

  9. Зробити дві кнопки Save і Save as....

  10. Зробити, щоб прокрутка вибиралась в меню.

Задание

Создать заданный проект. Изучить свойства и методы используемых компонентов.

  1. Написать простейший текстовый редактор. Для этого поместить на форму компоненты TMainMenu и Tmemo. С помощью первого создать меню, в которое включить пункты Load, Save, Exit (для этого дважды щелкните на компоненте TMainMenu и в открывшемся окне заполните его. Каждый пункт меню имеет свойство Caption - текст, отображаемый в меню, и событие OnClick, возникающее всякий раз когда вы будете щелкать мышкой на этом пункте. В обработчик этого события помещается код, который вы хотите выполнить при выборе этого пункта меню. Например, если вы хотите закрыть форму, этот код будет выглядеть так: Form1.Close;. Для отображения и редактирования текста используется Tmemo. Этот объект имеет свойство Lines (редактируемый текст). Lines - это тоже объект. Он имеет методы SaveToFile и LoadFromFile (см. файл помощи) для сохранения и загрузки текста в файле. Вызов методов осуществляется примерно так: Memo1.Lines.SaveToFile(...).

  1. Создать проект, с помощью которого можно просматривать графические файлы (*.bmp). Поместить на форму компоненты TMainMenu (см. выше) и Timage. У Timage есть свойство Picture (отображаемый рисунок), у которого всвою очередь есть метод LoadFromFile. С помощью этого метода можно загрузить картинку в Timage.

  1. Усовершенствовать проект из 1-й задачи. Добавить возможность выбора файла из стандартного диалога Windows. Для этого со странички Dialogs поместите на форму компоненты TSaveDialog и TOpenDialog. Теперь вместо прямого вызова метода LoadFromFile (SaveToFile), нужно использовать следующий код:

if OpenDialog1.Execute

then Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

4. Усовершенствовать проект из 2-й задачи. Добавить возможность выбора файла из стандартных диалогов Windows. (см. выше).

  1. Создать проект, который реализовывал бы следующее. Поместить на форму компонент Ttimer (страница System), два компонента Tedit, и два компонента TLabel.. С помощью этих компонентов организовать показ пользователю системной даты и системного времени (один Tedit и TLabel - для показа даты, другой - для показа времени). Системная дата определяется с помощью функции Date, системное время - функции Time. Обе функции возвращают результат типа TDateTime. Компонент Ttimer имеет событие OnTimer, обработчик которого вызывается через интервалы времени, определенные свойством таймера Interval (в мс). Например, чтобы отобразить системное время, в обработчик события OnTimer таймера надо вставить такой код: Edit1.Text:=DateToStr(Time). Функция DateToStr преобразует переменную типа TDateTime к строковому виду.

  2. Создать проект, который сортирует предложения в текстовом файле. Для этого поместите на форму компонент TListBox, две метки (TLabel) и две строки редактирования (TEdit) и две кнопки. В первой строке редактирования будет вводиться имя входного текстового файла, во второй - выходного. Компонент TListBox будет отображать слова, находящиеся в файле. По нажатию на кнопку эти слова загружаются в список, сортируются и сохраняются в выходном файле. Для сортировки установите свойство Sorted списка в True. Свойство Items характеризует содержимое списка. Чтобы загрузить слова в список используйте такой код: ListBox1.Items.LoadFromFile(Edit1.Text), чтобы сохранить отсортированный список используйте метод SaveToFile.

  3. Усовершенствуйте предыдущий проект. Добавьте контроль на невозможность ввода пустого имени файла. Самый простой способ - это гасить кнопку, чтобы пользователь не мог ее нажать, если не определены оба файла: Button1.Enabled:=(Edit1.Text<>’’).

  4. Создать проект. Поместить на форму TMemo и две кнопки (Load и Save) для загрузки и сохранения файла соответственно (см. задачу №1). Поместить также компонент TCheckBox. Сделать так, чтобы при отмеченном чекбоксе, невозможно было редактировать текст в мемо. Обратите внимание на свойства Checked чекбокса и ReadOnly мемо, а также на обработчик OnClick чекбокса.

  5. Модернизировать задачу №8 следующим образом: заменить чекбокс компонентом TComboBox (комбинированный список). Он представляет собой строку редактирования, значение которой можно выбирать из списка. В список добавить две строки: «Read/Write» и «Read-Only». Содержимое списка задается свойством Items. Во время разработки заполнить комбобокс с помощью данного свойства. Установить свойство Style в csDropDownList. Для контроля режима просмотра текста в мемо использовать событие OnChange:

if ComboBox1.ItemIndex=0

then ...

else ...

Свойство ItemIndex указывает порядковый номер выбранной строки в

списке.

  1. Модернизировать задачу №8. Добавить возможность выбора шрифта для мемо с помощью компонента TFontDialog. Добавить кнопку Set Font..., по нажатию на которую выполнить такой код:

if FontDialog1.Execute then Memo1.Font:=FontDialog1.Font;

  1. Модернизировать задачу №8. Добавить возможность выбора цвета для мемо с помощью компонента TColorDialog. См. предыдущую задачу.

  2. Модернизировать задачу №8. Заменить кнопки pop-up меню (TPopupMenu). Заполняется аналогично TMainMenu. Определить обработчики пунктов меню. Чтобы меню всплывало при нажатии на правую кпопку мыши над мемо, надо установить свойство PopupMenu последнего.

10