Информатика и программирование

Расчётно-графическая работа

Оглавление

Цель....................................................................................................................................................................... 2

Задание................................................................................................................................................................. 2

Спецификация программы......................................................................................................................... 2

Варианты заданий........................................................................................................................................ 4

Порядок выполнения........................................................................................................................................ 8

Содержание отчета........................................................................................................................................... 8

Рекомендации к выполнению......................................................................................................................... 9

Основная литература..................................................................................................................................... 24


Цель

Сформировать практические навыки разработки приложений под Windows:

·  проектирования программ методами структурного и процедурного программирования;

·  реализации программного проекта средствами языка программирования Object Pascal в среде визуального программирования Delphi;

НЕ нашли? Не то? Что вы ищете?

·  тестирования программ.

Задание

Спроектируйте и реализуйте приложение под Windows, осуществляющее преобразование числа из одного формата «входного» в другой формат «выходной» в соответствии с приведённой ниже спецификацией. Входной и выходной форматы определены в варианте задания.

Спецификация программы

1.  Программа работает в режиме диалога с пользователем. Вид форм приложений для вариантов с 1 по 14 представлен на Рисунок 1, для вариантов с 15 по 28 - на Рисунок 2, для варианта 29* на Рисунок 3, для варианта 30* на Рисунок 4.

2.  Необходимо обеспечить возможность выхода из приложения и получения справки через главное меню главной формы приложения. Справку необходимо отображать в отдельном окне.

3.  Ввод исходного числа, представленного во «входном» формате, производится только с помощью командных кнопок, расположенных на форме приложения. Для редактирования вводимого числа предназначены клавиши BackSpace (удалить крайний правый символ), Clear (очистить содержимое редактируемой строки).

4.  Программа должна осуществлять контроль вводимого числа на соответствие заданному в варианте «входному» формату. При попытке ввода символа несоответствующего заданному формату вводимый символ должен игнорироваться.

5.  Вычисление и вывод результата - числа, представленного в «выходном» формате, выполняется в компонент «статический текст» по нажатию клавиши с изображением символа «=».

6.  Предусмотрите автоматическое удаление исходного числа и результата преобразования, когда начинается ввод следующего исходного числа.

7.  В качестве «входного» и «выходного» форматов взяты десятичное и р-ичное представления действительного числа.

8.  В вариантах 29*, 30* пункт Правка главного меню главной формы обеспечивает возможность:

·  копировать число во «входном формате» из буфера обмена в приложение (команда Вставить);

·  копировать число во «входном формате» в буфер обмена из приложения (команда Копировать);

·  копировать число во «входном формате» в буфер обмена и удалить его из соответствующего поля приложения (команда Вырезать).

9.  В варианте 29* повышенной сложности необходимо обеспечить автоматическое (без нажатия на кнопку «=») преобразование введённого десятичного числа в выбранную систему счисления при изменении системы счисления.

10.  В варианте 30* повышенной сложности при изменении системы счисления необходимо обеспечить:

·  автоматическое удаление ранее введённого р-ичного числа;

·  сделать недоступными (Enabled = False) кнопки с изображением цифр, отсутствующих в выбранной системе счисления.

Рисунок 1. Главная форма приложения и окно справки для вариантов с 1 по 14.

Рисунок 2. Главная форма приложения и окно справки для вариантов с 15 по 28

Рисунок 3. Главная форма приложения, окно справки, меню Правка для варианта 29*

Рисунок 4. Главная форма приложения, окно справки, меню Правка для варианта 30*

Варианты заданий

1.  Варианты заданий приведены в таблице 1. Номер вашего варианта задания определяется вашим порядковым номером в списке студентов группового журнала. Вы можете выполнить по вашему выбору вариант (29* или 30*) повышенной сложности вместо своего варианта.


Номер варианта

«входной формат»

«выходной формат»

Основание системы счисления р

1

10

р

2

2

10

р

3

3

10

р

4

4

10

р

5

5

10

р

6

6

10

р

7

7

10

р

8

8

10

р

9

9

10

р

11

10

10

р

12

11

10

р

13

12

10

р

14

13

10

р

15

14

10

р

16

15

р

10

2

16

р

10

3

17

р

10

4

18

р

10

5

19

р

10

6

20

р

10

7

21

р

10

8

22

р

10

9

23

р

10

11

24

р

10

12

25

р

10

13

26

р

10

14

27

р

10

15

28

р

10

16

29*

10

p

2..16

30*

p

10

2..16

