Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 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