Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 3

Ошибка времени выполнения: Поток не выполняется; его нельзя приостановить

28.05.2013, 12:30. Показов 1592. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, программированием на Pascal ABC NET занялся совсем не давно и столкнулся с проблемой, решение которой я не нашёл в интернете, Ошибка времени выполнения: Поток не выполняется; его нельзя приостановить.. Выручите пожалуйста.
Pascal
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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
uses graphabc,Events,ABCObjects,abcbuttons,Timers,System.Threading,System;
var a,b,c,d,h,n,m,v,r,o,p1:buttonabc;
var s,q,xq,xw,xe,xr,xt,xy,xu,xi,xo,xx,xa,xs,xd,xxv,x1,x2,n1,n2,n3,n4,n5,y : integer;
    s1,e,i: string; 
var p:=Picture.Create('ball1.bmp');
var sound:system.Media.SoundPlayer;
var min:integer:=0; 
var sec:integer:=5;
 
procedure gg;
begin
p.Draw(0,0);
setfontsize(25);
setbrushstyle(bsSolid);
textout(150, 50, 'ВЫ ДАЛИ ПРАВИЛЬНЫЙ ОТВЕТ');
setfontsize(15);
textout(240, 115, 'В данный момент у вас '+IntToStr(q)+' очков');
end;
 
procedure bad;
begin
a.Destroy;b.Destroy;c.Destroy;
p.Draw(0,0);
sound.Stop;
s:=s-1;
x2:=x2+1;
setfontsize(25);
setbrushstyle(bsSolid);
textout(130, 50, 'К сожалению это неверный ответ(');
setfontsize(15);
textout(255, 90, 'У вас осталось '+IntToStr(s)+' попывток');
textout(240, 115, 'В данный момент у вас '+IntToStr(q)+' очков');
if s=0 then begin end;
end;
 
procedure SI;
begin
p.Draw(0,0);
setfontsize(25);
setbrushstyle(bsSolid);
textout(130, 50, 'Супер игра');
textout(10, 80, 'Введите за сколько секунд вы отгадаете мелодию');
textout(10, 110, 'Введённое время должно быть в диапазоне от 3-7 секунд');
readln(n1);
if ((n1<2) or (n1>8)) then textout(130, 50, 'вы вели число вне диапазона')
else 
  begin 
    n2:=n1*1000; 
    sound:= new system.Media.SoundPlayer;
    sound.SoundLocation:='1.wav';
    sound.Play;
    sleep(n2);
    sound.Stop;
  end;
readln(e);
if e='Белые розы' then begin gg; end;
end;
 
procedure threadproc2();
begin
y:=3; 
if n4=3 then begin
while 1<2 do
  begin
    sleep(1000);
  Font.color:=clLimeGreen;
  Font.Size := 40;
  var t2:=DateTime.Now;
  var Time2:=t2.second;
  while n3<>3 do
  begin
    t2 := DateTime.Now;
    setBrushColor(clRed);
    if (Time2<>t2.Second) then begin
    Time2:=t2.Second;
    sec:=sec-1; end;
    if sec=0 then begin n3:=3; bad; exit end;
    if n5=3 then begin exit end;
    var s := string.Format('{0:d2}:{1:d2}',Min,Sec);
    TextOut(300,0,s);
    Sleep(1000);
    end;
    end;
  end;
end;
 
procedure threadproc1();
begin
y:=2;
if n4=2 then begin
while 1<2 do
    begin
    sleep(1000);
  Font.color:=clLimeGreen;
  Font.Size := 40;
  var t:=DateTime.Now;
  var Time:=t.second;
  while n3<>2 do
  begin
    t := DateTime.Now;
    setBrushColor(clRed);
    if (Time<>t.Second) then begin
    Time:=t.Second;
    sec:=sec-1; end;
    if sec=0 then begin n3:=2; bad; exit end;
    if n5=2 then begin exit end;
    var s := string.Format('{0:d2}:{1:d2}',Min,Sec);
    TextOut(300,0,s);
    Sleep(1000);
    end;
    end;
  end;
end;
 
procedure threadproc();
begin
y:=1;
if n4=1 then begin
while 1<2 do
    begin
    sleep(1000);
  Font.color:=clLimeGreen;
  Font.Size := 40;
  var t1:=DateTime.Now;
  var Time1:=t1.second;
  while n3<>1 do
  begin
    t1 := DateTime.Now;
    setBrushColor(clRed);
    if (Time1<>t1.Second) then begin
    Time1:=t1.Second;
    sec:=sec-1; end;
    if sec=0 then begin n3:=1; bad; exit end;
    if n5=1 then begin exit end;
    var s := string.Format('{0:d2}:{1:d2}',Min,Sec);
    TextOut(300,0,s);
    Sleep(1000);
    end;
    end;
  end;
end;
 
procedure good3;
begin
case y of 
1: n5:=1;
2: n5:=2;
3: n5:=3;
end;
sound.Stop;
p.Draw(0,0);
setfontsize(25);
setbrushstyle(bsSolid);
textout(150, 50, 'ВЫ ДАЛИ ПРАВИЛЬНЫЙ ОТВЕТ');
setfontsize(15);
textout(255, 90, 'У вас осталось '+IntToStr(s)+' попыток');
textout(240, 115, 'В данный момент у вас '+IntToStr(q)+' очков');
x1:=x1+1;
q:=q+100;
end;
 
procedure ac1;
var th2 := new Thread(threadproc2);
begin
sec:=5;
n4:=3;
p.Draw(0,0);
o.Destroy;b.Destroy;c.Destroy;
setfontsize(25);
setbrushstyle(bsSolid);
textout(300, 50, 'Что эта за песня?');
sound:= new system.Media.SoundPlayer;
sound.SoundLocation:='1.wav';
sound.Play;
sleep(1000);
sound.Stop;
th2.Start;
setfontsize(15);
textout(135, 105, 'Что бы закончить прослушивание песни нажмите ПРОБЕЛ');
a:= buttonabc.Create(310, 400, 170, 100, 'Настюша', clred);
b:= buttonabc.Create(50, 400, 170, 100, 'Катюша', clred);
c:= buttonabc.Create(600, 400, 170, 100, 'Танюша', clred);
a.OnClick := bad;
b.OnClick := good3;
c.OnClick := bad;
xd:=xd+1;
xxv:=xxv+1;
end;
 
procedure ab1;
var th1 := new Thread(threadproc1);
begin
n4:=2;
sec:=5;
p.Draw(0,0);
o.Destroy;b.Destroy;c.Destroy;
setfontsize(25);
setbrushstyle(bsSolid);
textout(300, 50, 'Что эта за песня?');
sound:= new system.Media.SoundPlayer;
sound.SoundLocation:='1.wav';
sound.Play;
sleep(1000);
sound.Stop;
th1.Start;
setfontsize(15);
textout(135, 105, 'Что бы закончить прослушивание песни нажмите ПРОБЕЛ');
a:= buttonabc.Create(310, 400, 170, 100, 'Настюша', clred);
b:= buttonabc.Create(50, 400, 170, 100, 'Катюша', clred);
c:= buttonabc.Create(600, 400, 170, 100, 'Танюша', clred);
a.OnClick := bad;
b.OnClick := good3;
c.OnClick := bad;
xs:=xs+1;
xxv:=xxv+1;
end;
 
procedure aa1;
var th := new Thread(threadproc);
begin
sec:=5;
n4:=1;
p.Draw(0,0);
o.Destroy;b.Destroy;c.Destroy;
setfontsize(25);
setbrushstyle(bsSolid);
textout(300, 50, 'Что эта за песня?');
sound:= new system.Media.SoundPlayer;
sound.SoundLocation:='1.wav';
sound.Play;
sleep(1000);
sound.Stop;
th.Start;
setfontsize(15);
a:= buttonabc.Create(310, 400, 170, 100, 'Настюша', clred);
b:= buttonabc.Create(50, 400, 170, 100, 'Катюша', clred);
c:= buttonabc.Create(600, 400, 170, 100, 'Танюша', clred);
a.OnClick := bad;
b.OnClick := good3;
c.OnClick := bad;
xa:=xa+1;
xxv:=xxv+1;
end;
 