Таблица 1. Варианты заданий

Примечание. Здесь р означает, что число представлено в р-ичной системе счисления, а 10 – что число представлено в 10-ичной системе счисления. Варианты 29* и 30* - варианты повышенной сложности. В них пользователь может выбрать основание системы счисления из заданного диапазона от 2 до 16 во время работы приложения.

2.  Для вариантов с 1 по 14 характеристики форматов следующие:

·  «входной» формат - десятичное действительное число,

·  «выходной» формат - р-ичное действительное число, где р - основание системы счисления, определяемое вариантом задания.

Входной формат состоит из четырёх полей и имеет следующий вид:

<знак><целое><разделитель><дробь>

Суммарное количество цифр n (n = i + f, здесь i - количество цифр в целой части, f - количество цифр в дробной части) в полях <целое> и <дробь> должно лежать в диапазоне 1 <= n <= N, где N = 12.

Поле <знак> является необязательным, оно может содержать символ «-» или быть пустым (знак плюс не вводится).

Поле <целое> является обязательным, оно должно содержать десятичное целое без знака, количество десятичных цифр в котором должно быть 1 =< i <= N (незначащие нули слева не вводятся, исключая случай, когда ноль в поле единственный).

Поле <разделитель> является необязательным, оно содержит символ «,», отделяющий целую часть числа от его дробной части.

Поле <дробь> является необязательным, оно может содержать десятичные цифры дробной части числа. Количество десятичных цифр в нём должно принадлежать диапазону 0 =< f <= N - 1.

Пример 1. Правильное представление десятичных чисел во «входном» формате для вариантов с 1 по 14.

0

0,

-2

2

-278945612325

278945612325

-0,01234567891

0,01234567891

123456,012345

12345678910,1

5,34

-0,2

Пример 2. Неправильное представление десятичных чисел во «входном» формате для вариантов с 1 по 14.

-0 знак перед числом 0

, отсутствует <целое> и <дробь>;

-, отсутствует <целое> и <дробь>;

-,123 отсутствует поле <целое>;

1471232123456 недопустимая длина (13 разрядов);

1471232,1234567 недопустимая длина (14 разрядов);

-0,256123456789012 недопустимая длина (16 разрядов).

3.  Для вариантов с 15 по 28 характеристики форматов следующие:

·  «входной» формат - р-ичное действительное число, где р - основание системы счисления, определяемое вариантом,

·  «выходной» формат - десятичное действительное число.

Входной формат состоит из четырёх полей и имеет следующий вид:

<знак><целое><разделитель><дробь>

Суммарное количество цифр n (n = i + f, здесь i - количество цифр в целой части, f - количество цифр в дробной части) в полях <целое> и <дробь> должно лежать в диапазоне 1 <= n <= N, где N = 12.

Поле <знак> является необязательным, оно может содержать символ «-» или быть пустым (знак плюс не вводится).

Поле <целое> является обязательным, оно должно содержать р-ичное целое без знака, количество р-ичных цифр в котором должно быть 1 =< i <= N (незначащие нули слева не вводятся, исключая случай, когда ноль в поле единственный).

Поле <разделитель> является необязательным, оно содержит символ «,», отделяющий целую часть числа от его дробной части.

Поле <дробь> является необязательным, оно может содержать р-ичные цифры дробной части числа. Количество р-ичных цифр в нём должно принадлежать диапазону 0 =< f <= N - 1.

Пример 3. Правильное представление 3-ичных чисел во «входном» формате для вариантов с 15 по 28.

0,

0

-2

2

-210020212021

212021012122

-0,01221221211

0,012345678912

120012,012212

12001212201,1

1,2

-102,2101

Пример 4. Неправильное представление 3-ичных чисел во «входном» формате для вариантов с 15 по 28.

-0 знак перед числом 0

, отсутствует <целое> и <дробь>;

-, отсутствует <целое> и <дробь>;

-,121 отсутствует поле <целое>;

1201212121200 недопустимая длина (13 разрядов);

1221202,1201212 недопустимая длина (14 разрядов);

-0,200121202211012 недопустимая длина (15 разрядов).

Порядок выполнения

1.  Спроектируйте программу и опишите проект с помощью схемы иерархии логических модулей (смотри Рисунок 5, Рисунок 6).

2.  Поведение каждого логического модуля опишите с помощью HIPO-диаграммы.

3.  Для каждого модуля разработайте блок-схему в соответствии с технологией структурного программирования.

4.  Реализуйте проект на языке Object Pascal в следующем порядке:

·  реализуйте модули преобразования формы представления числа;

·  постройте интерфейс приложения в режиме визуального программирования;

·  реализуйте модули ввода и редактирования;

·  подключите модуль Преобразование представления числа к интерфейсу.

Физические модули реализуйте с помощью подпрограмм Object Pascal. Выберите метод тестирования, разработайте тестовые наборы данных и оттестируйте каждую подпрограмму.

5.  Опишите реализацию программы с помощью схемы иерархии физических модулей.

6.  Выберите метод тестирования, разработайте тестовые наборы данных и оттестируйте программу в целом.

Содержание отчета

1.  Вариант задания.

2.  Схема иерархии логических модулей.

3.  HIPO-диаграмма для каждого модуля.

4.  Блок-схема для каждого модуля.

5.  Схема иерархии физических модулей.

6.  Таблицу соответствия логических и физических модулей.

7.  Наборы тестовых данных для тестирования каждого модуля и приложения в целом.

8.  Текст программы на Object Pascal с комментариями.

9.  Литература.

Рекомендации к выполнению

1.  Для вариантов заданий с 1 по 14 схема иерархии логических модулей может выглядеть так, как показано на Рисунок 5. Для вариантов заданий с 15 по 28 - как показано на Рисунок 6.

Рисунок 5. Схема иерархии логических модулей приложения для вариантов с 1 по 14.

Рисунок 6. Схема иерархии логических модулей приложения для вариантов с 15 по 28.

Реализация приложения представлена

2.  Пример 5, Пример 6, Пример 7, Пример 8. Соответствие между логическими и физическими модулями приведено в

Номер

Логический модуль

Физический модуль

1

Ввод/Вывод

function Edit(i: Integer;s: String): String;

1.1

Добавить знак

function Signe(s: String): String;

1.2

Добавить запятую

function Comma(s: String): String;

1.3

Добавить десятичную цифру

function Digits(p: integer;s: String): String;

1.3.1

Разрядов в числе

function LenNum(s: String): Cardinal;

1.3.2

Добавить ‘0’

function AddZero(s: String): String;

1.4

Удалить число

function Clear: String;

1.5

Удалить символ справа

function Backspace(s: String): String;

2

Преобразование представления числа

function DoTransfer(S: String): String;

2.1

Перевод целого в р-ичную строку

function Int10ToP(r: Comp; b:Cardinal):String;

2.1.1

Перевод целого в р-ичный символ

function IntToPChar(d: Integer):String;

2.2

Перевод дроби в р-ичную строку

function Frac10ToP(f: Extended; b:Cardinal):String;

Таблица 2. Соответствие между логическими и физическими модулями для вариантов с 1 по 14.

Номер

Логический модуль

Физический модуль

1

Ввод/Вывод

function Edit(i: Integer;s: String): String;

1.1

Добавить знак

function Signe(s: String): String;

1.2

Добавить запятую

function Comma(s: String): String;

1.3

Добавить р-ичную цифру

function Digits(p: integer;s: String): String;

1.3.1

Разрядов в числе

function LenNum(s: String): Cardinal;

1.3.2

Добавить ‘0’

function AddZero(s: String): String;

1.4

Удалить число

function Clear: String;

1.5

Удалить символ справа

function Backspace(s: String): String;

2

Преобразование представления числа

function DoTransfer(S: String): String;

2.1

Перевод р-ичного целого в число

function StrPToInt(r: String; b:Cardinal):Comp;

2.1.1

р-ичный символ в число

function PCharToInt(d: Char):Cardinal;

2.1.2

Вес единицы разряда р-ичного целого

function StrPToInt(r: String; b:Cardinal):Comp;

2.2

Перевод р-ичной дроби в число

function StrPToFrac(f: String; b:Cardinal): Real;

2.2.1

Вес единицы разряда р-ичной дроби

function StrPToFrac(f: String; b:Cardinal): Real;

Таблица 3. Соответствие между логическими и физическими модулями для вариантов с 15 по 28.

3.  Форма приложения должна быть с неизменяемыми размерами и с кнопками управления размерами. Для этого в свойство BorderStyle формы установите значение bsSingle.

4.  Для отображения вводимого числа и вывода результата используйте компонент «статический текст» (класс TstaticText на вкладке панели компонентов Additional).

Для обработки события OnClick (нажатие кнопки) для кнопок, с изображением цифр, знаков «-», «,» разработайте одну событийную процедуру ButtonClick, которую подключите к событиям OnClick каждой кнопки с помощью Инспектора объектов. Эту событийную процедуру вам необходимо описать самостоятельно, как показано в

5.  Пример 5, Пример 7. Заголовок этой событийной процедуры может иметь вид, как показано в примерах ниже. Из примеров модулей форм исключён код подпрограмм, кроме событийной процедуры ButtonClick, оставлены только заголовки подпрограмм. Для того чтобы можно было различить нажатую кнопку, кнопки необходимо пронумеровать и номер кнопки поместить в свойство Tag c помощью инспектора объектов. Номера кнопок, изображающих цифры сделайте равными изображённым на них цифрам.

6.  Для обеспечения возможности выхода из приложения и предоставления справки вставьте в форму главное меню (класс TmainMemu вкладки Standart панели компонентов). В меню вставьте два ниспадающих меню: Файл и Помощь. В меню Файл вставьте пункт Выход. В меню Помощь вставьте пункт Справка. Справочную информацию по работе с приложением поместите в компонент «многострочный редактор» (класс Tmemo вкладки Standart панели компонентов).

7.  Добавьте подсказки к кнопкам управления (класс Tbutton). Для этого с помощью инспектора объектов поместите необходимое сообщение в свойство Hint компонента. В свойство ShowHint компонента занесите значение True.

8.  Для завершения работы приложения используйте свойство Terminate объекта Application (смотри, Пример 7).

9.  Для отображения и скрытия окна справки используйте свойства Show и Hide объекта формы (смотри, Пример 6, Пример 7, Пример 8).

10.  Для работы с буфером обмена (варианты 29, 30) используйте свойство AsText глобального объекта ClipBoard (класс TClipBoard модуль Clipbrd. pas).

Например:

ClipBoard. AsText:= StaticText1.Caption

Копировать из буфера обмена в компонент StaticText1.

StaticText1.Caption := ClipBoard. AsText;

Копировать в буфер обмена из компонента StaticText1.

Пример 5. Исходный текст модуля главной формы для перевода числа из десятичного представления в 16-ричное (для вариантов с 1 по 14).

unit Unit1;

//Модуль главной формы для перевода числа из 10 системы счисления в р-ичную

interface

uses

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

Mask, StdCtrls, ComCtrls, Menus, unit2, Clipbrd;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

Button10: TButton;

Button11: TButton;

Button12: TButton;

Button13: TButton;

Button14: TButton;

Button15: TButton;

Label2: TLabel;

Label1: TLabel;

StaticText1: TStaticText;//Десятичное представление числа

StaticText2: TStaticText;//р-ичное представление числа

MainMenu1: TMainMenu;

N1: TMenuItem;//меню Файл

N2: TMenuItem;//пункт Выход меню Файл

N3: TMenuItem;//меню Помощь

N4: TMenuItem;//пункт Справка меню Помощь

procedure ButtonClick(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

const

accurancy = 20;//точность представления исходного числа

NumLen = 12;//суммарная длина целой и дробной частей исходного числа

var

Done: Boolean = False;//Имеет значение False при вводе и редактировании True -

//после нажатия клавиши "="

b: Cardinal = 16;//основание системы счисления

{$R *.DFM}

function Edit(i: Integer;s: String): String;

//Модуль Ввод/Вывод.

//Управляет вводом и редактированием

//числа s во «входном» формате. Управляющее значение i.

begin

case i of

0..9: result:= Digits(i, s);

10 : result:= Signe(s);

11 : result:= Comma(s);

12 : result:= Backspace(s);

13 : result:= Clear;

end;

end;

function Signe(s: String): String;

//Модуль Добавить знак.

//Изменяет знак вводимого числа s на противоположный.

function Comma(s: String): String;

//Модуль Добавить запятую.

//Добавляет запятую к вводимому числу s.

function Digits(p: integer;s: String): String;

//Модуль Добавить десятичную цифру.

//Добавляет десятичную цифру к вводимому числу.

function LenNum(s: String): Cardinal;

//Модуль Разрядов в числе.

//Вычисляет и возвращает суммарную длину полей <целое> и //<дробь>.

function AddZero(s: String): String;

//Модуль Добавить ‘0’.

//Добавляет '0' к вводимому числу s и возвращает результат.

function Clear: String;

//Модуль Удалить число.

//Очищает поле ввода, в котором хранится вводимое число.

function Backspace(s: String): String;

//Модуль Удалить символ справа.

//Удаляет символ справа во вводимом числе s.

function DoTransfer(S: String): String;

//Модуль Преобразование представления числа.

//Управляет переводом числа, вычисляет и возвращает результат.

function Int10ToP(r: Comp; b:Cardinal):String;

//Модуль Перевод целого в р-ичную строку.

//Осуществляет перевод целой части r в строку, содержащую её b-//ичное представление.

function IntToPChar(d: Integer):String;

//Модуль Перевод целого в р-ичный символ.

//Переводит цифру d в её строковое представление

//в системах счисления с основаниями от 2 до 16.

function Frac10ToP(f: Extended; b:Cardinal):String;

//Модуль Перевод дроби в р-ичную строку.

//осуществляет перевод дробной части f в строку, содержащую её b-//ичное представление.

procedure TForm1.ButtonClick(Sender: TObject);

//Управление вводом символов, командами редактирования и //вывода результата. Процедура вызывается при нажатии командных //кнопок на форме.

var p: Integer; s: String;

begin

if Done

then begin

StaticText2.Caption:= '';

StaticText1.Caption:= '';

Done:= False

end;

s:= StaticText1.Caption;

p:= (Sender as TButton).Tag;//p содержит значение свойства Tag кнопки, которая вызвала

//событие

case p of

14: begin StaticText2.Caption:= DoTransfer(s); Done:= True end;//Перевод

else StaticText1.Caption:= Edit(p, s)//Ввод и редактирование

end;

end;

procedure TForm1.N2Click(Sender: TObject);

//Вызывается при выборе пункта Файл|Выход

begin

Application. Terminate //Завершить приложение

end;

procedure TForm1.N4Click(Sender: TObject);

//Вызывается при выборе пункта Помощь|Справка

begin

Form2.Show //Показать окно справки

end;

end.

Пример 6. Исходный текст модуля Окно справки (Unit2) для перевода числа из десятичного представления в 16-ричное (для вариантов с 1 по 14).

unit Unit2;

//модуль Окно Справки

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm2 = class(TForm)

Button1: TButton;//Выход

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

//Вызывается при нажатии кнопки Выход

begin

Form2.Hide //Скрыть окно справки

end;

end.

Пример 7. Исходный текст модуля главной формы (Unit1) для перевода числа из 16-ричного представления в десятичное представление (для вариантов с 15 по 28).

unit Unit1;

//модуль главной формы для перевода числа из 16-ричной //системы счисления в 10-ичную

interface

uses

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

Mask, StdCtrls, Menus;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

Button10: TButton;

Button11: TButton;

Button12: TButton;

Button13: TButton;

Button14: TButton;

Button15: TButton;

Label2: TLabel;

Label3: TLabel;

Button16: TButton;

Button17: TButton;

Button18: TButton;

Button19: TButton;

Button20: TButton;

Button21: TButton;

StaticText1: TStaticText;//16-ричное представление числа

StaticText2: TStaticText;//десятичное представление числа

MainMenu1: TMainMenu;//Меню

N1: TMenuItem;//меню Файл

N2: TMenuItem;//меню Помощь

N3: TMenuItem;//пункт Выход меню Файл

N4: TMenuItem;//пункт Справка меню Помощь

procedure ButtonClick(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2;

const

b = 16; //основание системы счисления

// accurancy = 20; //точность представления исходного числа

NumLen = 12; //суммарная длина целой и дробной частей //исходного числа

var

// m: Set of Char;

Done: Boolean = False; //Имеет значение False при вводе и //редактировании, True - после нажатия клавиши "="

{$R *.DFM}

function Edit(i: Integer;s: String): String;

//Модуль Ввод/Вывод.

//Управляет вводом и редактированием

//числа s во «входном» формате. Управляющее значение i.

begin

case i of

0..15: result:= Digits(i, s);

16 : result:= Signe(s);

17 : result:= Comma(s);

18 : result:= Backspace(s);

19 : result:= Clear;

end;

end;

function Signe(s: String): String;

//Модуль Добавить знак.

//Изменяет знак вводимого числа s на противоположный.

function Comma(s: String): String;

//Модуль Добавить запятую.

//Добавляет запятую к вводимому числу s.

function Digits(p: integer;s: String): String;

//Модуль Добавить р-ичную цифру.

//Добавляет р-ичную цифру к вводимому числу.

function LenNum(s: String): Cardinal;

//Модуль Разрядов в числе.

//Вычисляет и возвращает суммарную длину <целое> и <дробь> //вводимого числа s

function AddZero(s: String): String;

//Модуль Добавить ‘0’.

//Добавляет '0' к вводимому числу s и возвращает результат.

function Clear: String;

//Модуль Удалить число.

//Очищает поле ввода, в котором хранится вводимое число

function Backspace(s: String): String;

//Модуль Удалить символ справа.

//Удаляет символ справа во вводимом числе s.

function DoTransfer(S: String): String;

//Модуль Преобразование представления числа.

//Управляет переводом числа, вычисляет и возвращает результат.

function IntToPChar(d: Integer):String;

//Модуль Р-ичный символ в число.

//Переводит р-ичную цифру в её строковое представление

//для систем счисления с основаниями от 2 до 16

function StrPToInt(r: String; b:Cardinal):Comp;

//Модуль Перевод Р-ичного целого в число.

//Переводит строку r, содержащую изображение р-ичного целого //в её числовое представление в с. сч. с основанием b.

function PCharToInt(d: Char):Cardinal;

//Модуль Р-ичный символ в число.

//Переводит символ, изображающий цифру в её числовое

//представление для систем счисления с основаниями от 2 до 16.

function StrPToFrac(f: String; b:Cardinal): Real;

//Модуль Перевод Р-ичной дроби в число.

//Переводит строку f, изображающую р-ичную дробь, в её

//числовое представление в с. сч. с основанием b.

procedure TForm1.ButtonClick(Sender: TObject);

//Управление вводом символов, командами редактирования и //вывода результата. Процедура вызывается при нажатии //командных кнопок на форме.

var p: Integer; s: String;

begin

if Done

then begin

StaticText2.Caption:= '';

StaticText1.Caption:= '';

Done:= False

end;

s:= StaticText1.Caption;

p:= (Sender as TButton).Tag;//p содержит значение свойства Tag //кнопки, которая вызваласобытие

case p of

20: begin StaticText2.Caption:= DoTransfer(s); Done:= True end;//Перевод

else StaticText1.Caption:= Edit(p, s);//Ввод и редактирование

end;

end;

procedure TForm1.N3Click(Sender: TObject);

//Вызывается при выборе пункта Помощь|Справка

begin

Form2.Show //Показать окно справки

end;

procedure TForm1.N4Click(Sender: TObject);

//Вызывается при выборе пункта Файл|Выход

begin

Application. Terminate //Завершить приложение

end;

end.

end.

Пример 8. Исходный текст модуля Окно справки (Unit2) для перевода числа из 16-ричного представления в десятичное представление (для вариантов с 15 по 28).

unit Unit2;

//Модуль Окно справки

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm2 = class(TForm)

Button1: TButton;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

//Вызывается при нажатии кнопки Выход

begin

Form2.Hide //Скрыть окно справки

end;

end.

Основная литература

1.  Лингер, Х. Миллс, Б. Уитт. Теория и практика структурного программирования. - М.:Мир, 1982. - 406 с.

2.  А.. Программирование на языке Турбо-Паскал 6.0, 7.0. - М.:Веста, Радио и связь,1993. - 384 с.: ил.

3.  Фаронов. Основы Турбо-Паскаля 6.0. - М.:Учебно-инженерный центр “МВТУ-ФЕСТО ДИДАКТИК”, 1992. - 304 с.

4.  Епанешников, В. Епанешников. Программирование в среде Turbo Pascal 7.0. - М.:”Диалог-Мифи”, 1993. - 288 с.

5.  Зиглер. Методы проектирования программных систем. М.: Мир, 1985.-328с.

6.  Марченко. Программирование в среде Borland Pascal 7.0. - К.: ВЕК, К.: ЮНИОР, 1996.- 480 с., ил.

7.  П. Дарахвелидзе, Е. Марков. Программирование в Delphi 4. - СПб.:БХВ - Санкт-Петербург,1999.-864 с., ил.

8.  А. И. Марченко. Программирование на языке Object Pascal 2.0. - К.: Юниор, 1998. - 304 с., ил.

9.  Джон Матчо, Фолкнер. Delphi. М.: Бином. 1995. -464 с.

10.  Петр Дарахвелидзе, Евгений Марков. Delphi - среда визуального программирования. СПб.: BHV - Санкт-Петербург, 1996. - 352 с.

11.  Джеф Дантеман, Джим Мишел, Дон Тейлор. Программирование в среде Delphi. - К.: НИПФ «ДиаСофтЛтд», 1995. - 608 с.

Основные порталы (построено редакторами)

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством