Современные операционные системы и системное программирование в Delphi

2



Министерство Образования и Науки Украины

Донбасская Государственная Машиностроительная Академия



Кафедра КИТ



КОНТРОЛЬНАЯ РАБОТА 



По дисциплине 



"Системное программирование и операционные системы" 



раздел

"Современные операционные системы и системное программирование в 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.