Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Вопросы начинающих программистов
Перезагрузить страницу Программирование на Дельфи
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Анастасия1987 Анастасия1987 вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.07.2013
По умолчанию Программирование на Дельфи - 02.07.2013, 16:05

Добрый день!!! Подскажите пожалуйста, я пишу курсовую, у меня уже есть готовый код, я его вставляю в программу у меня выдает ошибку кто понимает подскажите пожалуйста в чем может быть проблема,:
unit UMain;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg;

type
TMainForm = class(TForm)
Block1: TImage;
Car: TImage;
Block2: TImage;
Block3: TImage;
Block9: TImage;
Block10: TImage;
Block7: TImage;
Block8: TImage;
Block6: TImage;
Block4: TImage;
Block5: TImage;
Timer1: TTimer;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Label2: TLabel;
Timer2: TTimer;
Timer3: TTimer;
Bevel1: TBevel;
Bevel2: TBevel;
Bevel3: TBevel;
Image1: TImage;
Timer4: TTimer;
Timer5: TTimer;
Timer6: TTimer;
Timer7: TTimer;
Timer8: TTimer;
Timer9: TTimer;
Timer10: TTimer;
Button3: TButton;
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Timer3Timer(Sender: TObject);
procedure Timer4Timer(Sender: TObject);
procedure Timer5Timer(Sender: TObject);
procedure Timer6Timer(Sender: TObject);
procedure Timer7Timer(Sender: TObject);
procedure Timer8Timer(Sender: TObject);
procedure Timer9Timer(Sender: TObject);
procedure Timer10Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
privte
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
//Мои переменные
Bonus:integer; //Очки игрока
implementation

{$R *.dfm}

//Если случилась авария
procedure GameOver;
begin
MainForm.Timer1.Enabled:=false;
MainForm.Timer2.Enabled:=false;
MainForm.Timer3.Enabled:=false;
MainForm.Timer4.Enabled:=false;
MainForm.Timer5.Enabled:=false;
MainForm.Timer6.Enabled:=false;
MainForm.Timer7.Enabled:=false;
MainForm.Timer8.Enabled:=false;
MainForm.Timer9.Enabled:=false;
MainForm.Timer10.Enabled:=false;

ShowMessage('Вы врезались');
end;

procedure TMainForm.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
//Управление машиной кнопками мышки
If (Button=mbLeft) and (Car.Left>10) then
Car.Left:=Car.Left-(Car.Width div 2);

If (Button=mbRight) and (Car.Left<(450-Car.Width)) then
Car.Left:=Car.Left+(Car.Width div 2);

end;

procedure TMainForm.Timer1Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block1.Top:=Block1.Top+(Block1.Height div 2);

//Проверяем не произошла ли авария
if (Block1.Top+Block1.Height)>(Car.Top) then
if (Block1.Left+1<=Car.Left) and (Car.Left<=(Block1.Left+Block1.Width-1))
then GameOver;
if (Block1.Top+Block1.Height)>(Car.Top) then
if (Block1.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block1.Left+Block1.Width-1))
then GameOver;

//Дошло ли препятствие до нижней границы
If Block1.Top+Block1.Height>=(MainForm.ClientHeight) then
begin
Bonus:=Bonus+10;
Block1.Hide;
Block1.Top:=1;
//препятствие не должно вылазить за левую границу
repeat
Block1.Left:=Random(450-Car.Width);
until (Block1.Left>10);
Block1.Show;
end;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
Randomize;
end;
procedure TMainForm.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;
procedure TMainForm.Button1Click(Sender: TObject);
begin
//Располагаем препятсвия
Block1.Left:=128;
Block1.Top:=288;
Block2.Left:=384;
Block2.Top:=216;
Block3.Left:=32;
Block3.Top:=8;
Block4.Left:=205;
Block4.Top:=32;
Block5.Left:=400;
Block5.Top:=8;
Block6.Left:=312;
Block6.Top:=112;
Block7.Left:=104;
Block7.Top:=120;
Block8.Left:=208;
Block8.Top:=176;
Block9.Left:=312;
Block9.Top:=280;
Block10.Left:=32;
Block10.Top:=240;
Car.Left:=216;
Car.Top:=416;
Bonus:=0;
Label1.Caption:='0';

