Язык программирования Delphi. Дипломная (ВКР). Информационное обеспечение, программирование.

Язык программирования Delphi. Дипломная (ВКР). Информационное обеспечение, программирование.




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻


























































Информационное обеспечение, программирование

Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Язык программирования Delphi

Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе


Скачать Скачать документ
Информация о работе Информация о работе

Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

- язык программирования, который используется в одноимённой среде
разработки. Сначала язык назывался Object Pascal. Начиная со среды разработки
Delphi 7.0, в официальных документах Borland стала использовать название Delphi
для обозначения языка Object Pascal.


В последнее время резко возрос интерес к программированию. Это связано с
развитием и внедрением в повседневную жизнь информационно-коммуникационных
технологий. Если человек имеет дело с компьютером, то рано или поздно у него
возникает желание, а иногда и необходимость, программировать.


Среди пользователей персональных компьютеров в настоящее время наиболее
популярно семейство операционных систем Windows и, естественно, что тот, кто
собирается программировать, стремится писать программы, которые будут работать
в этих системах.


Несколько лет назад рядовому программисту оставалось только мечтать о
создании собственных программ, работающих в среде Windows, т. к. единственным
средством разработки был Borland C++ for Windows, явно ориентированный на
профессионалов, обладающих серьезными знаниями и опытом.


Бурное развитие вычислительной техники, потребность в эффективных
средствах разработки программного обеспечения привели к появлению систем
программирования, ориентированных на так называемую "быструю
разработку", среди которых можно выделить Borland Delphi и Microsoft
Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application
Development - среда быстрой разработки приложений) лежит технология визуального
проектирования и событийного программирования, суть которой заключается в том,
что среда разработки берет на себя большую часть рутинной работы, оставляя
программисту работу по конструированию диалоговых окон и функций обработки
событий. Производительность программиста при использовании RAD-систем -
фантастическая!- это среда быстрой разработки, в которой в качестве языка
программирования используется язык Delphi. Язык Delphi - строго типизированный
объектно-ориентированный язык, в основе которого лежит хорошо знакомый
программистам Object Pascal.


В настоящее время программистам стала доступна очередная версия пакета
Delphi - Borland Delphi 7 Studio. Как и предыдущие версии, Borland Delphi 7
Studio позволяет создавать самые различные программы: от простейших однооконных
приложений до программ управления распределенными базами. В состав пакета
включены разнообразные утилиты, обеспечивающие работу с базами данных,
XML-документами, создание справочной системы, решение других задач.
Отличительной особенностью седьмой версии является поддержка технологии .NET.





В программе игровое поле представлено массивом N+2 на M+2, где N xM -
размер игрового поля. Элементы массива с номерами строк от 1 до N и номерами
столбцов от 1 до М соответствуют клеткам игрового поля (рис. 1), первые и
последние столбцы и строки соответствуют границе игрового поля.




Рис. 1. Клетке игрового поля соответствует элемент массива.




В начале игры каждый элемент массива, соответствующий клеткам игрового
поля, может содержать число от 0 до 9. Ноль соответствует пустой клетке, рядом
с которой нет мин. Клеткам, в которых нет мин, но рядом с которыми мины есть,
соответствуют числа от 1 до 8. Элементы массива, соответствующие клеткам, в
которых находятся мины, имеют значение 9.


Элементы массива, соответствующие границе поля, содержат -3.


В качестве примера на рис. 2 изображен массив, соответствующий состоянию
поля в начале игры.





В процессе игры состояние игрового поля меняется (игрок открывает клетки
и ставит флажки) и, соответственно, меняются значения элементов массива. Если
игрок поставил в клетку флажок, то значение соответствующего элемента массива
увеличивается на 100. Например, если флажок поставлен правильно в клетку, в
которой есть мина, то значение соответствующего элемента массива станет 109.
Если флажок поставлен ошибочно, например, в пустую клетку, элемент массива
будет содержать число 100. Если игрок открыл клетку, то значение элемента
массива увеличивается на 200. Такой способ кодирования позволяет сохранить
информацию о исходном состоянии клетки.




Главная (стартовая) форма игры Сапер приведена на рис. 3.





Рис. 3. Главная форма программы Сапер.




Следует обратить внимание, что размер формы не соответствует размеру
игрового поля. Нужный размер формы будет установлен во время работы программы.
Делает это процедура обработки события OnFormActivate, которая на основе информации о
размере игрового поля (количестве клеток по вертикали и горизонтали) и клеток
устанавливает значение свойств ClientHeight и ClientWidth, определяющих размер клиентской
области главного окна программы.


Основное окно программы содержит компонент MainMenu1, который представляет собой главное
меню программы. Значок компонента MainMenu находится на вкладке Standard (рис. 4).




Значок компонента MainMenu можно поместить в любое место формы, так как во время работы программы
он не виден. Пункты меню появляются в верхней части формы в результате
настройки меню. Для настройки меню используется редактор меню, который
запускается двойным щелчком левой кнопкой мыши на значке компонента или выбором
из контекстного меню компонента команды Menu Designer. В начале работы над новым меню,
сразу после добавления компонента к форме, в окне редактора находится
один-единственный прямоугольник - заготовка пункта меню. Чтобы превратить эту
заготовку в меню, нужно в окне Object Inspector в поле Caption ввести название меню.


Если перед какой-либо буквой в названии меню ввести знак &, то во
время работы программы можно будет активизировать этот пункт меню путем нажатия
комбинации клавиши <Аlt>
и клавиши, соответствующей символу, перед которым стоит знак &. В названии
меню эта буква будет подчеркнута.


Чтобы добавить в главное меню элемент, необходимо в окне редактора меню
выбрать последний (пустой) элемент меню и ввести название нового пункта.


Чтобы добавить в меню команду, необходимо выбрать пункт меню, в который
нужно добавить команду, переместить указатель активного элемента меню в конец
списка команд меню и ввести название команды.


На рис. 5 приведено окно редактора меню, в котором находится меню
программы Сапер.





Рис. 5. Структура меню программы Сапер.




После того как будет сформирована структура меню, нужно, используя окно Object Inspector, выполнить настройку элементов меню
(выбрать настраиваемый пункт меню можно в окне формы приложения или из списка
объектов в верхней части окна Object Inspector). Каждый
элемент меню (пункты и команды) - это объект типа TMenuitem. Свойства объектов TMenuitem (табл.1) определяют вид меню во
время работы программы.




Таблица 1. Свойства объекта TMenuItem




Имя элемента меню.
Используется для доступа к свойствам

Значок, который
отображается слева от названия элемента меню

Признак доступности
элемента меню. Если значение свойства равно False, то элемент меню
недоступен, при этом название меню отображается серым цветом

При выборе во время работы программы элемента меню происходит событие Click. Чтобы создать процедуру обработки
этого события, нужно в окне формы выбрать пункт меню и щелкнуть левой кнопкой
мыши - Delphi создаст шаблон процедуры обработки
этого события. В качестве примера ниже приведена процедура обработки события,
которое возникает в результате выбора из меню ? команды Справка. N3 - это имя
элемента меню, соответствующего этой команде.





В начале игры нужно расставить мины, затем для каждой клетки поля
подсчитать, сколько мин находится в соседних клетках. Процедура NewGame решает эту задачу.


// новая игра - генерирует новое поле


procedure NewGame ();,col : integer; // координаты клетки (индексы массива) : integer; // количество поставленных мин


k : integer; // кол-во мин в соседних клетках


// Очистим эл-ты массива, соответствующие клеткам


// игрового поляrow :=1 to MR docol :=1 to MC do
Pole[row,col] := 0;


Randomize О; // инициализация ГСЧ (генератор случайных чисел)


n := 0; // кол-во мин:= Random(MR) + 1;:= Random(MC) +
1;(Pole[row,col] <> 9) then begin[row,col] := 9; n := n+1;;


// для каждой клетки вычислим // кол-во мин в соседних клетках


for row := 1 to MR docol := 1 to MC do(Pole[row,col] <>
9) thenk :=0 ;Pole[row-l,col-l] = 9 then k = k + 1;Pole[row-1,col] =' 9 then k
= k + 1;Pole[row-1,col+1] = 9 then k = k + 1;Pole[row,col-1] = 9 then k = k +
1;Pole[row,col+1] = 9 then k = k + 1;Pole[row+1,col-1] = 9 then k = k +
1;Pole[row+1,col] = 9 then k = k + 1;Pole[row+l,col+l] = 9 then k := k +
1;[row,col] := k;; := 0;
// начало игры


nFlag
:= 0; // нет поставленных флагов


После того как процедура NewGame
расставит мины, процедура ShowPole выводит изображение игрового поля.


Procedure ShowPoie(Canvas : TCanvas; status : integer);,col :
integer;row := 1 to MR docol := 1 to MC do(Canvas, row, col, status);;


Процедура showPole выводит
изображение поля последовательно, клетка за клеткой. Вывод изображения
отдельной клетки выполняет процедура Kletka. Процедура Kletka
используется для вывода изображения поля в начале игры, во время игры и в ее
конце. В начале игры (значение параметра status = 0) процедура выводит только контур клетки, во время
игры - количество мин в соседних клетках или флажок, а в конце отображает
исходное состояние клетки и действия пользователя. Информацию о фазе игры
процедура Kletka получает через параметр status.


// выводит на экран изображение клетки


Procedure Kletka(Canvas : TCanvas;, col, status : integer);


x,y : integer; // координаты области вывода


begin:= (col-1)* W + I; у := (row-1)* H + 1;status = 0 then
begin.Brush.Color := clLtGray;.Rectangle(x-1,y-1,x+W,y+H);;;Pole[row,col] <
100 then.Brush.Color := clLtGray; // неоткрытые - серые.Rectangle(x-1,y-l,x+W,y+H);


// если игра завершена (status
= 2), то показать мины


if (status = 2) and (Pole[row,col] = 9)Mina(Canvas, x, y) ;
exit; end;


// открытая клетка.Brush.Color := clWhite; // открытые
белые.Rectangle(x-1,y-l,x+W,y+H); (Pole[row,col] = 100)


then exit; // клетка
открыта, но она пустая
Canvas.Font.Size := 14;.Font.Color :=
clBlue;.TextOut(x+3,y+2,IntToStr(Pole[row,col] -100));;;(Pole[row,col] >= 200)Flag(Canvas,
x, y); (Pole[row,col] =
109)


begin.Brush.Color :=
clRed;.Rectangle(x-1,y-1,x+W,y+H);;((Pole[row,col] mod 10) = 9)(status = 2)
then(Canvas, x, y);;


Во время игры программа воспринимает нажатия кнопок мыши и, в
соответствии с правилами игры, открывает клетки или ставит в клетки флажки.
Основную работу выполняет процедура обработки события onMouseDown. Сначала
процедура преобразует координаты точки, в которой игрок нажал кнопку мыши, в
координаты клетки игрового поля. Затем делает необходимые изменения в массиве
Pole и, если нажата правая кнопка, рисует в клетке флажок. Если нажата левая
кнопка в клетке, в которой нет мины, то эта клетка открывается, на экран
выводится ее содержимое. Если нажата левая кнопка в клетке, в которой есть
мина, то вызывается процедура showPole, которая показывает все мины, в том
числе и те, которые игрок не успел найти.


// нажатие кнопки мыши на игровом поле


procedure TForm1.Form1MouseDown(Sender: TObject;:
TMouseButton;: TShiftState; X, Y: Integer);, col : integer;status = 2 // игра завершенаexit;status = 0 then // первый щелчок


// преобразуем координаты мыши в индексы


col := Trunc(x/W) + 1;Button = mbLeft thenPole[row,col] = 9
then


begin // открыта клетка, в которой есть мина


Pole[row,col] := Pole[row,col] + 100;:= 2; // игра закончена(Form1.Canvas, status);elsePole[row,col] < 9 then(row,col);elseButton
= mbRight thenPole[row,col] > 200 then begin


// уберем флаг и закроем клетку:= nFlag - 1;


Pole[row,col] := Pole[row,col]-200;


// уберем флаг:= (col-D* W + 1; у := (row-1)* H + 1;


Canvas.Brush.Color := clLtGray;.Rectangle(x-1,y-1,x+W,y+H);


nFlag := nFlag + 1; if Pole[row,col] = 9nMin := nMin +
1;[row,col]:=Pole[row,col]+200;


// поставили флаг(nMin = NM) and (nFlag = NM) then begin:= 2;


// игра закончена(Form1.Canvas, status);Kletka(Form1.Canvas, row, col,
status);


При выборе из меню ? команды Справка появляется справочная информация -
правила игры (рис. 6)




Рис. 6. Окно справочной информации.




Перед непосредственным созданием процедуры, обеспечивающей вывод справочной
информации, в главную форму необходимо добавить компонент HhOpen.


procedure TForm1.N3Click(Sender: TObject);: string; // файл справки:
string; // раздел справки


// файл справки (указатель на строку WideChar): PWideChar;


// раздел (указатель на строку WideChar)


begin:= 'saper.chm';:= 'saper_02.htm';


// выделить память
длястрок GetMem(pwHelpFile,
Length(HelpFile) * 2);(pwHelpTopic, Length(HelpTopic)*2);


// преобразовать ANSI-строку в
WideString-строку:=
StringToWideChar(HelpFile,, MAX_PATH*2);:= StringToWideChar(HelpTopic,,32);


// вывести справочную информацию.Hhopen1.OpenHelp(pwHelpFile,);


При выборе из меню ? команды О программе на экране должно появиться
одноименное окно (рис. 7).





Чтобы программа во время своей работы могла вывести на экран окно,
отличное от главного (стартового), нужно создать это окно. Делается это выбором
из меню File команды New form. В результате выполнения команды New form в
проект добавляется новая форма и соответствующим ей модуль.


Вид формы AboutForm после добавления необходимых компонентов приведен на
рис. 8, значения ее свойств - в табл. 2.


Таблица 2. Значения свойств формы О программе


Вывод окна О программе выполняет процедура обработки события click,
которое происходит в результате выбора из меню ? команды О программе.


Непосредственно вывод окна выполняет метод showModal, который выводит окно как модальный
диалог.


// выбор из меню ? команды О программе


procedure TForm1.N4Click(Sender: TObject);.Top :=(Forml.Top +
Forml.Height/2 - AboutForm.Height/2);.Left :=(Form1.Left +Form1 .Width/2


AboutForm. Width/2 }; AboutForm. ShowModal;;


Модальный диалог перехватывает все события, адресованные другим окнам
приложения. Пока модальный диалог находится на экране, другие окна приложения
не реагируют на действия пользователя. Для продолжения работы с приложением
нужно закрыть модальный диалог. В большинстве программ в том числе и в Delphi,
информация о программе реализована как модальный диалог.


Если не предпринимать никаких усилий, то окно О программе появится в той
точке экрана, в которой находилась форма во время ее разработки вместе с тем,
можно "привязать" это окно к главному окну программы так, чтобы оно
появлялось в центре главного окна. Привязка осуществляется на основании
информации о текущем положении главного окна программы и размере окна О
программе. Окно О программе должно быть удалено с экрана в результате щелчка на
кнопке Ok. Процедура обработки этого события приведена ниже.


procedure TAboutForm.ButtonlClick (Sender: TObject) ;:=
mrOk;;





unit saper_1;, Messages, SysUtils, Classes,, Controls, Forms,
Dialogs,, StdCtrls, OleCtrls, HHOPENLib_TLB;= class(TForm): TMainMenu;:
TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: THhopen;Form1Create(Sender:
TObject);Form1Paint(Sender: TObject);Form1MouseDown(Sender: TObject; Button:
TMouseButton;: TShiftState; X, Y: Integer);N1Click(Sender:
TObject);N4Click(Sender: TObject);N3Click(Sender: TObject);
{ Public declarations };: TForm1;saper_2;


const= 10; // кол-во клеток по вертикали= 10; // кол-во клеток по
горизонтали= 10; // кол-во мин= 40; // ширина клетки поля


H = 40; // высота клетки поля:
array[0..MR+1, 0.. MC+1]
of integer; // минное поле


