Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


TForm - форма, представляет собой окно приложения.

Некоторые свойства:

Name – имя объекта;

Caption – заголовок окна;

Left, Top - положение окна по X и Y

Width, Height - размеры окна по X и Y

Color – цвет фона окна;

Некоторые обработчики событий:

OnCreate – действия при создании окна:

OnClose - действия при закрытии окна:

OnPaint – действия при перерисовке окна.

Некоторые методы:

Close – закрыть окно;

Hide – свернуть окно;

Show – показать окно.

 

TMainMenu помещает главное меню в программу. При помещении TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа называют невидимым (невизуальным) компонентом, поскольку они невидимы во время выполнения программы.

Создание меню включает три шага:

1) Помещение TMainMenu на форму,

2) Вызов Дизайнера Меню через свойство Items в Инспекторе Объектов,

3) Определение пунктов меню в Дизайнере Меню.

TStatusBar необходим для отображения в поле игры количества очков и собранных линий.

 

TImageотображает графическое изображение на форме. Воспринимает форматы BMP, ICO, WMF.

 

Компонент ImageList представляет собой набор изображений одинаковых размеров, на которые можно ссылаться по индексам, начинающимся с 0. Теперь рассмотрим основные свойства TimageList:

 

Height - высота изображений в списке;

Wight — ширина изображений в списке;

AllocBy — Определяет количество изображений, на которое увеличивается список для добавления новых изображений;

Count – Определяет число изображений в списке. Свойство толькр для чтения.

В закладке TDialog находятся компоненты OpenDialog и SaveDialog, которые являются основой почти всех программ. Компонент OpenDialog открывает файл, а SaveDialog сохраняет текущее состояние программы (в привычной для пользователя форме обозначает пункт «Сохранить файл как...»).

 

 

2. Разработка алгоритмов.

Перед написанием программы необходимо составить ее алгоритм. Составленный мною алгоритм представлен на рис. 1

 
 

 


-

 
 


+

Выход Сохранение Загрузка Новая игра

 

 


 

           
 
   
 
 
   


 

Запись полученных результатов в таблицу рекордов

 

 


Открытие сохранённой игры

 

 

Рисунок 1. – Блок-схема алгоритма

 

 
 

 


 

 
 

 

 


       
   
 
Передвижение шарика
 


       
   
 
 

 


-

       
   
 
 


+  

 

     
 
Ряд уничтожается
 
 
Изменение числа уничтоженных линий и набранных очков

 


 

 

 


Рисунок 1. – Блок-схема алгоритма (продолжение)

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

Самое основное действие в алгоритме, как и в самой игре – передвижение шариков и проверка их на упорядоченность.

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

Кроме того, алгоритм может сохранять игру, и в дальнейшем её открывать.

 
 

 

 


Рисунок2 - Блок-схема алгоритма заполнения массива нулями

Процедура обнуляет матрицы в соответствии со значениями переменных m,w,r.

 

3. Руководство программиста.

 

Пакет Delphi предназначен для создания больших программ, которые неудобно размещать в одном файле. В связи с этим программа формируется из нескольких файлов. Любая программа в Delphi состоит из файла проекта (файл с расширением dpr) и одного или нескольких модулей (файлы с расширением pas). Каждый из таких файлов описывает программную единицу Object Pascal.

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

Модули предназначены для размещения в них фрагментов программ. Текст модуля тоже сформирован Delphi, но программист может изменять его, придавая программе нужную функциональность.

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

Проект данной работы состоит из главной формы, в которой описаны все функции, выполняемые приложением «Линии».

Таблица 1. – Используемые формы и модули.

Название Описание Размер
Unit1.pas Главный модуль 485 Кb
Unit2.pas Модуль таблицы 2 Kb
Unit3.pas Модуль рекордов 1Kb
Unit1.dfm Главная форма 485 Kb
Unit2.dfm Форма таблицы 2Kb
Unit3.dfm Форма рекордов 1Kb
Project1.dpr Файл проекта 1 Kb
Project1.res Файл ресурсов 20 Kb

 

Основной частью программы является файл с расширением dpr. При компиляции программы Delphi создает файлы с расширениями pas, dfm и dcu для каждого модуля: pas – файл содержит копию текста из окна кода программы, в файле с расширением dfm хранится описание содержимого окна программы, а в dcu-файле – результат преобразования в машинные инструкции текста из обоих файлов. Файлы dcu создаются компилятором и дают необходимую базу для работы компоновщика, который преобразует их в единый загружаемый файл с расширением exe.

Разрабатываемая мной программа должна предусматривать некорректные действия пользователя и выводить сообщения о них. В Delphi предусмотрены сообщения на такие ошибки пользователя.

Глобальные переменные программы:

x,y,:integer– координаты шарика;

c:integer – цвет шарика;

i,j:integer – вспомогательные координаты;

sc,nl:integer – набранные очки.

 

Главный модуль содержит следующие программные элементы:

· Класс формы TForm1.

· Обработчики событий.

· procedure Init(m,w,r:boolean) - Инициализация, заполняем массивы нулями

· procedure CreateSpheres(x,y,c:integer) - Создаем шарик с координатами x,y и цветом c

· procedure NewSpheres(quantity:integer) - Создаем шарики с случайными позициями

· procedure ClickSpheres(Sender: TObject) - Щелчок на шарике

· procedure Wave(x1,y1,x2,y2:integer) - Распространение волны

· procedure Way(x1,y1,x2,y2:integer) - Нахождение пути от (x1, y1) до (x2, y2)

· procedure Move(x1,y1,x2,y2:integer) - Движение шарика по найденному пути

· procedure Pause(milliseconds:integer) - Пауза

· procedure DestroySpheres(x,y,k,i,j:integer) - Удаление k шариков, где i, j вспомогательные координаты для направления

· procedure Data(sc,nl:integer) - Очки

· procedure DestroyLines - Поиск линий

· procedure Restart - Новая игра

· Методы:

function EmptyPos(Pole:Desk):integer - Количество пустых позиций (для проверки проигрыша)

function ExitMap(x,y:integer):Boolean - Выход за границы поля

function FindLine(x,y,i,j:integer):integer - Поиск линии с координат x,y

function FindSphere(x,y:integer):TImage - Поиск Image'a с координатами x,y

procedure FormCreate(Sender: TObject); - Обработчик события при создании формы

 

Листинг программы расположен в приложении А.

 

 

4. Руководство пользователя

 

Назначение программы: программа, разработанная в курсовой работе, предназначена для развлечения и досуга пользователей. Приложение «Линии» обладает простейшими функциями, как движение цветных шариков, сохранение и загрузка игры, наличие таблицы рекордов.

Системные требования:

1) ОС Windows XP\Vista.

2) Объём оперативной памяти 64Мб

3) Свободное место на жёстком диске 1 Мб.

Для запуска программы достаточно скопировать файл с расширением.exe в любую папку, расположенную на жестком диске и запустить его (для деинсталляции достаточно лишь удалить файл расширением.exe с диска).

После запуска программы открывается окно главной формы и в поле игры появляется три шарика разного цвета в случайно выбранных клетках (рисунок Б.1) – можно начинать игру.

Для работы с главным меню:

1. Выход из программы осуществляется либо нажатием ALT+X, либо Файл – Выход.(рисунок Б.2)

2. Для вызова окна о разработавшем программу студенте (рисунок Б.3) нужно в меню нажать Справка – О программе.

Работа с памятью:

1. Чтобы сохранить текущую игру, нужно на главном меню кликнуть закладку «Игра», а далее в открывшемся списке – «Сохранить игру».

2. Чтобы открыть сохранённую ранее игру, находим в той же закладке «Игра» пункт «Загрузить игру».

3. Чтобы сбросить текущую игру, и начать заново, кликаем по пункту «Новая игра».

Для вызова таблицы рекордов в меню выбираем соответствующий пункт после чего появится таблица (Рисунок Б4.).

«Линии» выводит сообщения об ошибке при попытке выполнения некорректных действий (рисунок Б.5).

 

 

К некорректным действиям относятся:

1. Попытка передвигать шарики, когда не остаётся свободных позиций.

 

 

Заключение

 

В процессе выполнения курсовой работы было разработано приложение ОС Windows «Линии» в среде программирования Borland Delphi.

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

В дальнейшем к калькулятору может быть добавлено выполнение арифметических действий над числами в различных системах счисления.

 

 

Список использованных источников

 

1. Фаронов В.В. Delphi. Программирование на языке высокого уровня. – Питер, СПб, 2005г.

2. Справочная система среды Delphi.

3. Зубов, А. Программирование на Delphi. Трюки и эффекты / А. Зубов. - СПб: Питер, 2005.

4. Delphi 7. Наиболее полное руководство / А. Хомоненко, В. Гофман, Е. Мещеряков, В. Никифоров. - СПб: БХВ, 2008.

 

Приложение А.

(обязательное)

 

Листинг программы

 

1. Модуль Unit1. Pas

unit Unit1;

 

interface

 

uses

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

Dialogs, ExtCtrls, Buttons, Menus, ComCtrls;

 

type Desk=array [0..8,0..8] of integer;

 

type

TForm1 = class(TForm)

Area: TImage;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

StatusBar1: TStatusBar;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N11: TMenuItem;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

N7: TMenuItem;

procedure Init(m,w,r:boolean); //Инициализация, заполняем массивы нулями

procedure CreateSpheres(x,y,c:integer); //Создаем шарик с координатами x,y и цветом c

procedure NewSpheres(quantity:integer); //Создем шарики с случайными позициями

procedure ClickSpheres(Sender: TObject); //Щелчок на шарике

procedure Wave(x1,y1,x2,y2:integer); //Распространение волны

procedure Way(x1,y1,x2,y2:integer); //Нахождение пути от (x1, y1) до (x2, y2)

procedure Move(x1,y1,x2,y2:integer); //Движение шарика по найденному пути

procedure Pause(milliseconds:integer); //Пауза

procedure DestroySpheres(x,y,k,i,j:integer);//Удаление k шариков, где i, j вспомогательные координаты для направления

procedure Data(sc,nl:integer); //Очки

procedure DestroyLines; //Поиск линий

procedure Restart; //Новая игра

function EmptyPos(Pole:Desk):integer; //Количество пустых позиций (для проверки проигрыша)

function ExitMap(x,y:integer):boolean; //Выход за границы поля

function FindLine(x,y,i,j:integer):integer; //Поиск линии с координат x,y

function FindSphere(x,y:integer):TImage; //Поиск Image'a с координатами x,y

procedure FormCreate(Sender: TObject);

procedure AreaMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

procedure N6Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N7Click(Sender: TObject);

 

 

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

Road,WaveMap,Map:Desk;

clisp:boolean;

xsp,ysp:integer;

numlines,score:integer;

RoadFlag,DestroyFlag:boolean;

implementation

 

uses Unit2, Unit3;

 

{$R *.dfm}

 

procedure TForm1.Init(m,w,r:boolean);

var

x,y:integer;

begin

for y:=0 to 8 do begin

for x:=0 to 8 do begin

if m=true then Map[x,y]:=0;

if w=true then WaveMap[x,y]:=0;

if r=true then Road[x,y]:=0;

end;

end;

end;

 

procedure TForm1.CreateSpheres(x,y,c:integer);

begin

with TImage.Create(self) do begin

Autosize:=true; TransParent:=true;

Left:=x; Top:=y;