//Показываем препятствия
Block1.Show;
Block2.Show;
Block3.Show;
Block4.Show;
Block5.Show;
Block6.Show;
Block7.Show;
Block8.Show;
Block9.Show;
Block10.Show;
Car.Show;
Ответить с цитированием
  (#2 (permalink)) Старый
Анастасия1987 Анастасия1987 вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.07.2013
По умолчанию 02.07.2013, 16:22

//Включаем все таймеры;
Timer1.Enabled:=true;
Timer2.Enabled:=true;
Timer3.Enabled:=true;
Timer4.Enabled:=true;
Timer5.Enabled:=true;
Timer6.Enabled:=true;
Timer7.Enabled:=true;
Timer8.Enabled:=true;
Timer9.Enabled:=true;
Timer10.Enabled:=true;
end;

procedure TMainForm.Timer2Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block2.Top:=Block2.Top+(Block2.Height div 2);

//Проверяем не произошла ли авария
if (Block2.Top+Block2.Height)>(Car.Top) then
if (Block2.Left+1<=Car.Left) and (Car.Left<=(Block2.Left+Block2.Width-1))
then GameOver;


if (Block2.Top+Block2.Height)>(Car.Top) then
if (Block2.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block2.Left+Block2.Width-1))
then GameOver;


//Дошло ли препятствие до нижней границы
If Block2.Top+Block2.Height>=(MainForm.ClientHeight) then
begin
Bonus:=Bonus+10;
Block2.Hide;
Block2.Top:=1;

//препятствие не должно вылазить за левую границу
repeat
Block2.Left:=Random(450-Car.Width);
until (Block2.Left>10);
Block2.Show;
end;
end;

procedure TMainForm.Timer3Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block3.Top:=Block3.Top+(Block3.Height div 2);

//Проверяем не произошла ли авария
if (Block3.Top+Block3.Height)>(Car.Top) then
if (Block3.Left+1<=Car.Left) and (Car.Left<=(Block3.Left+Block3.Width-1))
then GameOver;


if (Block3.Top+Block3.Height)>(Car.Top) then
if (Block3.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block3.Left+Block3.Width-1))
then GameOver;


//Дошло ли препятствие до нижней границы
If Block3.Top+Block3.Height>=(MainForm.ClientHeight) then
begin
Bonus:=Bonus+10;
Block3.Hide;
Block3.Top:=1;

//препятствие не должно вылазить за левую границу
repeat
Block3.Left:=Random(450-Car.Width);
until (Block3.Left>10);
Block3.Show;
end;
end;

procedure TMainForm.Timer4Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block4.Top:=Block4.Top+(Block4.Height div 2);

//Проверяем не произошла ли авария
if (Block4.Top+Block4.Height)>(Car.Top) then
if (Block4.Left+1<=Car.Left) and (Car.Left<=(Block4.Left+Block4.Width-1))
then GameOver;


if (Block4.Top+Block4.Height)>(Car.Top) then
if (Block4.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block4.Left+Block4.Width-1))
then GameOver;


//Дошло ли препятствие до нижней границы
If Block4.Top+Block4.Height>=(MainForm.ClientHeight) then
begin
Bonus:=Bonus+10;
Block4.Hide;
Block4.Top:=1;

//препятствие не должно вылазить за левую границу
repeat
Block4.Left:=Random(450-Car.Width);
until (Block4.Left>10);
Block4.Show;
end;


end;

procedure TMainForm.Timer5Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block5.Top:=Block5.Top+(Block5.Height div 2);

//Проверяем не произошла ли авария
if (Block5.Top+Block5.Height)>(Car.Top) then
if (Block5.Left+1<=Car.Left) and (Car.Left<=(Block5.Left+Block5.Width-1))
then GameOver;


if (Block5.Top+Block5.Height)>(Car.Top) then
if (Block5.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block5.Left+Block5.Width-1))
then GameOver;


//Дошло ли препятствие до нижней границы
If Block5.Top+Block5.Height>=(MainForm.ClientHeight) then
begin
Bonus:=Bonus+10;
Block5.Hide;
Block5.Top:=1;

//препятствие не должно вылазить за левую границу
repeat
Block5.Left:=Random(450-Car.Width);
until (Block5.Left>10);
Block5.Show;
end;


end;

procedure TMainForm.Timer6Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block6.Top:=Block6.Top+(Block6.Height div 2);

//Проверяем не произошла ли авария
if (Block6.Top+Block6.Height)>(Car.Top) then
if (Block6.Left+1<=Car.Left) and (Car.Left<=(Block6.Left+Block6.Width-1))
then GameOver;


if (Block6.Top+Block6.Height)>(Car.Top) then
if (Block6.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block6.Left+Block6.Width-1))
then GameOver;


//Дошло ли препятствие до нижней границы
If Block6.Top+Block6.Height>=(MainForm.ClientHeight) then
begin
Bonus:=Bonus+10;
Block6.Hide;
Block6.Top:=1;

//препятствие не должно вылазить за левую границу
repeat
Block6.Left:=Random(450-Car.Width);
until (Block6.Left>10);
Block6.Show;
end;


end;

procedure TMainForm.Timer7Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block7.Top:=Block7.Top+(Block7.Height div 2);

//Проверяем не произошла ли авария
if (Block7.Top+Block7.Height)>(Car.Top) then
if (Block7.Left+1<=Car.Left) and (Car.Left<=(Block7.Left+Block7.Width-1))
then GameOver;


if (Block7.Top+Block7.Height)>(Car.Top) then
if (Block7.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block7.Left+Block7.Width-1))
then GameOver;


//Дошло ли препятствие до нижней границы
If Block7.Top+Block7.Height>=(MainForm.ClientHeight) then
begin
Bonus:=Bonus+10;
Block7.Hide;
Block7.Top:=1;

//препятствие не должно вылазить за левую границу
repeat
Block7.Left:=Random(450-Car.Width);
until (Block7.Left>10);
Block7.Show;
end;


end;

procedure TMainForm.Timer8Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block8.Top:=Block8.Top+(Block8.Height div 2);

//Проверяем не произошла ли авария
if (Block8.Top+Block8.Height)>(Car.Top) then
if (Block8.Left+1<=Car.Left) and (Car.Left<=(Block8.Left+Block8.Width-1))
then GameOver;


if (Block8.Top+Block8.Height)>(Car.Top) then
if (Block8.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block8.Left+Block8.Width-1))
then GameOver;


//Дошло ли препятствие до нижней границы
If Block8.Top+Block8.Height>=(MainForm.ClientHeight) then
begin
Bonus:=Bonus+10;
Block8.Hide;
Block8.Top:=1;

//препятствие не должно вылазить за левую границу
repeat
Block8.Left:=Random(450-Car.Width);
until (Block8.Left>10);
Block8.Show;
end;


end;

procedure TMainForm.Timer9Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block9.Top:=Block9.Top+(Block9.Height div 2);

//Проверяем не произошла ли авария
if (Block9.Top+Block9.Height)>(Car.Top) then
if (Block9.Left+1<=Car.Left) and (Car.Left<=(Block9.Left+Block9.Width-1))
then GameOver;


if (Block9.Top+Block9.Height)>(Car.Top) then
if (Block9.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block9.Left+Block9.Width-1))
then GameOver;


//Дошло ли препятствие до нижней границы
If Block9.Top+Block9.Height>=(MainForm.ClientHeight) then
begin
Bonus:=Bonus+10;
Block9.Hide;
Block9.Top:=1;

//препятствие не должно вылазить за левую границу
repeat
Block9.Left:=Random(450-Car.Width);
until (Block9.Left>10);
Block9.Show;
end;


end;

procedure TMainForm.Timer10Timer(Sender: TObject);
begin
//Отображаем очки игрока
Label1.Caption:=IntToStr(Bonus);

//Задаем движение препятствия1
Block10.Top:=Block10.Top+(Block10.Height div 2);

//Проверяем не произошла ли авария
if (Block10.Top+Block10.Height)>(Car.Top) then
if (Block10.Left+1<=Car.Left) and (Car.Left<=(Block10.Left+Block10.Width-1))
then GameOver;


if (Block10.Top+Block10.Height)>(Car.Top) then
if (Block10.Left+1<=(Car.Left+Car.Width)) and ((Car.Left+Car.Width)<=(Block10.Left+Block10.Width-1))
then GameOver;


//Дошло ли препятствие до нижней границы
If Block10.Top+Block10.Height>=(MainForm.ClientHeight ) then
begin
Bonus:=Bonus+10;
Block10.Hide;
Block10.Top:=1;

//препятствие не должно вылазить за левую границу
repeat
Block10.Left:=Random(450-Car.Width);
until (Block10.Left>10);
Block10.Show;
end;


end;

procedure TMainForm.Button3Click(Sender: TObject);
begin
//Выключаем все таймеры;
if Button3.Caption='Пауза' then
begin
Timer1.Enabled:=false;
Timer2.Enabled:=false;
Timer3.Enabled:=false;
Timer4.Enabled:=false;
Timer5.Enabled:=false;
Timer6.Enabled:=false;
Timer7.Enabled:=false;
Timer8.Enabled:=false;
Timer9.Enabled:=false;
Timer10.Enabled:=false;
Button3.Caption:='Вперед';
exit
end;

//Включаем все таймеры
if Button3.Caption='Вперед' then
begin
Timer1.Enabled:=true;
Timer2.Enabled:=true;
Timer3.Enabled:=true;
Timer4.Enabled:=true;
Timer5.Enabled:=true;
Timer6.Enabled:=true;
Timer7.Enabled:=true;
Timer8.Enabled:=true;
Timer9.Enabled:=true;
Timer10.Enabled:=true;
Button3.Caption:='Пауза';
end;
end;

end.
Вложения
Тип файла: docx Документ Microsoft Office Word (2).docx (19.0 Кб, 117 просмотров)
Ответить с цитированием
  (#3 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,470
Сказал(а) спасибо: 22
Поблагодарили 944 раз(а) в 928 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 02.07.2013, 17:17

Какую ошибку выдаёт?
Этот код без файла формы мало что значит.
Ответить с цитированием
  (#4 (permalink)) Старый
Анастасия1987 Анастасия1987 вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.07.2013
По умолчанию 02.07.2013, 22:07

Начинает выдавать ошибку со слов процедура, в коде программа обводит красным, а когда я нажимаю т9 , пишет что не корректно написан класс tform1
Ответить с цитированием
  (#5 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,470
Сказал(а) спасибо: 22
Поблагодарили 944 раз(а) в 928 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 02.07.2013, 22:13

Это паскалевский файл класса формы. А *.dfm файл к нему прилагался?
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Анастасия1987 Анастасия1987 вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.07.2013
По умолчанию 02.07.2013, 22:27

да есть, а как мне отправить его ?
Ответить с цитированием
  (#7 (permalink)) Старый
Анастасия1987 Анастасия1987 вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.07.2013
По умолчанию 02.07.2013, 22:39

попробую так
Вложения
Тип файла: docx файл формы.docx (37.7 Кб, 270 просмотров)
Ответить с цитированием
  (#8 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,470
Сказал(а) спасибо: 22
Поблагодарили 944 раз(а) в 928 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 03.07.2013, 18:39

Создайте новый проект с нуля, в нём класс главной формы переименуйте в TMainForm, имя экземпляра класса MainForm, имя файла UMain.
Потом тексты формы и класса замените на эти.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть код программы (на дельфи), нужно составить по нему блок схему as_sati Delphi 0 01.03.2013 08:34
Помогите с задачкой в дельфи 7 Bershtein Любые вопросы от новичков 0 15.05.2012 20:42
Программирование на СИ Irina1 Любые вопросы от новичков 0 28.11.2011 00:13
Программирование на Дельфи chigivaro78 Pascal 0 23.03.2011 23:09
Программирование PIC на С++ DurovAV Микроконтроллеры 1 28.12.2010 21:39
Это очень важно по Дельфи. Jaksi Delphi 1 13.10.2010 16:02
помогите в дельфи первый раз Ваня1992 Delphi 5 09.10.2010 17:38
DBchart в дельфи JumaHan Pascal 0 23.05.2008 11:29
Программирование для COM Ardling Железо. Написание драйверов 1 20.03.2008 12:10
асемблерные вставки в дельфи question Pascal 4 31.12.2006 09:15
Программирование для DOC Pakhom Железо. Написание драйверов 3 30.07.2005 03:45
Люди!Помогите перевести текст с Дельфи на С++ uran238 C++ Builder 1 14.07.2004 12:40



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов