Современные операционные системы и системное программирование в Delphi
Министерство Образования и Науки Украины
Донбасская Государственная Машиностроительная Академия
Кафедра КИТ
КОНТРОЛЬНАЯ РАБОТА
По дисциплине
"Системное программирование и операционные системы"
раздел
"Современные операционные системы и системное программирование в Delphi"
Выполнил:
Студент гр. ИТ – 01 – 1з
Лазебник А.В.
Вариант 19
Проверил:
Преподаватель Сагайда П.И.
Краматорск 2002.
СОДЕРЖАНИЕ
Часть I 3
Часть II 5
Часть III 6
Часть I
Основы работы с многооконным графическим пользовательским интерфейсом операционной системы Windows 95/NT
Цель: изучение Учебника и справочной подсистемы Windows 95/NT, получение навыков работы с манипулятором "мышь", манипулирование окнами и значками (пиктограммами) программ и документов, запуска программ в системе Windows 95/NT (далее Системе).
Диалоговые окна и их структуры. Всякое диалоговое окно является связанным, т.е. представляет собой разновидность диалогового окна. Оно принадлежит определённой команде определённой программы. Изучите элементы диалоговых окон – командные кнопки, зависимые и независимые переключатели, текстовые поля ввода, списки и падающие списки – и правила работы с этими элементами. Продемонстрируйте свои знания на примере работы с диалоговым окном.
Переключатели обычно объединяются в группу, как показано на рис.1. переключатели всегда соответствуют взаимоисключающим состояниям, поэтому из всей группы всегда выбрано ровно одно значение. Установка переключателя делается одинарным щелчком мыши.
Командные кнопки (рис.1) служат для принятия или отмены, установленных в диалоговых окнах, нужных значений параметров. Принятие изменений происходит при нажатии кнопки Ок, а отклонение при нажатии кнопки Отмена. Закрытие диалогового окна при помощи кнопки закрытия в правом верхнем углу равносильно отказу от изменений и нажатию кнопки Отмена.
Рис.1
Текстовое поле ввода (рис.2) представляет собой область, в которой можно ввести определённый текст. При вводе и редактировании текста используются обычные приёмы. Для активизации поля ввода и установления положения курсора можно использовать мышь. При перемещении указателя мыши над полем ввода он меняет форму, превращаясь из стрелки в вертикальную чёрточку с засечками. Если в это время сделать щелчок, то в поле ввода появится курсор, и текст можно будет вводить.
Рис.2.
Раскрывающийся список внешне выглядит как и поле ввода, в правой части которого располагается кнопка с направленной вниз стрелкой. Щелчок по этой стрелке раскрывает список. После того как список раскрыт, можно найти и выбрать в нём подходящее значение (рис.2).
Прокручивающийся список используется как для задания имён файлов при операциях сохранения и открытия, так и в ряде других операций. Список может снабжаться полосой прокрутки справа и снизу. Как и в раскрывающемся списке, нужное имя или значение выбирается одинарным щелчком мыши, однако в отличие от него прокручивающийся список после этого не закрывается.
Часть II
Основы работы с программами управления и прикладными программами (Windows – приложениями и DOS – приложениями).
Цель работы: получение навыков запуска и настройки режима выполнения программ (Windows – приложениями и DOS – приложений) в операционных системах Windows NT/95, изменения различных параметров операционной системы, работая с файлами и документами в приложениях Windows.
Работа в текстовом редакторе Microsoft Word.
Наберите в окне WinWord текст вашей краткой автобиографии в произвольном виде (10-12стр) с использованием TrueType – шрифта ArialCyr, кеглем 10 пунктов, нормального начертания, с межстрочным интервалом 1,5 строки. В тексте должны быть 2 – 3 абзаца с красной строкой, полученной при помощи табуляции со значением 5 ММ. текст должен иметь выравнивание "По ширине". Заголовок " Краткая автобиография " должен быть набран шрифтом Times New Roman Cyr, кегль 16 пунктов, полужирное начертание, выравнивание по центру, межстрочный интервал 2 строки.
Выделите важную часть вашей автобиографии фоном с 10% плотности растра.
В верхний левый угол текста вставьте кадр, в который внедрите из Paintbrush свой автопортрет (небольшой рисунок в виде шаржа). Задайте обтекание текстом вокруг кадра, контур вокруг иллюстрации, расстояние от обтекающего текста до иллюстрации.
Ниже текста вставьте таблицу следующего вида:
-
Дата
Событие
Примечания
Графы которой заполните соответствующим образом.
5. Задайте формат страницы создаваемого документа А4 (210x297), левое поле 25 мм, правое поле 15 мм, верхнее 20 мм и нижнее 30 мм. Войдите в режим Разметка страницы и рассмотрите внешний вид полученного документа. Введите по необходимости коррективы и сохраните файл.
"Краткая автобиография"
Я, Лазебник Александр Васильевич, родился 18 сентября 1980 года в городе Горловка, Донецкой области. В 1997 году закончил общеобразовательную школу I-III ступеней № 22. В 1998 году окончил Горловскую автошколу ДОСАФ ОСОУ.
Министерства Обороны Украины. Гражданская специальность водитель – профессионал (категории B,C).
25 ноября 1998 года был призван на срочную службу в ряды Вооружённых сил
Украины. Службу проходил во внутренних войсках.4 апреля 2000 годы был демобилизован.
В настоящее время работаю в должности старшего пожарного в СГПЧ-28 ОГПО-8 Пожарного департамента Украины в городе Горловка.
Учусь на заочном отделении Донбасской машиностроительной академии, факультет "Компьютерные науки", группа ИТ-01-1з.
Дата |
Событие |
Примечание |
18. IX. 1980 |
Родился |
г. Горловка |
1. IX. 1986 |
Пошёл в первый класс |
ОШ N 79 |
25. V. 1997 |
Окончил школу |
ОШ I-III ст. N 22 |
25. XI. 1998 |
Призыв в армию |
Рядовой |
4. IV. 2000 |
Демобилизация |
Старшина |
1. IX. 2001 |
Поступление в ДГМА |
ИТ-01-1з |
Часть III
Разработка простого приложения для Windows при помощи средства разработки Delphi.
Цель: получить навыки проектирования и разработки простых приложений с использованием различных компонентов Delphi и программированием подпрограмм обработки событий.
Индивидуальное задание:
Разработайте приложение – электронный калькулятор для операций +,-,*,/ над вещественными числами.
Листинг программы:
Calc. dfm
object Form1: TForm1
Left = 248
Top = 691
BorderIcons = [biSystemMenu]
BorderStyle = bsSingle
Caption = #1050#1072#1083#1100#1082#1091#1083#1103#1090#1086#1088
ClientHeight = 187
ClientWidth = 157
Color = clBtnFace
Font. Charset = DEFAULT_CHARSET
Font. Color = clWindowText
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = []
OldCreateOrder = False
Position = poScreenCenter
PixelsPerInch = 96
TextHeight = 13
object Bevel1: TBevel
Left = 5
Top = 5
Width = 146
Height = 31
end
object LabelOperation: TLabel
Left = 8
Top = 15
Width = 9
Height = 13
AutoSize = False
Caption = ' '
Font. Charset = DEFAULT_CHARSET
Font. Color = 11008
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
end
object Label1: TLabel
Left = 18
Top = 7
Width = 131
Height = 13
AutoSize = False
end
object Label2: TLabel
Left = 18
Top = 21
Width = 131
Height = 13
AutoSize = False
end
object EditCalc: TEdit
Left = 5
Top = 40
Width = 146
Height = 21
ReadOnly = True
TabOrder = 0
end
object BitBtn0: TBitBtn
Left = 5
Top = 155
Width = 56
Height = 25
Caption = '0'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 1
OnClick = BitBtnNumberClick
end
object BitBtn1: TBitBtn
Left = 5
Top = 125
Width = 26
Height = 25
Caption = '1'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 2
OnClick = BitBtnNumberClick
end
object BitBtn2: TBitBtn
Left = 35
Top = 125
Width = 26
Height = 25
Caption = '2'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 3
OnClick = BitBtnNumberClick
end
object BitBtn3: TBitBtn
Left = 65
Top = 125
Width = 26
Height = 25
Caption = '3'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 4
OnClick = BitBtnNumberClick
end
object BitBtn4: TBitBtn
Left = 5
Top = 95
Width = 26
Height = 25
Caption = '4'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 5
OnClick = BitBtnNumberClick
end
object BitBtn5: TBitBtn
Left = 35
Top = 95
Width = 26
Height = 25
Caption = '5'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 6
OnClick = BitBtnNumberClick
end
object BitBtn6: TBitBtn
Left = 65
Top = 95
Width = 26
Height = 25
Caption = '6'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 7
OnClick = BitBtnNumberClick
end
object BitBtn7: TBitBtn
Left = 5
Top = 65
Width = 26
Height = 25
Caption = '7'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 8
OnClick = BitBtnNumberClick
end
object BitBtn8: TBitBtn
Left = 35
Top = 65
Width = 26
Height = 25
Caption = '8'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 9
OnClick = BitBtnNumberClick
end
object BitBtn9: TBitBtn
Left = 65
Top = 65
Width = 26
Height = 25
Caption = '9'
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 10
OnClick = BitBtnNumberClick
end
object BitBtnPlus: TBitBtn
Left = 95
Top = 65
Width = 26
Height = 25
Caption = '+'
Font. Charset = DEFAULT_CHARSET
Font. Color = clGreen
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 11
OnClick = BitBtnOperationClick
end
object BitBtnMinus: TBitBtn
Left = 95
Top = 95
Width = 26
Height = 25
Caption = '-'
Font. Charset = DEFAULT_CHARSET
Font. Color = clGreen
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 12
OnClick = BitBtnOperationClick
end
object BitBtnMultiple: TBitBtn
Left = 95
Top = 125
Width = 26
Height = 25
Caption = '*'
Font. Charset = DEFAULT_CHARSET
Font. Color = clGreen
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 13
OnClick = BitBtnOperationClick
end
object BitBtnDivide: TBitBtn
Left = 95
Top = 155
Width = 26
Height = 25
Caption = '/'
Font. Charset = DEFAULT_CHARSET
Font. Color = clGreen
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 14
OnClick = BitBtnOperationClick
end
object BitBtnEq: TBitBtn
Left = 125
Top = 125
Width = 26
Height = 55
Caption = '='
Font. Charset = DEFAULT_CHARSET
Font. Color = clWindowText
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 15
OnClick = BitBtnEqClick
end
object BitBtnReset: TBitBtn
Left = 125
Top = 65
Width = 26
Height = 55
Caption = 'C'
Font. Charset = DEFAULT_CHARSET
Font. Color = clRed
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 16
OnClick = BitBtnResetClick
end
object BitBtnDecimal: TBitBtn
Left = 65
Top = 155
Width = 26
Height = 25
Caption = '. '
Font. Charset = DEFAULT_CHARSET
Font. Color = clBlue
Font. Height = - 11
Font. Name = 'MS Sans Serif'
Font. Style = [fsBold]
ParentFont = False
TabOrder = 17
OnClick = BitBtnNumberClick
end
end
Calc
unit Calc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TForm1 = class(TForm)
EditCalc: TEdit;
BitBtn0: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
BitBtnPlus: TBitBtn;
BitBtnMinus: TBitBtn;
BitBtnMultiple: TBitBtn;
BitBtnDivide: TBitBtn;
BitBtnEq: TBitBtn;
BitBtnReset: TBitBtn;
BitBtnDecimal: TBitBtn;
LabelOperation: TLabel;
Bevel1: TBevel;
Label1: TLabel;
Label2: TLabel;
procedure BitBtnResetClick(Sender: TObject);
procedure BitBtnNumberClick(Sender: TObject);
procedure BitBtnOperationClick(Sender: TObject);
procedure BitBtnEqClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
v_NextOperation: boolean;
implementation
{$R *. dfm}
procedure TForm1. BitBtnResetClick(Sender: TObject);
begin
EditCalc. Text: ='';
Label1. Caption: ='';
Label2. Caption: ='';
LabelOperation. Caption: =' ';
end;
procedure TForm1. BitBtnNumberClick(Sender: TObject);
begin
if v_NextOperation
then
begin
EditCalc. Text: =TBitBtn(Sender). Caption;
v_NextOperation: =false;
end
else EditCalc. Text: =EditCalc. Text+TBitBtn(Sender). Caption;
end;
procedure TForm1. BitBtnOperationClick(Sender: TObject);
begin
LabelOperation. Caption: =TBitBtn(Sender). Caption;
Label1. Caption: =EditCalc. Text;
EditCalc. Text: ='';
Label2. Caption: =EditCalc. Text;
end;
procedure TForm1. BitBtnEqClick(Sender: TObject);
begin
v_NextOperation: =true;
if Label1. Caption=''
then Label1. Caption: ='0';
Label2. Caption: =EditCalc. Text;
if (Label2. Caption='0') and(LabelOperation. Caption [1] ='/')
then
begin
EditCalc. Text: ='??? Деление на 0';
Exit;
end;
case LabelOperation. Caption [1] of
'+': EditCalc. Text: =FloatToStr(StrToFloat(Label1. Caption) +StrToFloat(Label2. Caption));
'-': EditCalc. Text: =FloatToStr(StrToFloat(Label1. Caption) - StrToFloat(Label2. Caption));
'*': EditCalc. Text: =FloatToStr(StrToFloat(Label1. Caption) *StrToFloat(Label2. Caption));
'/': EditCalc. Text: =FloatToStr(StrToFloat(Label1. Caption) /StrToFloat(Label2. Caption));
else EditCalc. Text: ='????????????? ';
end;
end;
initialization
DecimalSeparator: ='. ';
v_NextOperation: =true;
end.
Calculat
program Calculat;
uses
Forms,
Calc in 'Calc. pas' {Form1};
{$R *. res}
begin
Application. Initialize;
Application. CreateForm(TForm1, Form1);
Application. Run;
end.