Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Pro4poker
0 / 0 / 2
Регистрация: 30.07.2015
Сообщений: 72
#1

Delphi Random и ProgressBar - Delphi

31.07.2015, 00:26. Просмотров 389. Ответов 5
Метки нет (Все метки)

Первую программу пишу на делфи, до работал в Pascal, так что простите если вопрос слишком глупый. Моя программа выбирает рандом из двух "ComboBox" и выводит в Memo, я добавил элемент "ProgressBar" и хочу сделать так, чтобы ответ в Memo выводился после того как закончится выполнение ProgressBar'а, а он мне выводит ответ и при этом полоска заполняется. Вот код.

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
var
  Form1: TForm1;
  a:integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
progressbar1.Position :=progressbar1.Position+10;
if ProgressBar1.Position = 100 then
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled:=true;
a:=0;
a:=random (3);
if a=1 then memo1.lines.text:=ComboBox1.text+'Затащит';
if a=2 then memo1.lines.text:=ComboBox2.text;
 
end;
end.

http://www.cyberforum.ru/delphi-beginners/thread692161.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2015, 00:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Delphi Random и ProgressBar (Delphi):

Delphi 7 команда Random
Подскажите. Когда я ввожу команду i:=random(10); То у меня переменная i это...

Четырехзначное число в Random (Delphi)
Как записать в random, чтобы число было четырехзначное? Помогите школьнику,...

delphi не работает Smooth в ProgressBar
Здравствуйте. Столкнулся со следующей проблемой: поставил на ProgressBar...

ProgressBar в Delphi XE4 Upd 1
Добрый день! Столкнулся сегодня с проблемой. При отображении процесса...

Как реализовать progressbar в Delphi 10/2
Здравствуйте до этого работал в Delphi 7. В Delphi 10/2 не могу реализовать...

5
northener
пофигист широкого профиля
3251 / 2303 / 628
Регистрация: 15.07.2013
Сообщений: 13,591
31.07.2015, 00:35 #2
Лучший ответ Сообщение было отмечено Pro4poker как решение

Решение

Цитата Сообщение от Pro4poker Посмотреть сообщение
и хочу сделать так, чтобы ответ в Memo выводился после того как закончится выполнение ProgressBar'а
Ну так и перенеси код из 19 - 21 строчек в процедуру таймера (сразу после 12-й строчки). Только поставь там операторные скобки. Если ты знаком с Паскалем, значит знаешь какие "скобки".
1
Pro4poker
0 / 0 / 2
Регистрация: 30.07.2015
Сообщений: 72
31.07.2015, 01:34  [ТС] #3
Спасибо.

Добавлено через 40 минут
Все получилось, теперь выводит в мемо после того, как выполнился ProcessBar, только вот рандом постоянно рандоми среди этих двух записей и выводит в Мемо. То 1 то 2 и так без конца. Как остановить это зацикливание? Может я неправильно поставил операторные скобки?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 
progressbar1.Position :=progressbar1.Position+10;
if ProgressBar1.Position = 100 then
begin
a:=random (3);
if a=1 then memo1.lines.text:=ComboBox1.text+'Затащит';
if a=2 then memo1.lines.text:=ComboBox2.text;
end;
 
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled:=true;
 
end;
end.
0
northener
пофигист широкого профиля
3251 / 2303 / 628
Регистрация: 15.07.2013
Сообщений: 13,591
31.07.2015, 02:02 #4
Цитата Сообщение от Pro4poker Посмотреть сообщение
только вот рандом постоянно рандоми среди этих двух записей и выводит в Мемо. То 1 то 2 и так без конца. Как остановить это зацикливание?
Таймер выключи.
Напиши
Delphi
1
Timer1.Enabled:=False;
0
Puporev
Модератор
54131 / 41764 / 28875
Регистрация: 18.05.2008
Сообщений: 98,291
31.07.2015, 06:53 #5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TForm1.Button1Click(Sender: TObject);
begin
timer1.Enabled:=true;
randomize;
end;
 
procedure TForm1.Timer1Timer(Sender: TObject);
var a:byte;
begin
progressbar1.Position :=progressbar1.Position+10;
if ProgressBar1.Position = 100 then
 begin
  Timer1.Enabled:=false;
  a:=random (2);
  if a=0 then memo1.lines.text:=ComboBox1.text+' Затащит'
  else memo1.lines.text:=ComboBox2.text;
 end;
end;
1
Pro4poker
0 / 0 / 2
Регистрация: 30.07.2015
Сообщений: 72
31.07.2015, 12:59  [ТС] #6
Спасибо, все работает.
0
31.07.2015, 12:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2015, 12:59
Привет! Вот еще темы с решениями:

ProgressBar delphi нужна помошь
можно ли сделать так что при заполнении шкалы ProgressBar программа...

Что не так с 'Random' или There is no overloaded version of 'Random' that can be called with these arguments
Доброго времени суток! Я с программированием на "Вы", поэтому очень прошу...

Нужна помошь по progressbar в delphi
есть форма1 которая главная.так вот как сделать,чтобы при запуске exe...

Расширенный ProgressBar из Windows для Delphi
Здраствуйте. Может кто видел ProgressBar со скриншота для Delphi есть ли такой...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru