Аватар для batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1
1

С чем это может быть связано, а то я таких ошибок не знаю. :)

02.07.2012, 19:01. Показов 1023. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls;
 
type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Button1: TButton;
    Timer1: TTimer;
    Label1: TLabel;
    Label2: TLabel;
    Timer2: TTimer;
    Label3: TLabel;
    Timer3: TTimer;
    Timer4: TTimer;
    Button2: TButton;
    Label5: TLabel;
    Button3: TButton;
    Button4: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure enemykill(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);
    procedure Timer4Timer(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure screenshot;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
 
  end;
 
var
  Form1: TForm1;
  enemy:TImage;
  rname: String;
  time,enemies,enemies1,level,level1,bonustime:Integer;
  completed:Boolean;
 
implementation
 
uses Unit2;
 
 
{$R *.dfm}
 
function randomname:string;
var
  S:String;
  i,iloop:integer;
begin
  Result:='';
  S:='QWERTYUIOPASDFGHJKLZXCVBNM123456789qwertyuasdfghjklzxcvbnm';
  for i:=0 to 12 do
  begin
    Randomize;
    iloop:=Random(length(s));
    Result:=Result+S[ILOOP];
  end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  Image2.Picture.LoadFromFile('data/blood.jpg');
  Image1.Picture.LoadFromFile('data/space.jpg');
  completed:=false;
  rname:=randomname();
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  enemy:=TImage.Create(self);
  enemy.Parent:=self;
  enemy.AutoSize:=false;
  enemy.Width:=48;
  enemy.Height:=48;
  enemy.Stretch:=true;
  enemy.Proportional:=true;
  enemy.Top:=Random(Image1.Height-enemy.Height)-1;
  enemy.Left:=Random(Image1.Width-enemy.Width)-1;
  if enemy.Top < 40 then
    enemy.Top:=40;
  if enemy.Left < 40 then
    enemy.Left:=40;
  enemy.Picture.LoadFromFile('data/enemy.ico');
  enemy.OnClick:=enemykill;
  level:=1;
  level1:=1;
  enemies:=10;
  enemies1:=10;
  time:=60;
  bonustime:=30;
  Timer1.Enabled:=true;
  Timer2.Enabled:=true;
  Timer3.Enabled:=true;
  Timer4.Enabled:=true;
  Button1.Enabled:=false;
  Button4.Enabled:=true;
end;
 
procedure TForm1.enemykill(Sender: TObject);
begin
  enemies:=enemies-1;
  enemy.Top:=Random(Image1.Height-enemy.Height)-1;
  enemy.Left:=Random(Image1.Width-enemy.Width)-1;
  if enemy.Top < 40 then
    enemy.Top:=40;
  if enemy.Left < 40 then
    enemy.Left:=40;
end;
 
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label3.Caption:='Óðîâåíü: '+inttostr(level);
  Label1.Caption:='Âðåìÿ: '+inttostr(time-1);
  time:=time-1;
end;
 
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  Label2.Caption:='Âðàãè: '+inttostr(enemies);
end;
 
procedure TForm1.Timer3Timer(Sender: TObject);
begin
 if (enemies=0) and (time>0) then
   completed:=true;
 if (time=0) and (enemies>1) then
   begin;
   screenshot();
   enemy.Free;
   Timer1.Enabled:=false;
   Timer2.Enabled:=false;
   Timer3.Enabled:=false;
   Timer4.Enabled:=false;
   Button1.Enabled:=true;
   completed:=false;
   showmessage(' Âû, ê ñîæàëåíèþ ïðîèãðàëè.'+#13#10+' Ñäåëàí ñêðèíøîò ðåçóëüòàòà èãðû, îí ëåæèò â ïàïêå screenshots ðÿäîì ñ èãðîé.');
   end;
 if completed=true then
   begin
   time:=time+30;
   enemies:=enemies1+10;
   enemies1:=enemies1+10;
   level:=level1+1;
   level1:=level1+1;
   completed:=false;
   end;
end;
 
 
procedure TForm1.Timer4Timer(Sender: TObject);
begin
Label5.Caption:='Áîíóñ: '+inttostr(bonustime-1);
bonustime:=bonustime-1;
if bonustime=0 then
  begin
  time:=time+5;
  bonustime:=30;
  end;
end;
 
procedure TForm1.screenshot;
var
  JpegIm: TJpegImage;
  bm: TBitMap;
begin
  bm := TBitMap.Create;
  bm.Width := Screen.Width;
  bm.Height := Screen.Height;
  BitBlt(bm.Canvas.Handle, 0, 0,
      bm.Width, bm.Height,
      GetDC(0), 0, 0, SRCCOPY);
  JpegIm := TJpegImage.Create;
  JpegIm.Assign(bm);
  JpegIm.CompressionQuality := 100;
  JpegIm.Compress;
  JpegIm.SaveToFile('screenshots\screenshot'+rname+'.jpg');
  bm.Destroy;
  JpegIm.Destroy;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
screenshot();
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
  showmessage('Àâòîð èãðû - mokAh');
end;
 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  enemy.free;
  screenshot();
end;
 
 
procedure TForm1.Button4Click(Sender: TObject);
begin
  enemy.free;
  Timer1.Enabled:=false;
  Timer2.Enabled:=false;
  Timer3.Enabled:=false;
  Timer4.Enabled:=false;
  Button4.Enabled:=false;
  Button1.Enabled:=true;
end;
 
end.
Миниатюры
С чем это может быть связано, а то я таких ошибок не знаю. :)  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.07.2012, 19:01
Ответы с готовыми решениями:

Выключается компьютер каждые полчаса. С чем это может быть связано?
Выключается компьютер каждые полчаса. С чем это может быть связано?

Что не так с тенями и как это лечить? ( без понятия с чем может быть связано)
Проблема на картинке. Вопрос и статус в шапке. Единственная догадка, возможно связано с...

с чем может быть связано??
у меня нетбук Fujitsu siemens в последнее время стал очень гудеть и сильно нагреваться ещё...

Компрессор Атлант СК-140, С чем может быть связано?
Доброго всем времени суток,подскажите пожалуйста с чем может быть связана непонятная работа...

7
 Аватар для igoriy
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
02.07.2012, 19:09 2
Цитата Сообщение от batmanrider Посмотреть сообщение
time
не может быть переменной, для начала
0
 Аватар для batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1
02.07.2012, 19:45  [ТС] 3
Цитата Сообщение от igoriy Посмотреть сообщение
не может быть переменной, для начала
изменил, но указывает на end. Oo
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program Project1;
 
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};
 
{$R *.res}
 
begin
  Application.Initialize;
  Application.Title := 'Space killer';
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end. // вот на это кидает при нажатии ок
0
 Аватар для БогДелфей
474 / 337 / 36
Регистрация: 31.05.2011
Сообщений: 1,162
02.07.2012, 19:49 4
на Unit1 жми F8 много раз и смотри после какой строки вылетит ошибка
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33028 / 21328 / 8190
Регистрация: 22.10.2011
Сообщений: 36,638
Записей в блоге: 9
02.07.2012, 19:54 5
Цитата Сообщение от igoriy Посмотреть сообщение
не может быть переменной, для начала
Это еще почему? Нет такого запрета. Я тебе даже больше скажу: мало того, что Time может быть переменной, так еще и в одной и той же подпрограмме можно использовать и переменную Time, и функцию Time, достаточно перед функцией добавить название модуля, в котором она описана. Так что это не причина.

Цитата Сообщение от batmanrider Посмотреть сообщение
изменил, но указывает на end. Oo
Может, было бы проще проект присоединить, чтоб нам опять не пересоздавать твою форму?
1
 Аватар для igoriy
873 / 544 / 117
Регистрация: 24.11.2009
Сообщений: 1,329
02.07.2012, 20:39 6
Цитата Сообщение от UI Посмотреть сообщение
Это еще почему? Нет такого запрета. Я тебе даже больше скажу: мало того, что Time может быть переменной, так еще и в одной и той же подпрограмме можно использовать и переменную Time, и функцию Time, достаточно перед функцией добавить название модуля, в котором она описана. Так что это не причина.
в языке в качестве переменных не разрешается использовать служебные слова;
Справочник - языка Паскаль
Уж так там написано. Может я и не прав, но разве мало слов для переменных

Добавлено через 18 минут
Цитата Сообщение от UI Посмотреть сообщение
Может, было бы проще проект присоединить, чтоб нам опять не пересоздавать твою форму?
А вот это правильно сказано- исходник в студию
1
 Аватар для batmanrider
21 / 22 / 2
Регистрация: 20.09.2011
Сообщений: 196
Записей в блоге: 1
02.07.2012, 21:22  [ТС] 7
вот исходник
Вложения
Тип файла: rar space killer.rar (3.17 Мб, 6 просмотров)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33028 / 21328 / 8190
Регистрация: 22.10.2011
Сообщений: 36,638
Записей в блоге: 9
02.07.2012, 22:18 8
Delphi
1
2
3
4
5
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  // enemy.free; // Этого делать не надо
  screenshot();
end;
, когда ты создавал enemy, что написал?

Delphi
1
  enemy:=TImage.Create(self);
, то есть, Owner-ом изображения назначил форму. Всё, удалением объекта занимается его Owner. А ты пытаешься второй раз освободить уже освобожденную память и нарываешься на ошибку.
1
02.07.2012, 22:18
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.07.2012, 22:18
Помогаю со студенческими работами здесь

Declaration syntax error с чем может быть связано?
#include &lt;iostream&gt; #include &lt;string.h&gt; Unicodestring port(Unicodestring b) { int i =...

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

Скорость отдачи в 14 раз больше скорости приёма. С чем может быть связано?
В общем я уезжал на денёк, вернулся встроенная сетевая карта не хочет видить кабель(хотя до этого...

Я не знаю, что это может быть
Всем добрый день, у меня возникла проблема. Каждый раз, когда я поисковике вбиваю букву...в этот же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Чем отличаются HashMap и Hashtable в Java
hw_wired 24.01.2025
В мире разработки на Java существует множество инструментов для работы с коллекциями данных, и среди них особое место занимают структуры данных для хранения пар ключ-значение. HashMap и Hashtable. . .
Как конвертировать видео в GIF
hw_wired 24.01.2025
В современном мире анимированные изображения стали неотъемлемой частью цифровой коммуникации. Формат GIF (Graphics Interchange Format) представляет собой особый тип файлов, который позволяет. . .
Как скопировать текст в буфер обмена на JavaScript во всех браузерах
hw_wired 24.01.2025
Копирование текста в буфер обмена стало неотъемлемой частью современных веб-приложений, значительно улучшающей пользовательский опыт и упрощающей работу с контентом. В эпоху активного обмена. . .
Как скрыть клавиатуру на Android
hw_wired 24.01.2025
При разработке Android-приложений часто возникает необходимость управлять видимостью экранной клавиатуры для улучшения пользовательского опыта. Одним из наиболее эффективных способов контроля. . .
Как обучить нейросеть создания картинок на Python
bytestream 24.01.2025
В эпоху цифровых технологий искусственный интеллект становится неотъемлемой частью творческого процесса. Особое место в этой области занимает разработка и обучение нейронных сетей для создания. . .
Как обучить нейросеть генерации текста на Python
bytestream 24.01.2025
В современном мире искусственный интеллект и машинное обучение становятся неотъемлемой частью многих технологических решений. Одной из наиболее интересных и востребованных задач в этой области. . .
Машинное обучение на Python
bytestream 24.01.2025
Введение в машинное обучение на Python Машинное обучение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, которая позволяет компьютерным системам. . .
Как удалить вирус-майнер с компьютера
hw_wired 24.01.2025
Вирусы-майнеры стали одной из наиболее серьезных угроз для пользователей компьютеров. Эти вредоносные программы тайно используют вычислительные ресурсы зараженного устройства для добычи криптовалюты. . .
Что такое веб-сервер, для чего он нужен и как работает
bytestream 24.01.2025
В современную эпоху цифровых технологий веб-сервер является фундаментальным компонентом интернет-инфраструктуры, обеспечивающим функционирование множества онлайн-сервисов и веб-сайтов. Этот. . .
Как в цикле for перебрать все элементы в словаре в Python
bytestream 24.01.2025
Словари в Python представляют собой мощные структуры данных, которые позволяют хранить информацию в формате ключ-значение. Эта особенность делает их незаменимыми при работе с данными, где требуется. . .
Как отменить rebase в Git
hw_wired 24.01.2025
Git rebase представляет собой мощный инструмент для управления историей коммитов в системе контроля версий Git. Этот механизм позволяет разработчикам изменять последовательность, комбинировать или. . .
Как поменять цвет input placeholder с помощью CSS
bytestream 24.01.2025
В веб-разработке оформление элементов пользовательского интерфейса играет ключевую роль в создании привлекательного и интуитивно понятного дизайна. Особое внимание уделяется формам ввода данных, где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru