Форум: "Начинающим";
Текущий архив: 2014.02.09;
Скачать: [xml.tar.bz2];
ВнизТест на Делфи Найти похожие ветки
← →
ad1951 © (2013-01-21 04:28) [0]procedure TU_Test2.OKBtnClick(Sender: TObject);
begin
Ball2:=0;
if (checkbox2.Checked=true) and (checkbox4.Checked=true) and (checkbox1.Checked=false) and
(checkbox3.Checked=false) and (checkbox5.Checked) then Ball2:=Ball2+1;
if (checkbox7.Checked=true) and (checkbox9.Checked=true) and (checkbox6.Checked=false) and
(checkbox8.Checked=false) and (checkbox10.Checked) then Ball2:=Ball2+1;
if (checkbox12.Checked=true) and (checkbox15.Checked=true) and (checkbox11.Checked=false) and
(checkbox13.Checked=false) and (checkbox14.Checked) then Ball2:=Ball2+1;
if (checkbox17.Checked=true) and (checkbox20.Checked=true) and (checkbox16.Checked=true) and
(checkbox18.Checked=false) and (checkbox19.Checked) then Ball2:=Ball2+1;
if (checkbox22.Checked=true) and (checkbox24.Checked=true) and (checkbox21.Checked=false) and
(checkbox23.Checked=false) and (checkbox25.Checked) then Ball2:=Ball2+1;
Label7.Caption:="Ball2="+inttostr(Ball2);
end;
Почему Ball2 ВСЕГДА приобретает значения 0? Все компоненты checkbox сгруппированы по 5 в 5 GroupBox
← →
MonoLife © (2013-01-21 05:33) [1]Ball2:=Ball2+1;
← →
MonoLife © (2013-01-21 05:35) [2]проверять чекбоксы лучше
так: if (checkbox.Checked) или if (not checkbox.Checked)
← →
MBo © (2013-01-21 05:40) [3]>Почему Ball2 ВСЕГДА приобретает значения 0?
Видимо, не выполняется ни одно из слоных логических условий
← →
brother © (2013-01-21 06:31) [4]
Ball2:=0;
поставь сюда breakpoint и пройдись по всем условиям Trace into и узнаешь, выполняются ли условия...
← →
brother © (2013-01-21 06:34) [5]ps.
> if (checkbox2.Checked=true)
=
if (checkbox2.Checked)
← →
Dimka Maslov © (2013-01-21 10:05) [6]Для проверки условия на нескольких чекбоксах желательно создавать на их основе битовую маску и проверять по ней.
← →
sniknik © (2013-01-21 10:18) [7]насколько понял "логику"..., ИМХО, в таком виде лучше
procedure TU_Test2.OKBtnClick(Sender: TObject);
function BallInc(ChBox1, ChBox2, ChBox3, ChBox4, ChBox5: TCheckBox): integer;
begin
if (not ChBox1.Checked) and ChBox2.Checked and (not ChBox3.Checked) and ChBox4.Checked and ChBox5.Checked
then result:= 1
else result:= 0;
end;
begin
Ball2:= BallInc(checkbox1, checkbox2, checkbox3, checkbox4, checkbox5) +
BallInc(checkbox6, checkbox7, checkbox8, checkbox9, checkbox10) +
BallInc(checkbox11, checkbox12, checkbox13, checkbox14, checkbox15) +
BallInc(checkbox16, checkbox17, checkbox16, checkbox19, checkbox20) +
BallInc(checkbox21, checkbox22, checkbox23, checkbox24, checkbox25);
Label7.Caption:="Ball2="+inttostr(Ball2);
end;
← →
clickmaker © (2013-01-21 10:38) [8]массив из чекбоксов + проверка в цикле
← →
MonoLife © (2013-01-21 10:40) [9]я опечатался, хотел в 1посте написать Ball2:=1. Но это тоже неправильно.
У TC в конце процедуры Ball2 может равняться 5, если все условия верны, ведь чекбоксы не повторяются, а else там не видно.
← →
O'ShinW © (2013-01-21 11:06) [10]маска это хорошо, но думаю, тут не до этого пока :)
для тестов можно написать
public { Public declarations }
function GetDisplayVal(ACB: array of TCheckBox): string;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TForm1.GetDisplayVal(ACB: array of TCheckBox): string;
var
i: integer;
begin
Result := "";
for i := Low(ACB) to High(ACB) do
if ACB[i].Checked
then Result := Result + "T"
else Result := Result + "F";
end;
и юзать (проверить)
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := GetDisplayVal([checkbox2, checkbox4, checkbox1, checkbox3, checkbox5 ]);
showmessage(s);
if s = "TTFFT" then
....;
end;
← →
QAZ10 (2013-01-21 11:06) [11]сейчас новая мода чтоли пошла, тесты писать?
← →
brother © (2013-01-21 11:46) [12]она и никогда не пропадала)
← →
QAZ10 (2013-01-21 12:00) [13]
> brother © (21.01.13 11:46) [12]
да ладно, щас куда не зайди полюбому комуто дали задание тест написать, раньше такого небыло
← →
clickmaker © (2013-01-21 12:03) [14]тлетворное влияние ЕГЭ
← →
O'ShinW © (2013-01-21 12:09) [15]хоть и каждый может написать что угодно, но 1951 гр
наверное, самостоятельно что-то решил изучить на пенсии
похвально, чё..
← →
имя (2013-04-02 13:04) [16]Удалено модератором
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.02.09;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c