Каменова Ш.К., Сланбекова А.Е., Куспек Т. Б
Е.А. Бөкетов атындағы Қарағанды
мемлекеттік университеті, Қазақстан
Ауыстырғыштар мен жалаушаларды
қолдану
Ауыстырғыш
(тәуелді ауыстырғыш) топтастырылған
ауыстырғыпггардың тек біреуін ғана таңдауға
мүмкіндік береді. Жалғыз ауыстырғыш ешқашан
қолданылмайды. Delphi ортасында бұл үшін RadioButton
және RadioGroup компоненттері пайдаланылады. Тәуелсіз
ауыстырғыштар топтамасында жалаушаларды кез келген тәртіппен
бір-біріне тәуелсіз ажыратуға немесе қосуға болады.
Жалғыз жалауша кандай да бір күйді қосу немесе ажырату
үшін қолданылады. Delphi-де бұл үшін СһескВох
компонентін пайдаланамыз.
СһескВох
және RadioButton компоненттері Button сияқты TButtonComponent
класынан туындайды. Ауыстырғыш пен жалаушаның қандай
күйде тұрғанын тексеру арқылы бағдарламада
әртүрлі әрекеттер ұйымдастыруға болады.
Бағдарламада
жалаушаның күйін анықтау үшін оның Boolean
мәнді Checked сипатын қолданады. Оның алғашқы
мәні жалауша белгіленбеген 0 күйіне сәйкес False. Жалауша
қойылғандағы 1 мәні - True. Жалаушаны қосып,
ажыратқан сайын Checked сипатының мәні өзгеріп
тұрады. Егер жалауша ерекщеленіп тұрса, оны <бос орын>
пернесі арқылы қосып ажыратуға болады. 1 - суретте Delphi
ортасында Search\Find in Files әмірі аркылы ашылған Find in Files
терезесінің Where бөлімінде төрт мәннің тек
біреуін ғана көрсетуге мүмкіндік беретін ауыстырғыштар
тобы көрсетілген.

1 - сурет. Ауыстырғыш пен жалауша орнату
Жалауша TCheckBoxState мәнді State
сипатымен анықталатын үш күйдің бірінде
болуы мүмкін:
- cbUnchecked (қосылмаған);
- cbChecked (қосылған);
- cbGrayed (қолдану мүмкін
емес).
Жалаушаның күйін
өзгерткенде (қандай күйге болса да) опСІіск
оқиғасы туындайды.
Мысал. Енгізілген
сөздің қаріпін баптайтын бағдарлама жасау қажет.
Тәуелсіз
ауыстырғыштармен (CheckBox) жұмыс істеу үшін формаға
келесі компоненттері орналастырамыз:
CheckBox:
chk1, chk2, chk3, chk4.
Edit:
edt1.
Button:btn1.
Label:
lbl1, lbl2.

2 - сурет. Формаға
компоненттерді орналастыру
begin
lbl2.Caption:=edt1.Text;
if chk1.Checked then
lbl2.Font.Style := lbl2.Font.Style + [fsItalic]
else
lbl2.Font.Style := lbl2.Font.Style -
[fsItalic];
if chk2.Checked then
lbl2.Font.Style := lbl2.Font.Style +
[fsBold]
else
lbl2.Font.Style := lbl2.Font.Style -
[fsBold];
if chk3.Checked then
lbl2.Font.Style := lbl2.Font.Style +
[fsStrikeOut]
else
lbl2.Font.Style := lbl2.Font.Style -
[fsStrikeOut];
if chk4.Checked then
lbl2.Font.Style := lbl2.Font.Style +
[fsUnderline]
else
lbl2.Font.Style := lbl2.Font.Style -
[fsUnderline];
end;
3
- сурет. Бағдарлама орындалу терезесі
Бағдарламада
жалғыз өзін қолданудың мазмұны жоқ болып
табылатын RadioButton ауыстырғыштары Form, Panel, RadioGroup, GroupBox,
ScrollBox, Frame сияқты контейнерлердің біріне топтастырылады.
Жобалау кезінде топтамадағы ауыстырғыштың біреуін алдын-ала
белгілеп қойған жөн.
Радиобатырмалар қасиеті
CheckBox - қа ұқсайды. Олардың негізгі ерекшеліктері
CheckBox тобында кез келген комбинациясын таңдауға
рұқсат етеді, ал радиобатырмалар тек қана біреуін
таңдауға мүмкіндік береді. Мысалы, топта екі радиобатырмадан
аз болмау тиіс. Сонымен қатар, радиобатырмаларда аралас жағдай
болуы мүмкін (бірін-бірі жоққа шығару параметрлерді
біріктіруге болмайды).
RadioButton
ауыстырғышының күйін бір таңдағаннан кейін оны
жалаушадағыдай екінші рет қағу арқылы өзгерту
мүмкін емес. Оның күйі осы топтамадағы басқа бір
ауыстырғышты таңдағанда ғана өзгереді. Демек,
RadioButton үшін OnClick оқиғасы оны таңдаған
кезде ғана туындайды. Ал екінші рет қаққанда бұл
окиға туындамайды.
Мысалы,
енгізілген 5 элементтен тұратын массивтің ең үлкен немесе
ең кіші элементін анықтайтын бағдарлама жасау қажет.
Бағдарламаны жүзеге асыру үшін екі RadioButton , Edit, Button
орнатамыз:
RadioButton:
rb1, rb2.
Edit: edt1,
edt2, edt3, edt4, edt5.
Button:btn1.

3 - сурет. Формаға компоненттерді орналастыру
procedure
TForm1.btn1Click(Sender: TObject);
var
M:array[1..5] of Real;
i:Integer;
MaxMin:Real;
begin
M[1]:=StrToFloat(edt1.Text);
M[2]:=StrToFloat(edt2.Text);
M[3]:=StrToFloat(edt3.Text);
M[4]:=StrToFloat(edt4.Text);
M[5]:=StrToFloat(edt5.Text);
MaxMin:=M[1];
if rb1.Checked then
begin
For i:=1 to 5 do
if MaxMin<M[i] then
MaxMin:=M[i];
ShowMessage('Max=
'+FloatToStr(MaxMin));
end;
if rb2.Checked then
begin
For i:=1 to 5 do
if MaxMin>M[i] then
MaxMin:=M[i];
ShowMessage('Min =
'+FloatToStr(MaxMin));
end;


4 - сурет. Бағдарлама
орындалу терезесі
Әдебиеттер
тізімі:
1
А. Хомененко, В.Гофман. Самоучитель Delphi. Санкт-Петербург, 2003, 576 стр
2 Бобровский С.И. Delphi 7. Учебный курс. – СПб.: Питер,
2005.
3
http://igost.msk.ru/gost.php?gost=19.701-90