procedure Pravila1;
begin
p.Draw(0,0);
a.Destroy;
setfontsize(15);
setbrushstyle(bsSolid);
textout(275, 75, 'Поздравляю вы успешно прошли 1 этап');
textout(10, 100, 'Напоминаю во 2 этапе у вас будут ограничения по времени каждая');
textout(10, 125, 'мелодия будет играть только 10 секунд после чего у вас будет');
textout(10, 150, '3 секунды на выбор ответа. По истечению времени засчитывается');
textout(10, 175, 'что вы ответили неправильно.За каждый правильный ответ дают 100 очков');
textout(10, 300, 'Нажмите "кнопку влево" если хотите вернуться в меню');
end;
 
procedure Menu2;
var th3 := new Thread(SI);
begin
p.Draw(0,0);
o:= buttonabc.Create(350, 250, 100, 100, '100', clred);
b:= buttonabc.Create(100, 250, 100, 100, '100', clblue);
c:= buttonabc.Create(600, 250, 100, 100, '100', clyellow);
p1:= buttonabc.Create(750, 550, 50, 50, 'П', clyellow);
o.OnClick := aa1;
b.OnClick := ab1;
c.OnClick := ac1;
p1.OnClick:=Pravila1;
if xa = 1 then o.Destroy; if xs = 1 then b.Destroy;
if xd = 1 then c.Destroy; if xxv=3 then begin th3.Start; exit end;
end;
 
procedure KeyDown(Key: integer);
begin
a.Destroy;b.Destroy;c.Destroy;
   case Key of
  VK_Space: sound.Stop;
  VK_Left: Menu2;
   end;
end;
 
begin
xq:=0;xw:=0;xe:=0;xr:=0;xt:=0;xy:=0;xu:=0;
s:=10;xxv:=0;n2:=0;n3:=0;n4:=0;n5:=0;
q:=0;
p.Draw(0,0);
SetWindowSize(800,600);
CenterWindow;
Menu2;
OnKeyDown:= KeyDown;
end.
P.S. Правильный ответ "Катюша"
Вложения
Тип файла: rar 1.rar (7.53 Мб, 8 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.05.2013, 12:30
Ответы с готовыми решениями:

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

Поток не выполняется, его нельзя приостановить
uses GraphABC, ABCButtons; var n1: string; procedure scene1; begin Readln(n1); end; begin var b1:=new...

Поток выполняется или прерван - нельзя запустить повторно
System.Threading.ThreadStateExcepti on не обработано Message=&quot;Поток выполняется или прерван; его нельзя запустить повторно.&quot; ...

3
SausageFlat
 Аватар для Striker
242 / 221 / 154
Регистрация: 19.08.2012
Сообщений: 499
Записей в блоге: 1
28.05.2013, 15:21
Цитата Сообщение от AnimA_LetuM Посмотреть сообщение
var a,b,c,d,h,n,m,v,r,o,p1:buttonabc;
var s,q,xq,xw,xe,xr,xt,xy,xu,xi,xo,xx,xa,xs, xd,xxv,x1,x2,n1,n2,n3,n4,n5,y : integer;
Убило количество переменных. Не легче сделать массив? Если у Вас столько однотипных переменных.
0
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 3
29.05.2013, 00:15  [ТС]
Просто я пишу курсовую, я выделил ток проблемную часть из курсовой, сама программа больше

Добавлено через 8 часов 47 минут
Завтра сдача, может кто нибудь объяснить в чём суть проблемы, ведь поток вроде как я не останавливал (основной)
0
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 3
30.05.2013, 21:08  [ТС]
Курсовую сдал, но если есть решение этой проблемы то сообщите
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.05.2013, 21:08
Помогаю со студенческими работами здесь

Передать данные в поток во время его выполнения
Здравствуйте, нужно передать информацию в поток: Гуглил, яндексил, мэйлрушил, но так и не нашел ответ. Прошу учесть, что это не windows...

Как приостановить поток?
var I: Integer; begin Thread := sSpinEdit2.Value; for I := 0 to Thread do begin MyThr.Suspend; end;

QThread, приостановить поток
В PyQt приложении вызывается один поток, который не имеет цикла, а просто выполняет некую функцию, но в процессе выполнения возможна...

Приостановить поток нажатием на кнопку
Добрый день, подскажите как можно приостановить выполнение Метода, а затем возобновить его, путем нажатия на кнопку (пауза),и продолжался...

Как приостановить и перезапустить поток
Есть следующее задание: Написать приложение, содержащее не менее двух тредов. Каждый из этих тредов должен искать файлы: - с...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru