Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Тапсырма №2
Пайдаланушы тек сан енгізетіндіктен fmexample формасына ө згеріс енгізейік: типі Tedit болатын edіnput кмопонентінің орнына формағ а TmaskEdit компонентін орналастырайық. File/ New/ Application командаларын орындап, формағ а Additional бетіндегі MaskEdit компонентін орналастырамыз, оны edіnput деп атап (Name қ асиетін), оның Editmask қ асиетіне 0999; 1; жолын орналстырамыз. FmExample класының Private бө ліміне X бү тін санын хабарлаймыз: Private {Private declaration} X: integer; fmExample формасының OnActivate ө ң деушісіне тө мендегідей мә тінді енгіземіз: Procedure TfmExample.FormActive(Sender: TObject); Begin X: =Random (1001); // Кездейсоқ санды шығ арамыз Edinput.SetFocus; //Edinput жолына енгізу фокусын береміз; Caption: =’0…1000 аралығ ынан бү тін санды таң дап’; Lboutput.Caption: =’Сан енгіземіз’; End; Bbrun батырмасының Onclick оқ иғ а ө ң деушісіне тө мендегідей мә тінді енгіземіз: Procedure TfmExample.BbrunClick(Sender: TObject); Var Y: =integer; Begin if edinput.text=’ ‘then Exit; // егер енгізілетін сан мә тін болмаса жұ мысты тоқ татамыз; // енгізілгенді санғ а тү рлендіреміз; Y: =StrToInt(Trim(Edinput.Text)); Edinput.Text: =’’; //енгізу жолын тазалаймыз; Edinput.SetFocus; // енгізу фокусын тазалаймыз. {Tag=0 параметрі санды табуды кө рсетеді, ә йтпесе сұ рақ қ а жауап беріледі: санды тапқ аннан кейін пайдаланушының ойнау немесе ойнамауын білдіреді} If Tag=0 then If x< y then // санды табу mmOutput.Lines.Add(‘x< ’+IntToStr(y)) else if x> y then mmOutput.Lines.Add(‘x> ’+IntToStr(y)) else // x=y Begin mmOutput.Lines.Add(‘x=’+IntToStr(y)) MessageBeep(MB Ok); // Дыбыс шығ ару; LBOutput.Caption: = ‘Сіз таптың ыз, егер ойың ыз келсе 1 санын енгізің із: ’; Tag: =1; // келесі сұ рақ қ а жауапты енгізу; End Else // жауапты талдау If y=1 then Begin x: =random(1001); //жаң а сан; LbOutput.Caption: = ‘сан енгіз’; Tag: =0; // келесі енгізілетін санды табу. Edinput.SetFocus End else close; end; Программағ а тү сіеіктеме FormActivate ө ң деушісінің программа терезесін екпінді жасағ аннан кейін, X: =Random(1001); Операторының кө мегімен 0 мен 1001 аралығ ынан алынғ ан бү тін кездейсоқ санды ө ріске орналастырады. Delphi-дің ә рбір компонентінің бү тін санды Tag қ асиеті бар, оны программист ың ғ айына қ арай пайдаланады. FmExample формасының бұ л қ асиетін программа BbRun батырмасының OnClick оқ иғ а ө ң деушісінің алгоритмін екі вариантқ а бө лу ү шін пайдаланады: пайдаланушы санды табады (Tag=0) немесе келесі жолы ойнауы туралы жауап береді (Tag=1). FmExample объектісінің FmExample класының экземплярын қ ұ ру мезетінде оның барлық ө рістерінің мә ні нольге тең естіріледі. Begin MmOutput.Lines.Add('x='+IntToStr(Y)); МеssageBeer(MB OK); // Дыбыс шығ ару LbOutput.Caption: ='Сіз таптың ыз, егер ойнағ ың ыз келсе 1 санын енгізің із: '; Tag: =1; //Келесі сұ рақ қ а жауап енгізу End Сө йтіп, Tag: =1 мә нін қ абылдайды. Ал стандартты МеssageBeeр процедурасы қ ысқ а дыбыстық сигнал шығ арады.Bbrun батырмасының кезекті басылуы пайдаланушының сұ рақ қ а жауапты дайындағ анын білдіреді де, программа оны талдайды. Егер пайдаланушы 1-ден басқ а сан енгізсе FmExample формасының close ә дісіне оралып, программа жұ мысын тоқ татады.
|