// 0..8 - количество мин в соседних клетках


// 200..209 - в клетку поставлен флаг: integer; // кол-во найденных мин:
integer; // кол-во поставленных флагов: integer; // 0 - начало игры; 1- игра; 2
-результат


// генерирует новое полеShowPole(Canvas : TCanvas; status :
integer); forward;// Показывает полеKletka(Canvas : TCanvas; row, col, status : integer);
forward; // выводит содержимое клетки


Procedure Open( row, col : integer); forward;// открывает текущую и все
соседние клетки, в которых нет мин


Procedure Mina(Canvas : TCanvas; x, y : integer); forward; //
Рисует минуFlag( Canvas : TCanvas; x, y : integer); forward;// Рисует флаг


// выводит на экран содержимое клеткиKletka(Canvas : TCanvas; row, col,
status : integer);


var,y : integer; // координаты области вывода


begin:= (col-1)* W + 1;:= (row-1)* H + 1;status = 0
then.Brush.Color := clLtGray;.Rectangle(x-1,y-1,x+W,y+H);;;Pole[row,col] <
100 then.Brush.Color := clLtGray; // не открытые - серые.Rectangle(x-1,y-1,x+W,y+H);


// если игра завершена (status = 2), то показать мины


if (status = 2) and (Pole[row,col] = 9)Mina(Canvas, x, y);;;


// открываем клетку.Brush.Color := clWhite; // открытые белые.Rectangle(x-1,y-1,x+W,y+H);


if ( Pole[row,col] = 100 )exit; // клетка открыта, но она пустая


if ( Pole[row,col] >= 101) and (Pole[row,col] <= 108 )
then.Font.Size := 14;.Font.Color :=
clBlue;.TextOut(x+3,y+2,IntToStr(Pole[row,col] -100 ));;;( Pole[row,col] >=
200 ) then(Canvas, x, y);
(Pole[row,col] =
109 ) then // на этой мине подорвались!


begin.Brush.Color := clRed;.Rectangle(x-1,y-1,x+W,y+H);;(
(Pole[row,col] mod 10) = 9) and (status = 2) then(Canvas, x, y);;


// Показывает полеShowPole(Canvas : TCanvas; status : integer);,col :
integer;row := 1 to MR docol := 1 to MC do(Canvas, row, col, status);


// рекурсивная функция открывает текущую и все соседние


// клетки, в которых нет минOpen( row, col :
integer);Pole[row,col] = 0 then[row,col] := 100;(Form1.Canvas, row,col,
1);(row,col-1);(row-1,col);(row,col+1);(row+1,col);


//примыкающие диагонально(row-1,col-1);


Open(row-1,col+1);(row+1,col-1);(row+1,col+1);(Pole[row,col]
< 100) and ( Pole[row,col] <> -3 ) then[row,col] := Pole[row,col] +
100;(Form1.Canvas, row, col, 1);


// новая игра - генерирует новое поле


procedure NewGame();,col : integer; // координаты клетки


n : integer; // количество поставленных мин: integer; // кол-во мин в
соседних клетках


// Очистим эл-ты массива, соответствующие клеткам


// игрового поля.row :=1 to MR docol :=1 to MC do[row,col] := 0;


// расставим мины(); // инициализация ГСЧ:= 0; // кол-во мин


repeat:= Random(MR) + 1;:= Random(MC) + 1;( Pole[row,col]
<> 9) then[row,col] := 9;:= n+1;


for row := 1 to MR docol := 1 to MC do( Pole[row,col]
<> 9 ) then:=0 ;Pole[row-1,col-1] = 9 then k := k + 1;Pole[row-1,col] = 9
then k := k + 1;Pole[row-1,col+1] = 9 then k := k + 1;Pole[row,col-1] = 9 then
k := k + 1;Pole[row,col+1] = 9 then k := k + 1;Pole[row+1,col-1] = 9 then k :=
k + 1;Pole[row+1,col] = 9 then k := k + 1;Pole[row+1,col+1] = 9 then k := k +
1;[row,col] := k;;


status := 0; // начало игры:= 0; // нет обнаруженных мин:= 0; // нет
флагов;


Procedure Mina(Canvas : TCanvas; x, y : integer);Canvas
do.Color := clGreen;.Color :=
clBlack;(x+16,y+26,x+24,y+30);(x+8,y+30,x+16,y+34);(x+24,y+30,x+32,y+34);(x+6,y+28,x+34,y+44,x+34,y+36,x+6,y+36);(x+12,y+32);
LineTo(x+26,y+32);(x+8,y+36); LineTo(x+32,y+36);(x+20,y+22);
LineTo(x+20,y+26);(x+8, y+30); LineTo(x+6,y+28);(x+32,y+30);
LineTo(x+34,y+28);;;


// Рисует флагFlag( Canvas : TCanvas; x, y : integer);: array [0..3] of
TPoint; // координаты флажка
и нижней
точки древка: array [0..4] of TPoint; // буква М


// зададим координаты точек флажка[0].x:=x+4; p[0].y:=y+4;[1].x:=x+30; p[1].y:=y+12;[2].x:=x+4;
p[2].y:=y+20;


p[3].x:=x+4; p[3].y:=y+36; // нижняя точка древка


m[0].x:=x+8; m[0].y:=y+14;[1].x:=x+8;
m[1].y:=y+8;[2].x:=x+10; m[2].y:=y+10;[3].x:=x+12; m[3].y:=y+8;[4].x:=x+12;
m[4].y:=y+14;Canvas do


// установим цвет кисти и карандаша


Brush.Color := clRed;.Color := clRed;(p); // флажок


// древко.Color := clBlack;(p[0].x,
p[0].y);(p[3].x, p[3].y);


// буква М.Color := clWhite;(m);.Color := clBlack;


// выбор из меню ? команды О программе


procedure TForm1.N4Click(Sender: TObject);.Top :=
Trunc(Form1.Top + Form1.Height/2 - AboutForm.Height/2);.Left :=
Trunc(Form1.Left +Form1.Width/2 - AboutForm.Width/2);.ShowModal;;TForm1.Form1Create(Sender:
TObject);


// В неотображаемые эл-ты массива, которые соответствуют


// клеткам по границе игрового поля запишем число -3.


// Это значение используется функцией Open для завершения


// рекурсивного процесса открытия соседних пустых клеток.


for row :=0 to MR+1 docol :=0 to MC+1 do[row,col] := -3;();
// "разбросать" мины.ClientHeight := H*MR +
1;.ClientWidth := W*MC + 1;


// нажатие кнопки мыши на игровом поле


procedure TForm1.Form1MouseDown(Sender: TObject; Button:
TMouseButton;: TShiftState; X, Y: Integer);, col : integer;status = 2 // игра завершенаexit;status = 0 then // первый щелчок


// преобразуем координаты мыши в индексы


col := Trunc(x/W) + 1;Button = mbLeft thenPole[row,col] = 9
then


begin // открыта клетка, в которой есть мина


Pole[row,col] := Pole[row,col] + 100;:= 2; // игра закончена(Form1.Canvas, status);if Pole[row,col] < 9 then(row,col);Button =
mbRight thenPole[row,col] > 200 then
Pole[row,col] := Pole[row,col] - 200; // уберем флаг:=
(col-1)* W + 1;:= (row-1)* H + 1;.Brush.Color :=
clLtGray;.Rectangle(x-1,y-1,x+W,y+H);


nFlag := nFlag + 1;Pole[row,col] = 9nMin := nMin + 1;[row,col]
:= Pole[row,col]+ 200; // поставили флаг(nMin = NM) and (nFlag = NM) then:=
2; // игра закончена(Form1.Canvas, status);Kletka(Form1.Canvas, row, col,
status);


procedure TForm1.N1Click(Sender:
TObject);();(Form1.Canvas,status);


procedure TForm1.N3Click(Sender: TObject);: string; // файл справки:
string; // раздел справки: PWideChar; // файл справки (указатель на WideChar строку): PWideChar; // раздел (указатель на WideChar строку):= 'saper.chm';:= 'saper_02.htm';


// выделить память
для WideChar строк(pwHelpFile, Length(HelpFile) *
2);(pwHelpTopic, Length(HelpTopic)*2);


// преобразовать Ansi
строку в WideString строку


pwHelpFile :=
StringToWideChar(HelpFile,pwHelpFile,MAX_PATH*2);:=
StringToWideChar(HelpTopic,pwHelpTopic,32);


// вывести справочную информацию.Hhopen1.OpenHelp(pwHelpFile,pwHelpTopic);;TForm1.Form1Paint(Sender:
TObject);(Form1.Canvas, status);


// модуль формы О программеsaper 2;


interface, Messages, SysUtils, Classes, Graphics, Controls,,
Dialogs, StdCtrls, saper_l;= class(TForm): TButton;: TLabel;:
TLabel;ButtonlClick(Sender: TObject);


{ Private declarations }Public declarations };: TAboutForm;


{$R *.DFM}TAboutForm.ButtonlClick(Sender: TObject);:= mrOk;;.





Чтобы начать игру Сапер, необходимо запустить приложение saper.exe. Данное приложение аналогично игре Сапер, входящей в
состав Microsoft Windows.


Пример окна программы в конце игры, после того как игрок открыл клетку, в
которой находится мина, приведен на рис. 9.




В данном курсовом проекте решена задача разработки программы реализующей
игру Сапер, анализ результатов которой показал, что поставленная задача успешно
решена. Основные характеристики программы: простота интерфейса и доступность
широкому кругу пользователей.


Для вывода справочной информации игра Сапер использует компонент hhopen, который физически представляет
собой файл hhopen.ocx.


Если компонент в системе не зарегистрирован, то в процессе запуска
программы возникает ошибка (исключение).


Для того чтобы зарегистрировать компонент, надо:


·       скопировать файл hhopen.ocx в каталог c:\windows\system или c:\windows\system32 (если программа запускается в Microsoft Windows 2000)


·       зарегистрировать компонент hhopen, для чего надо из командной строки, которая
становиться доступной в результате выбора команды Пуск/Выполнить, запустить
системную утилиту regsrv32, указав в
качестве параметра файл hhopen.ocx





1.               Вальвачев
А. Н, Сурков К. А, Сурков Д. А, Четырько Ю. М. Программирование на языке
Delphi. Учебное пособие. - 2005.


2.      Культин
Н.Б. Основы программирования в Delphi
7. СПБ: БХВ - Петербург 2002.


.       Архангельский
А. Я. Программирование в Delphi 7 -М: ЗАО Издательство БИНОМ 2003.-768 с.


4.         Кэнту
М. Delphi 7: Для профессионалов






Похожие работы на - Язык программирования Delphi Дипломная (ВКР). Информационное обеспечение, программирование.
Средства Массовой Информации Рефераты
Лекарственные растения, обладающие кровоостанавливающим действием
Реферат: Интеграционные процессы в мировой экономике. Скачать бесплатно и без регистрации
Волкова Контрольные Работы 3 Класс
Реферат Про Пушкина 8 Класс По Литературе
Гдз Контрольной Работы 7 Класс Мерзляк
Краткое Сочинение Про Рождество
Курсовая работа по теме Прибуток – основний показник фінансової діяльності підприємства
Сборник Готовых Эссе По Английскому Языку Мишина
Реферат: Газотурбовоз - перспективный вид тяги. Скачать бесплатно и без регистрации
Дневник Практики Медика
Реферат по теме Ян Амос Коменский
Реферат: Менингоэнцефалитический синдром
Как Оформить Курсовую Работу Самому
Курсовая работа по теме Ампутация полового члена
Реферат Булевы Функции
Курсовая работа по теме Следственные действия
Сочинение по теме Основные этапы истории русского языка
Контрольная работа по теме Проблемы в инфекционном кабинете городской поликлиники
Характеристика Практики Воспитателя Доу
Курсовая работа: Банки и банковская система. Интернет-банкинг. Пластиковые карты
Контрольная работа: Проект Конституции РФ, подготовленный фракцией "Коммунисты России" Верхового Совета РФ
Реферат: Изучение распределения больцмана и определение работы выхода электронов из металла в вакуум

Report Page