Picture.LoadFromFile('Bitmaps\'+inttostr(c)+'.bmp');

parent:=form1;

Onclick:=ClickSpheres;

end;

end;

 

procedure TForm1.NewSpheres(quantity:integer);

var

i,c,x,y:integer;

label Return;

begin

Randomize;

if EmptyPos(Map)>3 then begin

for i:=1 to Quantity do begin

Return:

x:=random(9);

y:=random(9);

c:=random(7)+1;

if Map[x,y]=0 then begin

Map[x,y]:=c;

CreateSpheres(x*30,y*30,c);

end else goto Return;

end;

end else begin

showmessage('Вы проиграли.');

Form3.Show;

Restart;

NewSpheres(3);

end;

end;

 

function TForm1.ExitMap(x,y:integer):boolean;

begin

ExitMap:=false;

if (x>=0) and (x<=8) and (y>=0) and (y<=8) then ExitMap:=true;

end;

 

procedure TForm1.Wave(x1,y1,x2,y2:integer);

var

x,y,k:integer;

flag:boolean;

begin

flag:=true;

for y:=0 to 8 do begin

for x:=0 to 8 do begin

if Map[x,y]>0 then WaveMap[x,y]:=-1 else WaveMap[x,y]:=0;

end;

end;

k:=1; WaveMap[x1,y1]:=k;

while flag do begin

flag:=false;

for y:=0 to 8 do begin

for x:=0 to 8 do begin

if WaveMap[x,y]=k then begin

if (WaveMap[x-1,y]=0) and (Exitmap(x-1,y)=true) then begin

WaveMap[x-1,y]:=k+1;

flag:=true;

end;

if (WaveMap[x+1,y]=0) and (Exitmap(x+1,y)=true) then begin

WaveMap[x+1,y]:=k+1;

flag:=true;

end;

if (WaveMap[x,y-1]=0) and (Exitmap(x,y-1)=true) then begin

WaveMap[x,y-1]:=k+1;

flag:=true;

end;

if (WaveMap[x,y+1]=0) and (Exitmap(x,y+1)=true) then begin

WaveMap[x,y+1]:=k+1;

flag:=true;

end;

end;

end;

end;

if WaveMap[x2,y2]>0 then flag:=false else k:=k+1;

end;

end;

 

procedure TForm1.Way(x1,y1,x2,y2:integer);

var

k:integer;

begin

k:=WaveMap[x2,y2];

Road[x2,y2]:=k-WaveMap[x1,y1]+1;

if (ExitMap(x2-1,y2)=true) and (WaveMap[x2-1,y2]=k-1) then Way(x1,y1,x2-1,y2) else

if (ExitMap(x2+1,y2)=true) and (WaveMap[x2+1,y2]=k-1) then Way(x1,y1,x2+1,y2) else

if (ExitMap(x2,y2-1)=true) and (WaveMap[x2,y2-1]=k-1) then Way(x1,y1,x2,y2-1) else

if (ExitMap(x2,y2+1)=true) and (WaveMap[x2,y2+1]=k-1) then Way(x1,y1,x2,y2+1);

end;

 

function TForm1.FindSphere(x,y:integer):TImage;

var

i:integer;

begin

for i:=0 to ComponentCount-1 do begin

if (Components[i] is TImage) and (Timage(Components[i]).Name<>'Area') and (Timage(Components[i]).Left=x) and (Timage(Components[i]).top=y) then begin

Result:=Timage(Components[i]);

exit;

end;

end;

end;

 

procedure TForm1.Move(x1,y1,x2,y2:integer);

var

Image:Timage;

x,y,i:integer;

begin

RoadFlag:=false;

init(false,true,true);

Image:=FindSphere(x1*30,y1*30);

Wave(x1,y1,x2,y2);

if WaveMap[x2,y2]>0 then begin

RoadFlag:=true;

Way(x1,y1,x2,y2);

x:=x1;

y:=y1;

repeat

Pause(50);

if Road[x-1,y]-Road[x,y]=1 then begin

x:=x-1;

end else

if Road[x+1,y]-Road[x,y]=1 then begin

x:=x+1;

end else

if Road[x,y-1]-Road[x,y]=1 then begin

y:=y-1;

end else

if Road[x,y+1]-Road[x,y]=1 then begin

y:=y+1;

end;

Image.Left:=x*30;

Image.Top:=y*30;

until (x=x2) and (y=y2);

Map[x2,y2]:=Map[x1,y1];

Map[x1,y1]:=0;

end;

end;

 

procedure TForm1.ClickSpheres(Sender: TObject);

begin

clisp:=true;

xsp:=(sender as TImage).Left div 30;

ysp:=(sender as TImage).top div 30;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

score:=0;

numlines:=0;

Init(true,true,true);

NewSpheres(3);

end;

 

procedure TForm1.Pause(milliseconds:integer);

begin

application.ProcessMessages;

sleep(milliseconds);

end;

 

procedure TForm1.DestroySpheres(x,y,k,i,j:integer);

var

n,dx,dy:integer;

image:TImage;

begin

n:=0; dx:=x; dy:=y;

while n<>k do begin

image:=FindSphere(dx*30,dy*30); image.Destroy;

application.ProcessMessages;

Map[dx,dy]:=0;

n:=n+1; dx:=dx+i; dy:=dy+j;

end;

Data(k,1);

DestroyFlag:=true;

end;

 

function TForm1.FindLine(x,y,i,j:integer):integer;

var

dx,dy,k:integer;

begin

dx:=x; dy:=y; k:=0;

while Map[x,y]=Map[dx,dy] do begin

if ExitMap(dx,dy)=true then begin

dx:=dx+i;

dy:=dy+j;

k:=k+1;

end else break;

end;

result:=k;

end;

 

procedure TForm1.DestroyLines;

var

x,y,k,i,j:integer;

begin

DestroyFlag:=false;

for y:=0 to 8 do begin

for x:=0 to 8 do begin

if Map[x,y]<>0 then begin

if FindLine(x,y,1,0)>3 then DestroySpheres(x,y,FindLine(x,y,1,0),1,0) else

if FindLine(x,y,1,1)>3 then DestroySpheres(x,y,FindLine(x,y,1,1),1,1)else

if FindLine(x,y,0,1)>3 then DestroySpheres(x,y,FindLine(x,y,0,1),0,1) else

if FindLine(x,y,-1,1)>3 then DestroySpheres(x,y,FindLine(x,y,-1,1),-1,1);

end;

end;

end;

end;

 

function TForm1.EmptyPos(Pole:Desk):integer;

var

x,y,e:integer;

begin

e:=0;

for y:=0 to 8 do begin

for x:=0 to 8 do begin

if Pole[x,y]=0 then e:=e+1;

end;

end;

result:=e;

end;

 

procedure TForm1.Data(sc,nl:integer);

begin

numlines:=numlines+nl;

score:=score+sc;

Statusbar1.Panels[0].Text:='Уничтожено линий: '+inttostr(numlines);

Statusbar1.Panels[1].Text:='Очки: '+inttostr(score);

end;

 

procedure TForm1.AreaMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

if clisp=true then begin

clisp:=false;

Move(xsp,ysp,x div 30,y div 30);

if RoadFlag=true then begin

Pause(100);

DestroyLines;

Pause(150);

if DestroyFlag=false then begin

NewSpheres(3);

DestroyLines;

end;

end;

RoadFlag:=false;

end;

 

end;

procedure TForm1.N6Click(Sender: TObject);

begin

form1.Close;

end;

 

procedure TForm1.Restart;

var

i:integer;

label Return;

begin

init(true,true,true);

score:=0;

numlines:=0;

Return:

for i:=0 to ComponentCount-1 do begin

if (Components[i] is TImage) and (Timage(Components[i]).Name<>'Area') then begin

Timage(Components[i]).Destroy;

goto Return;

end;

end;

Statusbar1.Panels[0].Text:='Уничтожено линий: 0';

Statusbar1.Panels[1].Text:='Очки: 0';

end;

 

procedure TForm1.N3Click(Sender: TObject);

begin

Restart;

NewSpheres(3);

end;

procedure TForm1.N4Click(Sender: TObject);

var

F:File;

begin

if SaveDialog1.Execute then begin

//if FileExists(SaveDialog1.FileName) then

// if Application.MessageBox('Такой файл уже существует. Перезаписать?','Вопрос',mb_YesNo) <> 6 then Exit;

AssignFile(f,SaveDialog1.FileName+'.sav');

{$I-} ReWrite(f,1); {$I+}

//ReWrite(f);

//WriteLn(F,);

end;

if IOResult <> 0 then begin

Application.MessageBox('Ошибка записи файла!','Ошибка',mb_ok);

Exit;

end;

end;

 

procedure TForm1.N5Click(Sender: TObject);

var

f:File;

s:string;

begin

 

S:=OpenDialog1.FileName;

AssignFile(f,s);

{$I-} Reset(f,1); {$I+}

if IOResult <> 0 then begin

Application.MessageBox('Ошибка чтения файла или файл отсутствует!','Ошибка',mb_ok);

Exit;

end;

end;

 

procedure TForm1.N11Click(Sender: TObject);

begin

showmessage('Автор программы: Буянов Алексей);

end;

procedure TForm1.N7Click(Sender: TObject);

begin

Form2.Show;

end;

 

end.

 

2.Модуль Unit2. Pas

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, jpeg, ExtCtrls;

type

TForm2 = class(TForm)

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form2: TForm2;

 

implementation

 

uses Unit1, Unit3;

 

{$R *.dfm}

 

procedure TForm2.Button1Click(Sender: TObject);

begin

close;

end;

 

procedure TForm2.Button2Click(Sender: TObject);

begin

 

if application.Messagebox ('Удалить рекорды?','information',mb_yesno)= id_yes then

begin

Label1.Caption:='---';

Label2.Caption:='---';

Label3.Caption:='---';

Label4.Caption:='---';

Label5.Caption:='---';

Label6.Caption:='---';

end;

end;

end.

3.Модуль Unit3. Pas

unit Unit3;

 

interface

 

uses

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

Dialogs, StdCtrls;

 

type

TForm3 = class(TForm)

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form3: TForm3;

 

implementation

 

uses Unit1, Unit2;

 

{$R *.dfm}

 

procedure TForm3.Button1Click(Sender: TObject);

begin

if strtoint(Form2.Label4.caption)> score then

begin

Form2.label5.Caption:=inttostr(score);

Form2.Label2.Caption:=Edit1.text;

end;

if strtoint (Form2.Label5.Caption)>score then

begin Form2.Label6.Caption:=inttostr(score);

Form2.Label3.Caption:=Form3.Edit1.Text;

end;

Form2.Label1.Caption:=Form3.Edit1.Text;

Form2.Label4.Caption:=inttostr(score);

 

close;

 

end;

 

procedure TForm3.Button2Click(Sender: TObject);

begin

close;

end;

 

end.

 

 

 
 


Приложение Б

(обязательное)

Снимки окон программы

 

 

Рисунок Б1. – Главное окно программы.

 

 

 

 

Рисунок Б2 – Окно формы «Выход»

 

Рисунок Б3. – Окно формы «Справка».

 

 

Рисунок Б4. – Окно формы «Таблица рекордов» .

 

 



<== предыдущая лекция | следующая лекция ==>
Определение операционных допусков и припусков на обработку | Особенности подросткового возраста. Степень изученности проблемы
Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 506 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2489 - | 2332 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.014 с.