Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
2. Организуйте контроль содержимого строки, вводимой в элемент «однострочный редактор». Если вводимая строка не соответствует заданному формату, то необходимо предусмотреть следующее: в окне сообщений вывести сообщение об ошибке, очистить строку, введенную в «однострочный редактор».
3. Визуальный компонент, в который выводится результат, должен быть доступен только для чтения, чтобы пользователь не мог редактировать его содержимое.
4. Установите удобный для пользователя порядок перемещения фокуса по компонентам с помощью клавиши Tab.
Рекомендации к выполнению
1. Для организации управляющей структуры программ используйте оператор case.
2. Для выполнения заданий используйте логические и побитовые операции.
3. Для преобразования введенных значений из строкового формата в числовой, а результатов – из числового формата в строковый формат используйте библиотечные подпрограммы StrToInt, StrToFloat, IntToStr, FloatToStr модуля Sysutils.
4. Организуйте контроль ввода данных в элемент «однострочный редактор». Для этого используйте блок try…finally и процедуру ShowMessage модуля Dialogs.
5. Чтобы компонент был доступен только для чтения, необходимо в его свойство ReadOnly занести значение True.
6. Чтобы на компонент нельзя было установить фокус ввода с помощью клавиши Tab, нужно занести в его свойство TabStop значение False.
7. Разработанные приложения сохраняйте в отдельной папке.
Варианты заданий
1. Реализуйте Windows-приложение, которое обеспечивает пользователю возможность выбора любой побитовой операции из определенных в языке, ввод значений операндов, вычисление и вывод результата.
2. Реализуйте Windows-приложение, которое обеспечивает пользователю возможность выбора любой логической операции из определенных в языке, ввод значений операндов, вычисление и вывод результата.
Пример 1
Пусть требуется обеспечить пользователю возможность выбора любой арифметической операции на целых значениях из определенных в языке, ввод значений операндов, вычисление и вывод результата. Для решения этой задачи можно построить приложение, состоящее из одной формы следующего вида (рис. 3):


Рис. 3
Ей соответствует модуль, текст которого приведен ниже.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Button1: TButton;
Edit3: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure ComboBox1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
Label3.Caption:= ComboBox1.Items[ComboBox1.ItemIndex];
if Label3.Caption= 'minus' then begin
Label1.Hide;
Edit1.Hide;
Edit2.SetFocus;
end
else begin
Label1.Visible:= True;
Edit1.Visible:= True;
Edit1.SetFocus;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a, b,c: integer;
begin
if ComboBox1.ItemIndex<>5 then a:= StrToInt(Edit1.Text);
b:= StrToInt(Edit2.Text);
case ComboBox1.ItemIndex of //вычисляется индекс выбранного значения комбинированного списка
0: c:= a + b;
1: c:= a – b;
2: c:= a * b;
3: c:= a mod b;
4: c:= a div b;
5: c:= –b;
end;
Edit3.Text:= IntToStr(c);
if ComboBox1.ItemIndex<>5 then Edit1.SetFocus else Edit2.SetFocus;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
ComboBox1.ItemIndex:= 0;
ComboBox1.Text:=ComboBox1.Items[ComboBox1.ItemIndex];
Label3.Caption:=ComboBox1.Items[ComboBox1.ItemIndex];
end;
procedure TForm1.Edit1Exit(Sender: TObject);
var a:integer;
begin
try
a:= StrToInt(Edit1.Text);
except
on EConvertError do
begin
ShowMessage('Ошибка ввода');Edit1.SetFocus;
end
end;
end;
procedure TForm1.Edit2Exit(Sender: TObject);
var a:integer;
begin
try
a:= StrToInt(Edit2.Text);
except
on EConvertError do
begin
ShowMessage('Ошибка ввода');Edit2.SetFocus;
end
end;
end;
end.
Пример 2
Пусть требуется обеспечить пользователю возможность выполнения логической операции and, ввод значений операндов, вычисление и вывод результата. Для решения этой задачи можно построить приложение, состоящее из одной формы следующего вида (рис. 4):

Рис. 4
Ей соответствует модуль, текст которого приведен ниже.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
ListBox1: TListBox;
ListBox2: TListBox;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var a, b,c: Boolean;
begin
if ListBox1.Items[ListBox1.ItemIndex]= 'True'//анализируется содержимое выделенной строки
then a:= True else a:= False;
if ListBox2.Items[ListBox2.ItemIndex]='True'' //анализируется содержимое выделенной строки
then b:= True else b:= False;
c:= a and b;
if c then Edit1.Text:= 'True' //заносится результат
else Edit1.Text:= 'False';
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
ListBox1.ItemIndex:= 0; //выделяем строку с индексом 0
ListBox2.ItemIndex:= 0; //выделяем строку с индексом 0
end;
end.
Содержание отчета
1. Задание.
2. Текст программы на Object Pascal 2.0.
3. Тестовые наборы данных для тестирования приложения.
Контрольные вопросы
1. Назовите синтаксические правила, в соответствии с которыми записывается оператор case.
2. Укажите порядок, в котором выполняется оператор case.
3. Как поместить в Case - часть несколько операторов?
4. Что можно размещать между зарезервированными словами Case и of?
5. Что можно размещать после зарезервированного слова Else?
6. Что допустимо использовать в качестве меток варианта в операторе Case?
7. Перечислите допустимые варианты записи меток варианта.
8. Нарисуйте управляющую структуру, соответствующую оператору case, и укажите порядок выполнения узлов.
9. Для чего предназначены функции StrToInt и IntToStr?
10. Перечислите, какие типы относятся к целочисленным типам, охарактеризуйте множества их значений, покажите, как записываются значения этих типов в тексте программы.
11. Перечислите операции, определенные на значениях целочисленных типов, и поясните правила их выполнения.
12. Перечислите стандартные процедуры и функции, определенные на значениях целочисленных типов, и поясните правила их выполнения.
13. Когда вызывается событийная процедура OnKeyPress и как создать шаблон ее кода для компонента «редактор» (тип TEdit) в интегрированной среде разработки?
14. Как сослаться на значение индекса выбранной строки визуального компонента «комбинированный список» (тип TComboBox) в тексте программы?
15. Как сослаться на выбранную строку визуального компонента «комбинированный список» (тип TComboBox) в тексте программы?
16. Когда вызывается событийная процедура OnKeyPress и как создать шаблон ее кода для компонента «редактор» (тип TEdit) в интегрированной среде разработки?
17. Когда вызывается событийная процедура OnChange и как создать шаблон ее кода для компонента «комбинированный список» (тип TComboBox) в интегрированной среде разработки?
Лабораторная работа №4
Тема: Управляющие структуры языка Delphi. Циклы.
Цель: Сформировать практические навыки: реализация циклических процессов обработки данных с помощью операторов While, Repeat Object Pascal; построение однооконных интерфейсов с помощью визуального компонента «окно» (класс TForm) и визуальных компонентов панели инструментов Standard: «метка» (класс TLabel), «редактор» (класс TEdit), «кнопка» (класс TButton), «многострочный редактор текста» (TMemo).
Задание
1. В соответствии с вариантами задания и приведенной ниже спецификацией реализуйте приложение под Windows.
2. Разработайте тестовые задания и оттестируйте программу одним из методов тестирования.
Спецификация приложения
1. В соответствии с приведенными вариантами заданий реализуйте приложение под Windows, используя для организации пользовательского интерфейса следующие элементы управления: «форма» (класс Tform), «кнопка» (класс TButton), «метка» (класс TLabel), «однострочный редактор» (класс TEdit), «многострочный редактор» (класс TMemo). Ввод данных и вывод результатов осуществляйте в элементы управления «однострочный редактор». Подписи к редакторам сделайте с помощью элементов «метка». Документирование работы с приложением выполните с помощью элемента управления «многострочный редактор». Вычисление результата свяжите с нажатием на элементе управления «кнопка» левой клавиши мыши.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |


