Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2011, 13:19   #1
crash_boy
 
Регистрация: 16.11.2009
Сообщений: 5
Вопрос суммировать checkBoxы

Доброго дня суток! Подскажите коллеги как мне быть...? на форме есть 4 чекБокса и у каждого свой коэффициент. Мне надо сделать так чтоб когда пользователь выбирал Эти коэффициенты суммировались.

т.е. вот так

чекбокс1:= 0.08
чекбокс2:= 1.0
чекбокс3:= 0.07
чекбокс4:= 0.09

ki:= чекбокс1+ чекбокс2+чекбокс3+чекбокс4;

но тут не все чекбоксы могут быть выбраны
crash_boy вне форума Ответить с цитированием
Старый 29.04.2011, 13:40   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как эти коэффициенты привязаны к чекам?
Вообще банальщина:
Код:
ki:=0;
if CheckBox1.Checked then ki:=ki+0.08;
if CheckBox2.Checked then ki:=ki+1;
if CheckBox3.Checked then ki:=ki+0.07;
if CheckBox4.Checked then ki:=ki+0.09;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.04.2011, 13:43   #3
java_91
Пользователь
 
Регистрация: 11.11.2008
Сообщений: 32
По умолчанию

Код:
var
  sum : real;
begin
  sum :=0;
  if CheckBox1.Checked then sum:=sum+StrToFloat(CheckBox1.Caption);
  if CheckBox2.Checked then sum:=sum+StrToFloat(CheckBox2.Caption);
  if CheckBox3.Checked then sum:=sum+StrToFloat(CheckBox3.Caption);
  if CheckBox4.Checked then sum:=sum+StrToFloat(CheckBox4.Caption);
  Edit1.Text:= FloatToStr(sum);
end;
java_91 вне форума Ответить с цитированием
Старый 29.04.2011, 13:55   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

я сделал это так:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure CheckBoxClickProc(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    c1: SmallInt;
    c2: SmallInt;
    c3: SmallInt;
    c4: SmallInt;
    cR: SmallInt;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  c1 := 1;
  c2 := 2;
  c3 := 3;
  c4 := 4;
  cR := 0;
  CheckBox1.Hint := IntToStr(c1);
  CheckBox2.Hint := IntToStr(c2);
  CheckBox3.Hint := IntToStr(c3);
  CheckBox4.Hint := IntToStr(c4);
end;

procedure TForm1.CheckBoxClickProc(Sender: TObject);
begin
  if (Sender as TCheckBox).Checked then
  begin
    cR := cR + StrToInt((Sender as TCheckBox).Hint);
  end else
  begin
    cR := cR - StrToInt((Sender as TCheckBox).Hint);
  end;
  Label1.Caption := IntToStr(cR);
end;

end.
при условии что подсказки более не нужны.

p.S. я не знаю где там хранить эти цифры.

Но ещё можно не пользоваться If...then'om а присвоить каждому чекбоксу номер в свойстве Tag далее пробежаться по Tag при помощи case (Sender as TCheckBox).Tag of
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммировать диапазон по валюте Screame Microsoft Office Excel 5 06.11.2012 22:53
Найти и суммировать Kondrat_ivanov Microsoft Office Excel 3 25.02.2011 17:28
Суммировать ячейки Djuleta86 Microsoft Office Access 0 17.12.2010 14:48
как суммировать в db grid deadneoo Компоненты Delphi 0 01.05.2010 15:41
Суммировать при Н/Д Iskin Microsoft Office Excel 2 14.10.2009 10:05