Студопедия

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

Разделы сайта

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






Глоссарий. TStringGrid компоненті. Ерекше жағдайларды өңдеу






TStringGrid компоненті. Ерекше жағ дайларды ө ң деу

TString Grid компоненті ұ яшық тарына еркін текстік жолдар орналасқ ан таблицаны қ ұ руғ а арналғ ан. TStringGrid компонентінің Cells [ACol, ARow] қ асиеті [ACol, ARow] (бағ ан нө мері, жол нө мері) таблицалық координатты ұ яшық мә нін анық тайды.

Ерекшелікті ө ң деу ү шін Object Pascal- да блокты қ орғ ау механизмі қ арастырылғ ан:

Try

< операторлар>

Except

< ерекшелікті ө ң деу>

Else

< операторлар>

End;

 

1. Дайындық жұ мысы.

1.1. Ө з каталогың ызда LabЗ каталогын қ ұ рың ыз.

2. TStringGrid компонентін қ олданып қ осымша қ ұ ру. Қ осымшада ә р студенттің орта балы есептеледі. Бастапқ ы ақ парат – ә р студенттің бағ асы таблицағ а енгізілді.

Таблицаның соң ғ ы бағ анында есеп шешімі – студенттің балы бейнеленеді.

Қ осымша мысалды жү ктең із. Ол ү шін file\Opеn командаларын орындаң ыз. Қ осымша- мысал С: \Delphi\Fam\Lab3 ішкі каталогында орналасқ ан.

Ескерту: Қ осымшаны жү ктеу ү шін проект файлын ашу керек.

2.1. Қ осымша терезесімен танысың ыз. Қ осымшада қ олданылатын компоненттер таблицада кө рсетілген. Таблицада мә ндері ө згертілген қ асиеттер келтірілген.

Компоненттер Қ асиеттер
Panell Caption – тазарту Align – alBottom
BitBtn2 Kind – bkClose
StringGrid1 Align – alClient ColCount – 6 RowCount – 30 Default ColWidth – 100 Options| goEditing – True (Бұ л жағ дайда ұ яшық ты редакциялауғ а болады).
Forml Caption – Lab3

 

2.2. Программамен танысың ыз.

Программада StringGrid1 компонентінің OnSet EditText (Sender: Tobject, Acol, Arow: LongInt; Const Value: String) оқ иғ асы қ олданылады. Бұ л оқ иғ а ұ яшық ты (ACol, ARow) редакциялауды аяқ тағ анда пайда болады. Value параметрінде оқ иғ а енгізу нә тижесін текстті редакциялауды алады.

Программада қ олданылғ ан TStringGrid компоненттінің Cells [ACol, A Row] қ асиеті [ACol, A Row] таблицалық координатты ұ яшық мә нін анық тайды. Кө ң іл аударың ыз, бірінші жолда бағ ан нө мері, екінші орында жол нө мері орналасқ ан. А массиві Cells массивіне қ атысты транспонирленген.

Const nn = 30; mm = 5;

//Оқ ушылардың саны=30.

// Емтихан саны=5.

var

Form1: TForm1; n: Integer;

a: array [1..nn, 1..mm] of Real;

ss: Array [1..nn] Of Real;

 

// n- оқ ушының ағ ымдағ ы нө мері. Оқ ушылар саны.

// а- бағ алар массиві..

// ss- оқ ушылардың орта балына арналғ ан массив.

implementation

{$R *.DFM}

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,

ARow: Integer; const Value: String);

Var b: Real; j: Byte;

//b-редакциялау жолының нақ ты мә ні.

//j- а матрицасының ағ ымдағ ы бағ ан нө меріне арналғ ан цикл параметрі.

begin

With StringGrid1 Do

Begin

If Value = '' Then Exit; //Erep ештең е енгізілмесе.

// Онда процедурадан шығ у.

//Қ орғ алғ ан блок басы.

Try b: = StrToFloat(Value)

except ShowMessage('символ дұ рыс емес! '); b: =0

End; // Қ орғ алғ ан блок соң ы.

// Дұ рыс енгізілмеген бағ ағ а реакция.

If (b< 1) or (b> 5) then Begin Cells[Acol, ARow]: =''; Exit; End;

Cells[Acol, ARow]: =Value; // Бағ аны таблицағ а белгілеу.

a[arow, Acol]: =b; // Бағ аны массивке жазу.

// Тө менде орта балл есептеледі.

SS[aRow]: =0; For j: =1 To 4 Do SS[aRow]: =SS[aRow]+a[aRow, j];

SS[aRow]: =ss[aRow]/4;

// Орта баллды таблицаның 5-ші бағ анында бейнелеу.

Cells[5, aRow]: = FormatFloat('##.##', SS[aRow])

End;

еnd;

3. Қ орғ алғ ан блок механизмі

3.1.Ә р ерекше жағ дайда программаны басқ аруды Delphi ортасы алады. Ерекше жағ дайды ө зіміз басқ ару ү шін, ортаның бұ л тә ртібін алып тастау қ ажет. Ол ү шін Tools\
Debugger опцияларын шақ ырың ыз жә не Language Exceptions бетінде Stop on Delphi exceptions айырғ ышындағ ы таң дауды алып тастаң ыз.

3.2. Программада қ орғ алғ ан блок механизмі қ олданылады. Егер ұ яшық қ а цифрдан ө згеше символ енгізілсе, онда экранда мына хабар шығ ады: < < Символ дұ рыс емес! > >.

 

Жаң а компоненттер, қ асиеттер, оқ иғ алар:
TStringGrid
ColCount Таблицадағ ы бағ андар саны
RowCount Таблицадағ ы жолдар саны.
DefaultColWidth Таблица бағ анының ені.
Cells(ACol, ARow) Ұ яшық мә нін анық тайды
Options/go Editing Тгuе енгізілген. Бұ л жағ дайда таблицаны редакциялауғ а болады.
  OnSetEditText Оқ иғ а. Ұ яшық ты редакциялауды аяқ тағ анда пайда болады. Value параметріне енгізу нә тижесі меншіктеледі.

 

 

Лабораториялық жұ мыс №4

Тақ ырыбы: Программа компиляциясы жә не жө ндеу

Мақ саты: Интегралданғ ан жө ндеуші ұ сынатын мү мкіндіктерді оқ ыту.

Материалдар жә не қ ұ ралдар: дә ріс конспекстісі, Дельфи программалау ортасы

 

Жұ мыстың мазмұ ны жә не орындалу тә ртібі:

1. Теориялық материалды оқ у

2. Вариант бойынша тапсырмаларды орындау

3. Бақ ылау сұ рақ тарына жауап беру

4. Орындалғ ан жұ мыс жө нінде есеп беру

 

Лабораториялық жұ мыс бойынша есеп:

1. лабораториялық жұ мыс №4

2. тақ ырыбы, тапсырма варианты

3. Есепті шешу алгоритмі

4. Программа листингі

5. блиц-тестке жауап беру

Тапсырма: Алдың ғ ы сабақ та қ ұ рғ ан проектті ашың ыз жә не жаң а тапсырма шартына сә йкес ө згертің із.

Варианттар Алғ ашқ ы мә ліметтер  
  Жарыс нә тижесін ө ң дейтін қ осымша қ ұ рың ыз. Алғ ашқ ы мә ліметтер: спортшы фамилиясы, старт уақ ыты, мә ре уақ ыты, бақ ылау уақ ыты. Бақ ылау уақ ытына іліккен спортшылар фамилиясын шығ арың ыз. Нұ сқ ау: спортшылар фамилиясын типтік тұ рақ ты - массив тү рінде берің із. Старт уақ ыты жә не мә ре уақ ытын таблицағ а енгізің із; ТMemo компонентінде кө рсетің із.
  ТStringGrіd таблицасы кө мегімен матрица элементтерін енгіз жә не бағ ан мә ні квадратының қ осындысын тап. Бағ ан элементтері қ осындысының ү лкенін немесе жол элементтері қ осындысының ү лкенін есептеуді таң дау аркылы ұ йымдастыр. Нә тижесі TEdit компонентінде кө рсетің із.
  Студенттер группаларының орта параметрлерін есепте. Алғ ашқ ы мә ліметтер: студенттер фамилиясы, ә р студенттің тест нә тижесі: ә р студенттің салмағ ы жә не бойы. Группа студенттерінің орта балын, орта салмағ ын жә не бойын есепте.
  Фирманың 4 агентінің қ ызмет корытындысын таблицада кө рсетің із. Бастаикы информация: агент фамилиясы жә не квартал сату кө лемі. Ә р агенттің жыл бойынша сату кө лемін есептең із жә не жақ сы нә тиже кө рсеткен агент фамилиясын шығ арың ыз.
  Студентгердің сабақ қ а қ атысу мә лметін таблица тү рінде кө рсетің із. Бастапқ ы информация: фамилия, группа нө мері, дә лелді жә не дә лелсіз себептермен жіберілген сағ аттар саны. Дә лелсіз себептермен ХХХ сағ. жіберген студенттер тізімін алың ыз. XХХ- енгізілетін шама.

Блиц-тест:

1.Егер у – нақ ты типті, ал n - бү тін типті айнымалы болса, онда меншіктеу операторының қ айсысы дұ рыс?

а) y: =n+1

б) n: =y

в) n: =y/2

г) n: =4.55

д) y: =n and 3

Бақ ылау сұ рақ тары:

1. Объектілі-бағ ытталғ ан бадарламалау. Негізгі тү сініктер.

2. Жаң а класс қ ұ ру. Типті сипаттау. Айнымалылар мен класс ә дістерін сипаттау.

3. Оқ иғ алар қ асиеттері, ә дістері мен ө ң деушілері.

4. Object Pascal тілінің синтаксисінің негіздері.

5. onDblClick оқ иғ асының ө ң деушісін қ алай қ ұ руғ а болады?

6. onChange оқ иғ асының ө ң деушісін қ алай қ ұ руғ а болады?

7. Ішкі программалар. Негізгі ұ ғ ымдар.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.