Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Тапсырма №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 ә дісіне оралып, программа жұ мысын тоқ татады.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал