Каменова Ш.К., Сланбекова А.Е., Куспек Т. Б

Е.А. Бөкетов атындағы Қарағанды мемлекеттік университеті, Қазақстан

Ауыстырғыштар мен жалаушаларды қолдану

 

Ауыстырғыш (тәуелді ауыстырғыш) топтастырылған ауыстырғыпггардың тек біреуін ғана таңдауға мүмкіндік береді. Жалғыз ауыстырғыш ешқашан қолданылмайды. Delphi ортасында бұл үшін RadioButton және RadioGroup компоненттері пайдаланылады. Тәуелсіз ауыстырғыштар топтамасында жалаушаларды кез келген тәртіппен бір-біріне тәуелсіз ажыратуға немесе қосуға болады. Жалғыз жалауша кандай да бір күйді қосу немесе ажырату үшін қолданылады. Delphi-де бұл үшін СһескВох компонентін пайдаланамыз.

СһескВох және RadioButton компоненттері Button сияқты TButtonComponent класынан туындайды. Ауыстырғыш пен жалаушаның қандай күйде тұрғанын тексеру арқылы бағдарламада әртүрлі әрекеттер ұйымдастыруға болады.

Бағдарламада жалаушаның күйін анықтау үшін оның Boolean мәнді Checked сипатын қолданады. Оның алғашқы мәні жалауша белгіленбеген 0 күйіне сәйкес False. Жалауша қойылғандағы 1 мәні - True. Жалаушаны қосып, ажыратқан сайын Checked сипатының мәні өзгеріп тұрады. Егер жалауша ерекщеленіп тұрса, оны <бос орын> пернесі арқылы қосып ажыратуға болады. 1 - суретте Delphi ортасында Search\Find in Files әмірі аркылы ашылған Find in Files терезесінің Where бөлімінде төрт мәннің тек біреуін ғана көрсетуге мүмкіндік беретін ауыстырғыштар тобы көрсетілген.

C:\Users\Makish\Desktop\Дельфи\скрин\63.jpg

1 - сурет. Ауыстырғыш пен жалауша орнату

Жалауша TCheckBoxState мәнді State сипатымен анықталатын үш күйдің бірінде болуы мүмкін:

- cbUnchecked (қосылмаған);

- cbChecked (қосылған);

- cbGrayed (қолдану мүмкін емес).

Жалаушаның күйін өзгерткенде (қандай күйге болса да) опСІіск оқиғасы туындайды.

Мысал. Енгізілген сөздің қаріпін баптайтын бағдарлама жасау қажет.

Тәуелсіз ауыстырғыштармен (CheckBox) жұмыс істеу үшін формаға келесі компоненттері орналастырамыз:

CheckBox: chk1, chk2, chk3, chk4.

Edit: edt1.

Button:btn1.

Label: lbl1, lbl2.

C:\Users\Togisova\AppData\Local\Temp\SNAGHTML1a537da.PNG

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;

C:\Users\Togisova\AppData\Local\Temp\SNAGHTML1a7f8d7.PNG

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.

C:\Users\Togisova\AppData\Local\Temp\SNAGHTML18dd927.PNG

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 - сурет. Бағдарлама орындалу терезесі

RadioGroup компоненті - радиобатырмалар тобының панелі. Мұнда радиобатырмалар жол және баған бойынша орналасады. Панельдің сол жақ жоғарғы бұрышындағы жазу Caption қасиеті арқылы анықталады. Батырмалар сан Items қасиеті арқы таңдалады. Батырмаларды бірнеше бағанға орналастыру Columns қасиеті қолданылады. Таңдалған батырма индексі ItemIndex қаситеі арқылы анықталады. Бұл құралды қолданып ыңғайлы безендірілген тест программасын жасауға болады.

Сонымен, Delphi ортасында бағдарламалауда, программа ұсынатын мүмкіндіктердің бірін немесе қатарынан бірнешеуін таңдау үшін ауыстырғыштар мен жалаушалар қолданылады. Жалаушаның қызметі қажетті элементті топтамалар ішінен бір немесе бірнешеуін таңдауға болатын тізім болса, ал ауыстырғыш терезені бірнеше ауыстырып қосу қызметін атқарады. Жалаушаның ауыстырғыштан айырмашылығы, жалаушаларды бір мезгілде әр түрлі комбинацияларда қоюға болады. Бұл жағдай барлық жалаушаларды орнатуға немесе алып тастауға мүмкіндік береді. Ауыстырып қосқыш пен жалаушалардың талдау күйі программистерге өзіне керекті операцияларды орындау үшін керек.

Қорыта айтқанда, checkbox басқару элементі қолданушыға екі мәннің біреуін таңдауға, яғни екі жағдайдағы параметрді басқаруға мүмкіндік береді. Жалауша жағдайы басқа элементтердің жағдайына әсер етуі мүмкін, мысалы, алдында қол жетімсіз болған басқару элементтерін белсенді етуге мүмкіндік береді. RadioButton басқару элементі біздің мысалымызда орындалатын операцияны анықтау үшін қолданылады. Бұл элемент альтернативаның біреуін таңдауға мүмкіндік береді.

 

 

 

Әдебиеттер тізімі:

1    А. Хомененко, В.Гофман. Самоучитель Delphi. Санкт-Петербург, 2003, 576 стр

2    Бобровский С.И. Delphi 7. Учебный курс. – СПб.: Питер, 2005.

3    http://igost.msk.ru/gost.php?gost=19.701-90