Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.12.2010, 12:41
Eidosqj Eidosqj вне форума
Прохожий
 
Регистрация: 01.11.2010
Сообщения: 6
Репутация: 10
По умолчанию CheckListBox \ Random

Здравствуйте, помоги пожалуйста новичку. Желательно, сделать во вложенном файле, потому что я Вас могу не понять.
Мне нужно сделать спрос на товар более эластичным, для этого в форме8, после нажатия на кн. "спрос", у меня случ. образом генерируется спрос Random(60000) - для юр. лиц и Random(20000)- для физ. лиц.
Чтобы сделать чтобы спрос менялся я на форме 13, создала CheckListBox или CheckBox (пробовала так и так), назначение списка: если пользователь выбрал первый вид CheckListBox. ItemIndex=0 то спрос должен повыситься: вместо Random(60000), стать Random(100000),есил выбрал CheckListBox.ItemIndex=1 то до др. интервала повыситься.
Я это сделать не могу. Я пробовала такой условно код : что
если CheckListBox. ItemIndex=0 то спорс Random(100000), инчае Random(60000).
не получается он генерирует только в приделах Random(60000).
Цитата:
procedure TForm8.Button3Click(Sender: TObject);
begin
if Form13.CheckListBox1.ItemIndex= 0 then
begin
//Label14.Visible:= true;
randomize;
SprosJurid:=random(100000);
SprosFiz:=random(50000);
SprosJurid:=SprosJurid*10;
SprosFiz:=SprosFiz*10;
Edit1.Text:=FloatToStr(SprosJurid);
Edit2.Text:=FloatToStr(SprosFiz);
Spros:=SprosJurid+SprosFiz;
Edit3.Text:=FloatToStr(Spros);
Form1.Edit19.Text:= FloatToStr(Spros);
Button3.Enabled:=false;
end
else

begin

randomize;
SprosJurid:=random(60000);
SprosFiz:=random(20000);
SprosJurid:=SprosJurid*10;
SprosFiz:=SprosFiz*10;
Edit1.Text:=FloatToStr(SprosJurid);
Edit2.Text:=FloatToStr(SprosFiz);
Spros:=SprosJurid+SprosFiz;
Edit3.Text:=FloatToStr(Spros);
Form1.Edit19.Text:= FloatToStr(Spros);
Button3.Enabled:=false;
end;
Ответить с цитированием
  #2  
Старый 20.12.2010, 13:09
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Обрабатывайте не itemIndex а Checked
пример:
Код:
if CheckListBox1.Checked[0] then label1.Caption:='1'
else label1.Caption:='0';
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #3  
Старый 20.12.2010, 13:36
Eidosqj Eidosqj вне форума
Прохожий
 
Регистрация: 01.11.2010
Сообщения: 6
Репутация: 10
По умолчанию

Пробовала сл. варианты.

3 варианта:
Цитата:
1)на 13 ф.
if Form13.CheckBox4.Checked = True then
begin..снимаем деньги со счета- т..к за повышенеи споса надо платить деньги
на 8:
if Form13.CheckBox4.Checked = True then
begin
randomize;
SprosJurid:=random(140000);
SprosFiz:=random(70000);
end
else
begin
randomize;
SprosJurid:=random(60000);
SprosFiz:=random(20000);...

2) на 13 ф.
if CheckListBox1.Checked[i] then
case i of
0: begin снова платим деньгм за спрос
на 8ф
if Form13.CheckBox1.Checked[i] then
case i of
0:
begin
//Label14.Visible:= true;
randomize;
SprosJurid:=random(100000);
SprosFiz:=random(50000);
end
else
begin
randomize;
SprosJurid:=random(60000);
SprosFiz:=random(20000);... В ЭТОМ ВАРИАНТЕ ОН ВЫДАЕТ ОШИБКУ НА 8 ФОРМЕ, ПИШЕТ ЧТО i =byte- тип неправильный, хотя 13 форма действует и сумма за спрос снимается,
3) на 13ф
if CheckListBox1.ItemIndex=0 then begin плата за спрос
на 8ф.
if Form13.CheckListBox1.ItemIndex= 0 then
begin
randomize;
SprosJurid:=random(100000);
SprosFiz:=random(50000);
Ответить с цитированием
  #4  
Старый 20.12.2010, 13:59
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Ниче не понимаю (с)Мф.

Код:
var i:integer;
begin
for i:=0 to CheckListBox1.Items.Count-1 do //Пробегаем циклом по всемуЛистбоксу
begin
  if CheckListBox1.checked[i] then //Проверяем нажат ли если да то
     case i of //смотрим какой items нажат
       0:begin //если 0 то делаем это
            SprosJurid:=random(60000);
            SprosFiz:=random(20000);
          end;
       1:begin //если 1 то делаем это
            SprosJurid:=random(100000);
            SprosFiz:=random(30000);
          end;
       2:begin //если 2 то делаем это
            SprosJurid:=random(120000);
            SprosFiz:=random(50000);
          end;
      end;
  end;
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #5  
Старый 20.12.2010, 21:28
Eidosqj Eidosqj вне форума
Прохожий
 
Регистрация: 01.11.2010
Сообщения: 6
Репутация: 10
По умолчанию

Спасибо, получилось, нехватало:
Цитата:
for i:=0 to CheckListBox1.Items.Count-1 do
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:52.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025