Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Разработка_и_анализ_требований_практика

.pdf
Скачиваний:
26
Добавлен:
04.06.2015
Размер:
5.31 Mб
Скачать

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

9) ɉɟɪɟɣɞɟɦ ɤ ɮɨɪɦɟ ɉɪɟɩɨɞɚɜɚɬɟɥɢ. ɍɞɚɥɢɦ ɜɫɟ ɤɧɨɩɤɢ ɧɚ ɮɨɪɦɟ. ȼɫɟ ɞɟɣɫɬɜɢɹ ɛɭɞɭɬ ɜɵɡɵɜɚɬɶɫɹ ɢɡ ɝɥɚɜɧɨɝɨ ɦɟɧɸ.

2.Ⱦɨɛɚɜɢɦ ɧɚ ɮɨɪɦɭ ɤɨɦɩɨɧɟɧɬ

MainMenu (ɤɚɬɟɝɨɪɢɹ Components). ɋɨɡ-

ɞɚɞɢɦ ɩɭɧɤɬ Ⱦɟɣɫɬɜɢɟ, ɜ ɧɟɦ ɬɪɢ ɩɭɧɤ-

ɬɚ: Ʉɚɮɟɞɪɚ, ɉɪɟɩɨɞɚɜɚɬɟɥɶ, Ɂɚɤɪɵɬɶ. ȼ ɩɭɧɤɬɚɯ Ʉɚɮɟɞɪɚ ɢ ɉɪɟɩɨɞɚɜɚɬɟɥɶ ɟɳɟ ɬɪɢ ɩɭɧɤɬɚ: Ⱦɨɛɚɜɢɬɶ, Ɋɟ-

ɞɚɤɬɢɪɨɜɚɬɶ, ɍɞɚɥɢɬɶ. Ʉɪɨɦɟ ɤɨɦɚɧɞ ɜ ɦɟɧɸ ɦɨɠɧɨ ɞɨɛɚɜɢɬɶ ɪɚɡɞɟɥɢɬɟɥɶ

ɝɨɪɢɡɨɧɬɚɥɶɧɭɸ ɥɢɧɢɸ. Ⱦɥɹ ɷɬɨɝɨ ɫɥɟɞɭɟɬ ɜɵɞɟɥɢɬɶ ɤɨɦɚɧɞɭ, ɩɟɪɟɞ ɤɨɬɨɪɨɣ ɧɚɞɨ ɩɨɦɟɫɬɢɬɶ ɪɚɡɞɟɥɢɬɟɥɶ, ɢ ɢɡ ɤɨɧɬɟɤɫɬɧɨɝɨ ɦɟɧɸ ɜɵɛɪɚɬɶ ɤɨɦɚɧɞɭ

Insert Separator (ɪɢɫ. 9.2).

3.Ⱦɥɹ ɪɚɛɨɬɵ ɫ ɨɛɴɟɤɬɚɦɢ ɬɚɛɥɢɰɵ ɛɭɞɟɦ ɩɪɢɦɟɧɹɬɶ ɨɬɞɟɥɶɧɵɟ ɨɤɧɚ. ɋɨɡɞɚɞɢɦ ɧɨɜɭɸ ɮɨɪɦɭ ɤɨɦɚɧɞɨɣ File > New > Other. ȼɵɛɟɪɟɦ ɡɧɚɱɨɤ ECO Enabled Windows Form ɢɡ ɜɤɥɚɞɤɢ New ECO Files (ɤɚɬɟɝɨɪɢɹ Delphi for .NET Projects). ȼ ɷɬɨɣ ɮɨɪɦɟ ɛɭɞɟɦ ɞɨɛɚɜɥɹɬɶ ɤɚɮɟɞɪɭ, ɧɚɡɨɜɟɦ ɟɟ wfChairAdd (ɤɥɚɫɫ TChairAdd), ɜ ɫɜɨɣɫɬɜɟ Text ɜɜɟɞɟɦ ɡɧɚɱɟɧɢɟ Ⱦɨɛɚɜɥɟɧɢɟ ɤɚɮɟɞɪɵ.

Ɋɢɫ. 9.2. ȼɫɬɚɜɤɚ ɪɚɡɞɟɥɢɬɟɥɹ ɜ ɫɩɢɫɨɤ ɤɨɦɚɧɞ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-151-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

4.ɇɚɫɬɪɨɢɦ ɜɵɡɨɜ ɷɬɨɣ ɮɨɪɦɵ ɩɨ ɜɵɛɨɪɭ ɩɭɧɤɬɚ ɦɟɧɸ Ⱦɟɣɫɬɜɢɟ >

Ʉɚɮɟɞɪɚ > Ⱦɨɛɚɜɢɬɶ. ɉɟɪɟɣɞɟɦ ɤ ɜɤɥɚɞɤɟ Code ɮɨɪɦɵ Ⱦɨɛɚɜɥɟɧɢɟ ɤɚ-

ɮɟɞɪɵ. Ɉɛɴɹɜɢɦ ɩɟɪɟɦɟɧɧɭɸ, ɨɬɜɟɬɫɬɜɟɧɧɭɸ ɡɚ ɫɨɡɞɚɧɢɟ ɞɚɧɧɨɣ ɮɨɪɦɵ: var

callChairAdd: TChairAdd;

5.ɑɬɨɛɵ ɜɵɡɜɚɬɶ ɮɨɪɦɭ ɤɚɤ ɞɨɱɟɪɧɸɸ ɜ Ƚɥɚɜɧɨɣ ɮɨɪɦɟ, ɫɨɡɞɚɞɢɦ

ɜɩɨɫɥɟɞɧɟɣ ɩɟɪɟɦɟɧɧɭɸ ParentWin: TMain. ȼ ɤɨɧɫɬɪɭɤɬɨɪɟ ɫɨɡɞɚɧɢɹ Ƚɥɚɜ-

ɧɨɣ ɮɨɪɦɵ (constructor TMain.Create) ɩɪɨɩɢɲɟɦ ɫɬɪɨɤɭ:

ParentWin :=self;

Ɍɟɩɟɪɶ ɦɵ ɦɨɠɟɦ ɨɛɪɚɳɚɬɶɫɹ ɱɟɪɟɡ ɷɬɭ ɩɟɪɟɦɟɧɧɭɸ ɤ ɪɨɞɢɬɟɥɶɫɤɨɦɭ

ɨɤɧɭ.

6.ɉɟɪɟɣɞɟɦ ɤ ɮɨɪɦɟ ɉɪɟɩɨɞɚɜɚɬɟɥɢ. ɑɬɨɛɵ ɜ ɧɟɣ ɛɵɥɢ ɜɢɞɧɵ ɫɨɡɞɚɧɧɵɟ ɩɟɪɟɦɟɧɧɵɟ, ɩɨɞɤɥɸɱɢɦ ɮɨɪɦɵ wfChairAdd ɢ wfMain ɤɨɦɚɧɞɨɣ File >

>Use Unit.

7.ɇɚ ɫɨɛɵɬɢɟ ɜɵɛɨɪɚ ɩɭɧɤɬɚ ɦɟɧɸ Ⱦɟɣɫɬɜɢɟ > Ʉɚɮɟɞɪɚ > Ⱦɨɛɚɜɢɬɶ ɩɪɨɩɢɲɟɦ ɫɥɟɞɭɸɳɢɟ ɨɩɟɪɚɰɢɢ:

callChairAdd := TChairAdd.Create(EcoSpace); callChairAdd.MdiParent := ParentWin; callChairAdd.Show;

8.ȼɟɪɧɟɦɫɹ ɤ ɮɨɪɦɟ Ⱦɨɛɚɜɥɟɧɢɟ ɤɚɮɟɞɪɵ. Ɋɚɡɦɟɫɬɢɦ ɧɚ ɧɟɣ ɬɪɢ ɤɨɦɩɨɧɟɧɬɚ Label, ɬɪɢ ɤɨɦɩɨɧɟɧɬɚ TextBox (ɤɚɬɟɝɨɪɢɹ Windows Forms) ɢ ɞɜɟ ɤɧɨɩɤɢ. ɇɚɡɨɜɟɦ ɫɨɡɞɚɧɧɵɟ ɤɨɦɩɨɧɟɧɬɵ ɎɂɈ ɩɪɟɩɨɞɚɜɚɬɟɥɹ, ɍɱɟɧɚɹ ɫɬɟɩɟɧɶ, Ɇɚɤɫɢɦɚɥɶɧɨɟ ɤɨɥɢɱɟɫɬɜɨ ɱɚɫɨɜ (ɪɢɫ. 9.3).

9.Ⱦɥɹ ɬɨɝɨ ɱɬɨɛɵ ɜɨ ɜɪɟɦɹ ɪɚɛɨɬɵ ɩɪɨɝɪɚɦɦɵ ɩɨɥɶɡɨɜɚɬɟɥɶ ɧɟ ɦɨɝ ɩɪɢ ɩɨɦɨɳɢ ɦɵɲɢ ɢɡɦɟɧɢɬɶ ɪɚɡɦɟɪ ɨɤɧɚ, ɜ ɫɜɨɣɫɬɜɟ FormBorderStyle ɧɚɫɬɪɨɣɤɢ ɮɨɪɦɵ ɭɫɬɚɧɨɜɢɦ ɡɧɚɱɟɧɢɟ FixedDialog. ɑɬɨɛɵ ɜ ɡɚɝɨɥɨɜɤɟ ɨɤɧɚ ɧɟ ɨɬɨɛɪɚɠɚɥɢɫɶ ɫɢɫɬɟɦɧɵɟ ɤɧɨɩɤɢ ɋɜɟɪɧɭɬɶ, Ɋɚɡɜɟɪɧɭɬɶ ɢ Ɂɚɤɪɵɬɶ, ɜ ɫɜɨɣɫɬɜɟ ControlBox ɭɫɬɚɧɨɜɢɦ ɡɧɚɱɟɧɢɟ False.

Ɋɢɫ. 9.3. ɇɚɫɬɪɨɣɤɚ ɤɨɦɩɨɧɟɧɬɨɜ ɮɨɪɦɵ Ⱦɨɛɚɜɥɟɧɢɟ ɤɚɮɟɞɪɵ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-152-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

10.ɉɨɞɤɥɸɱɢɦ ɮɚɣɥ packModelUnit ɤɨɦɚɧɞɨɣ File > Use Unit ɢ ɜɵɛɟ-

ɪɟɦ ɜ ɫɜɨɣɫɬɜɟ EcoSpaceType ɤɨɦɩɨɧɟɧɬɚ RHRoot ɡɧɚɱɟɧɢɟ projDeanOfficeEcoSpace, ɱɬɨɛɵ ɩɨɥɭɱɢɬɶ ɞɨɫɬɭɩ ɤ ɩɪɨɫɬɪɚɧɫɬɜɭ ECO. ɇɟɨɛɯɨɞɢɦɨ, ɱɬɨɛɵ packModelUnit ɛɵɥ ɨɛɴɹɜɥɟɧ ɜ ɪɚɡɞɟɥɟ ɢɧɬɟɪɮɟɣɫɚ ɦɨɞɭɥɹ ɮɨɪɦɵ. interface

uses packModelUnit,

11.ɋɨɡɞɚɞɢɦ ɨɛɵɱɧɵɣ ɨɛɪɚɛɨɬɱɢɤ ɧɚɠɚɬɢɹ ɤɧɨɩɤɢ ɈɄ. ȼ ɧɟɦ ɡɚɩɢɲɟɦ ɤɨɦɚɧɞɭ ɫɨɡɞɚɧɢɹ ɧɨɜɨɝɨ ɨɛɴɟɤɬɚ Ʉɚɮɟɞɪɚ. Ⱦɥɹ ɷɬɨɝɨ ɡɚɞɟɣɫɬɜɭɟɦ ɤɨɧɫɬɪɭɤɬɨɪ (ɦɟɬɨɞ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ), ɫɭɳɟɫɬɜɭɸɳɢɣ ɜɨ ɜɫɟɯ ɤɥɚɫɫɚɯ ȿɋɈ. ɉɚɪɚɦɟɬɪɨɦ ɟɝɨ ɞɨɥɠɧɚ ɛɵɬɶ ɫɫɵɥɤɚ ɧɚ ɨɛɴɟɤɬɧɨɟ ɩɪɨɫɬɪɚɧɫɬɜɨ ɦɨɞɟɥɢ, ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɫɨɡɞɚɜɚɟɦɨɟ ɧɚ ɜɪɟɦɹ ɪɚɛɨɬɵ ɩɪɨɝɪɚɦɦɵ. ɗɬɚ ɫɫɵɥɤɚ ɩɪɟɞɫɬɚɜɥɟɧɚ ɢɞɟɧɬɢɮɢɤɚɬɨɪɨɦ EcoSpace, ɤɨɬɨɪɵɣ ɨɛɨɡɧɚɱɚɟɬ ɫɜɨɣɫɬɜɨ ɬɟɤɭɳɟɣ ɮɨɪɦɵ, ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɫɨɡɞɚɜɚɟɦɨɟ ɞɥɹ ɩɪɨɟɤɬɚ ȿɋɈ. ɉɨɫɥɟ ɫɨɡɞɚɧɢɹ ɩɭɫɬɨɝɨ ɨɛɴɟɤɬɚ ɧɟɨɛɯɨɞɢɦɨ ɡɚɩɨɥɧɢɬɶ ɩɨɥɹ ɞɚɧɧɵɦɢ. Ⱦɥɹ ɷɬɨɝɨ ɩɪɢɫɜɨɢɦ ɡɧɚɱɟɧɢɹ, ɜɜɟɞɟɧɧɵɟ ɩɨɥɶɡɨɜɚɬɟɥɟɦ, ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɦ ɩɨɥɹɦ ɫɨɡɞɚɧɧɨɝɨ ɨɛɴɟɤɬɚ. procedure TChairAdd.Button1_Click(sender: System.Object; e:

System.EventArgs); var

NewChair : clChair; begin

NewChair := clChair.Create(EcoSpace); NewChair.ChairName := TextBox1.Text; NewChair.ChairHeadSNP := TextBox2.Text; NewChair.ChairSecrSNP := TextBox3.Text; Close; // ɡɚɤɪɵɬɢɟ ɨɤɧɚ

end;

Ⱦɚɧɧɵɣ ɤɨɞ ɮɭɧɤɰɢɨɧɚɥɶɧɨ ɷɤɜɢɜɚɥɟɧɬɟɧ ɜɢɡɭɚɥɶɧɨɣ ɧɚɫɬɪɨɣɤɟ ɤɧɨɩɤɢ ɧɚ ɞɟɣɫɬɜɢɟ Add (Ⱦɨɛɚɜɢɬɶ). Ɍɨɝɞɚ ɦɵ ɜɵɛɪɚɥɢ ɩɨɫɬɚɜɳɢɤ ɨɛɴɟɤɬɨɜ (ɤɨɪɧɟɜɨɣ ɞɟɫɤɪɢɩɬɨɪ, ɫɜɹɡɚɧɧɵɣ ɫ ɨɛɴɟɤɬɧɵɦ ɩɪɨɫɬɪɚɧɫɬɜɨɦ) ɜ ɟɟ ɫɜɨɣɫɬɜɟ RootHandle. ȼɵɩɨɥɧɹɟɦɨɟ ɤɧɨɩɤɨɣ ɞɟɣɫɬɜɢɟ (ɫɨɡɞɚɧɢɟ ɨɛɴɟɤɬɚ) ɡɚɞɚɜɚɥɨɫɶ ɜ ɟɟ ɫɜɨɣɫɬɜɟ EcoListAction.

ɇɨɜɵɣ ɷɤɡɟɦɩɥɹɪ ɤɥɚɫɫɚ clChair ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɪɚɡɦɟɫɬɢɬɫɹ ɜ ɤɷɲɟ ɨɛɴɟɤɬɧɨɝɨ ɩɪɨɫɬɪɚɧɫɬɜɚ EcoSpace. ɑɟɪɟɡ ɞɟɫɤɪɢɩɬɨɪ ehChair ɨɧ ɬɚɤɠɟ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɩɪɟɞɫɬɚɜɥɹɟɬɫɹ ɜ ɬɚɛɥɢɰɟ – ɫɩɟɰɢɚɥɶɧɵɟ ɞɟɣɫɬɜɢɹ ɞɥɹ ɷɬɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɬɶ ɧɟ ɧɚɞɨ. ȿɫɥɢ ɬɟɩɟɪɶ ɡɚɩɭɫɬɢɬɶ ɩɪɨɝɪɚɦɦɭ, ɬɨ ɩɨɫɥɟ ɧɚɠɚɬɢɹ ɤɧɨɩɤɢ ɬɚɛɥɢɰɚ ɩɨɩɨɥɧɹɟɬɫɹ ɧɨɜɵɦɢ ɨɛɴɟɤɬɚɦɢ.

12. ɋɮɨɪɦɢɪɭɟɦ ɨɛɪɚɛɨɬɱɢɤ ɧɚɠɚɬɢɹ ɤɧɨɩɤɢ Ɉɬɦɟɧɚ. ɉɪɢ ɧɚɠɚɬɢɢ ɧɚ ɷɬɭ ɤɧɨɩɤɭ ɨɛɴɟɤɬ ɧɟ ɞɨɥɠɟɧ ɫɨɡɞɚɜɚɬɶɫɹ, ɨɤɧɨ ɡɚɤɪɵɜɚɟɬɫɹ.

procedure TChairAdd.Button2_Click(sender: System.Object; e: System.EventArgs);

begin Close;

end;

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-153-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

13.ȼɜɟɞɟɧɧɵɟ ɢɡɦɟɧɟɧɢɹ ɫɨɯɪɚɧɢɦ ɜ ɛɚɡɟ ɞɚɧɧɵɯ. ɗɬɨ ɦɨɠɧɨ ɫɞɟɥɚɬɶ

ɤɨɦɚɧɞɨɣ

EcoGlobalActions.ExecuteAction(EcoAction(1),RHRoot);

10)ɉɨɦɟɫɬɢɦ ɟɟ ɜ ɨɛɪɚɛɨɬɱɢɤ ɫɨɛɵɬɢɹ ɡɚɤɪɵɬɢɹ ɨɤɧɚ Ⱦɨɛɚɜɥɟɧɢɟ ɤɚɮɟɞɪɵ (Closed). ȼ ɞɚɥɶɧɟɣɲɟɦ ɛɭɞɟɦ ɢɫɩɨɥɶɡɨɜɚɬɶ ɞɚɧɧɭɸ ɤɨɦɚɧɞɭ ɩɨɫɥɟ ɥɸɛɨɝɨ ɢɡɦɟɧɟɧɢɹ ɞɚɧɧɵɯ.

14.Ɂɚɩɭɫɬɢɦ ɩɪɢɥɨɠɟɧɢɟ, ɩɪɨɜɟɪɢɦ ɮɭɧɤɰɢɨɧɢɪɨɜɚɧɢɟ ɧɚɫɬɪɨɟɧɧɵɯ ɤɧɨɩɨɤ (ɫɦ. ɪɢɫ. 9.4).

15.ɇɚɫɬɪɨɢɦ ɞɨɛɚɜɥɟɧɢɟ ɩɪɟɩɨɞɚɜɚɬɟɥɹ ɜ ɨɬɞɟɥɶɧɨɦ ɨɤɧɟ. Ɉɧɨ ɛɭɞɟɬ ɜɵɡɵɜɚɬɶɫɹ ɜɵɛɨɪɨɦ ɩɭɧɤɬɚ ɦɟɧɸ Ⱦɟɣɫɬɜɢɟ > ɉɪɟɩɨɞɚɜɚɬɟɥɶ > Ⱦɨɛɚɜɥɟ-

ɧɢɟ. Ɍɚɤ ɤɚɤ ɨɞɧɨɣ ɤɚɮɟɞɪɟ ɦɨɠɟɬ ɩɪɢɧɚɞɥɟɠɚɬɶ ɧɟɫɤɨɥɶɤɨ ɩɪɟɩɨɞɚɜɚɬɟɥɟɣ, ɬɨ ɩɟɪɟɞ ɞɨɛɚɜɥɟɧɢɟɦ ɨɛɴɟɤɬɚ ɉɪɟɩɨɞɚɜɚɬɟɥɶ, ɧɭɠɧɨ ɨɩɪɟɞɟɥɢɬɶ ɤ ɤɚɤɨɣ ɤɚɮɟɞɪɟ ɧɟɨɛɯɨɞɢɦɨ ɟɝɨ ɞɨɛɚɜɢɬɶ. ɉɨɷɬɨɦɭ ɩɟɪɟɞ ɫɨɡɞɚɧɢɟɦ ɨɤɧɚ Ⱦɨɛɚɜɥɟɧɢɟ ɩɪɟɩɨɞɚɜɚɬɟɥɹ ɫɨɯɪɚɧɢɦ ɬɟɤɭɳɢɣ ɨɛɴɟɤɬ ɤɚɮɟɞɪɵ ɜ ɩɟɪɟɦɟɧɧɭɸ:

CurChair := clChair(cmhChair.Element.AsObject);

Ɋɢɫ. 9.4. Ⱦɨɛɚɜɥɟɧɢɟ ɨɛɴɟɤɬɚ ɜ ɨɬɞɟɥɶɧɨɦ ɨɤɧɟ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-154-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

ɇɚɠɚɜ ɤɧɨɩɤɭ ɈɄ, ɫɜɹɠɟɦ ɫɨɡɞɚɧɧɵɣ ɨɛɴɟɤɬ ɉɪɟɩɨɞɚɜɚɬɟɥɶ ɫ ɬɟɤɭɳɢɦ ɨɛɴɟɤɬɨɦ Ʉɚɮɟɞɪɚ:

CurChair.roleLecturers.Add(NewLect);

ɉɨɞɨɛɧɵɦ ɨɛɪɚɡɨɦ ɧɚɫɬɪɨɢɦ ɞɨɛɚɜɥɟɧɢɟ ɞɢɫɰɢɩɥɢɧɵ ɜ ɨɬɞɟɥɶɧɨɦ ɨɤɧɟ. Ɉɧɨ ɛɭɞɟɬ ɫɨɡɞɚɜɚɬɶɫɹ ɜɵɛɨɪɨɦ ɩɭɧɤɬɚ ɦɟɧɸ ɜ ɨɤɧɟ ɉɪɟɩɨɞɚɜɚɬɟɥɢ.

Ɋɫɩɞɫɛɧɧɨɩɠ ɮɟɛɦɠɨɣɠ ɩɜɵɠɥɭɛ

11) ɇɚɫɬɪɨɢɦ ɭɞɚɥɟɧɢɟ ɨɛɴɟɤɬɚ Ʉɚɮɟɞɪɚ. Ⱦɥɹ ɞɨɫɬɭɩɚ ɤ ɩɪɨɫɬɪɚɧɫɬɜɭ ECO ɩɨɞɤɥɸɱɢɦ ɤ ɮɨɪɦɟ ɮɚɣɥ packModelUnit (ɜ ɪɚɡɞɟɥɟ Interface ɦɨɞɭɥɹ ɮɨɪɦɵ). ȼ ɨɛɪɚɛɨɬɱɢɤɟ ɫɨɛɵɬɢɹ ɜɵɛɨɪɚ ɩɭɧɤɬɚ ɦɟɧɸ Ⱦɟɣɫɬɜɢɟ > Ʉɚɮɟɞɪɚ > ɍɞɚɥɢɬɶ ɡɚɩɢɲɟɦ ɫɥɟɞɭɸɳɢɣ ɤɨɞ:

procedure TLecturer.MenuItem9_Click(sender: System.Object; e: System.EventArgs);

var

CurChair: clChair; DelChair: string;

result: System.Windows.Forms.DialogResult; begin

if ehChair.GetList.Count <> 0 then begin

if cmhChair.Element.AsObject is clChair then

begin

CurChair := clChair(cmhChair.Element.AsObject); DelChair := 'ȼɵ ɯɨɬɢɬɟ ɭɞɚɥɢɬɶ ɤɚɮɟɞɪɭ ' + Cur-

Chair.ChairName + ' ?';

result := MessageBox.Show(DelChair, 'ɍɞɚɥɟɧɢɟ ɤɚɮɟɞɪɵ', MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if(result = System.Windows.Forms.DialogResult.Yes) then

CurChair.AsIObject.Delete; EcoGlobalAc-

tions.ExecuteAction(EcoAction(1),RHRoot);

end;

end;

end;

ɉɟɪɟɞ ɥɢɤɜɢɞɚɰɢɟɣ ɨɛɴɟɤɬɚ ɧɚɞɨ ɨɩɪɟɞɟɥɢɬɶ, ɤɚɤɨɣ ɨɛɴɟɤɬ ɩɪɨɫɬɪɚɧɫɬɜɚ ECO ɩɨɞɥɟɠɢɬ ɭɧɢɱɬɨɠɟɧɢɸ. ȼɨɫɩɨɥɶɡɭɟɦɫɹ ɤɨɦɩɨɧɟɧɬɨɦ cmhChair. ɉɟɪɟɦɟɧɧɚɹ CurChair ɛɭɞɟɬ ɯɪɚɧɢɬɶ ɥɨɤɚɥɶɧɵɣ ɷɤɡɟɦɩɥɹɪ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ (ɜɵɞɟɥɟɧɧɨɝɨ ɜ ɬɚɛɥɢɰɟ Ʉɚɮɟɞɪɵ). ɉɟɪɟɞ ɭɞɚɥɟɧɢɟɦ ɨɛɴɟɤɬɚ ɧɟɨɛɯɨɞɢɦɨ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-155-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

ɩɪɨɜɟɪɢɬɶ, ɹɜɥɹɟɬɫɹ ɥɢ ɜɵɛɪɚɧɧɵɣ ɜ ɬɚɛɥɢɰɟ ɷɥɟɦɟɧɬ ɩɪɟɞɫɬɚɜɢɬɟɥɟɦ ɤɥɚɫɫɚ clChair. Ⱦɥɹ ɷɬɨɝɨ ɨɛɪɚɬɢɦɫɹ ɤ ɫɜɨɣɫɬɜɭ Element ɤɨɦɩɨɧɟɧɬɚ cmhChair, ɤɨɬɨɪɨɟ ɨɩɪɟɞɟɥɹɟɬ ɜɵɛɪɚɧɧɵɣ ɤɨɦɩɨɧɟɧɬ. ɋɬɚɧɞɚɪɬɧɵɣ ɦɟɬɨɞ AsObject ɩɨɡɜɨɥɢɬ ɢɧɬɟɪɩɪɟɬɢɪɨɜɚɬɶ ɡɧɚɱɟɧɢɟ ɫɜɨɣɫɬɜɚ Element ɤɚɤ ɫɬɚɧɞɚɪɬɧɵɣ ɨɛɴɟɤɬ

.NET. ɋɪɚɜɧɢɦ ɟɝɨ ɬɢɩ ɫ ɧɭɠɧɵɦ ɧɚɦ ɬɢɩɨɦ (ɤɥɚɫɫɨɦ clChair).

Ⱦɟɫɤɪɢɩɬɨɪ ehChair ɨɪɝɚɧɢɡɭɟɬ ɞɨɫɬɭɩ ɤ ɨɛɴɟɤɬɚɦ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ. ȼɨɫɩɨɥɶɡɭɟɦɫɹ ɟɝɨ ɦɟɬɨɞɚɦɢ GetList ɢ Count, ɱɬɨɛɵ ɩɪɨɜɟɪɢɬɶ ɧɚɥɢɱɢɟ ɯɨɬɹ ɛɵ ɨɞɧɨɝɨ ɨɛɴɟɤɬɚ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ.

ȼɨɫɩɨɥɶɡɭɟɦɫɹ ɝɨɬɨɜɵɦ ɤɨɦɩɨɧɟɧɬɨɦ MessageBox ɞɥɹ ɩɨɞɬɜɟɪɠɞɟɧɢɹ ɭɞɚɥɟɧɢɹ. ȼ ɫɬɪɨɤɨɜɭɸ ɩɟɪɟɦɟɧɧɭɸ DelChair ɡɚɩɢɲɟɦ ɜɨɩɪɨɫɢɬɟɥɶɧɨɟ ɩɪɟɞɥɨɠɟɧɢɟ, ɤɨɬɨɪɨɟ ɩɟɪɟɞɚɞɢɦ ɜ ɤɚɱɟɫɬɜɟ ɩɚɪɚɦɟɬɪɚ ɜ ɦɟɬɨɞ Show ɤɨɦɩɨɧɟɧɬɚ MessageBox. ɉɚɪɚɦɟɬɪ ɦɟɬɨɞɚ Show – MessageBoxButtons.YesNo ɩɨɡɜɨɥɢɬ ɫɨɡɞɚɬɶ ɨɤɧɨ ɫɨɨɛɳɟɧɢɹ ɫ ɞɜɭɦɹ ɤɧɨɩɤɚɦɢ. ȼɨɡɜɪɚɳɚɟɦɨɟ ɡɧɚɱɟɧɢɟ ɨɬ ɷɬɨɝɨ ɤɨɦɩɨɧɟɧɬɚ (Yes ɢɥɢ No) ɩɪɢɫɜɨɢɦ ɩɟɪɟɦɟɧɧɨɣ Result (ɬɢɩɚ System.Windows.Forms.DialogResult). ɉɚɪɚɦɟɬɪ ɦɟɬɨɞɚ Show – MessageBoxIcon.Question ɫɨɡɞɚɫɬ ɜ ɨɤɧɟ ɫɨɨɛɳɟɧɢɹ ɢɤɨɧɤɭ-ɜɨɩɪɨɫ.

12) Ɋɢɫ. 9.5. ɉɪɨɝɪɚɦɦɧɨɟ ɭɞɚɥɟɧɢɟ ɨɛɴɟɤɬɚ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-156-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

13) ɇɚɦ ɧɭɠɟɧ ɢɧɬɟɪɮɟɣɫ IObject ɫɨɡɞɚɧɧɨɝɨ ɥɨɤɚɥɶɧɨɝɨ ɷɤɡɟɦɩɥɹɪɚ (ɯɪɚɧɢɦɨɝɨ ɜ ɩɟɪɟɦɟɧɧɨɣ CurChair), ɩɪɢɫɭɬɫɬɜɭɸɳɢɣ ɭ ɜɫɟɯ ɨɛɴɟɤɬɨɜ ECO ɢ ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɣ ɞɥɹ ɩɪɹɦɨɣ ɦɚɧɢɩɭɥɹɰɢɢ ɨɛɴɟɤɬɧɵɦ ɩɪɨɫɬɪɚɧɫɬɜɨɦ EcoSpace. Ɉɧ ɩɨɡɜɨɥɹɟɬ, ɜ ɱɚɫɬɧɨɫɬɢ, ɭɞɚɥɢɬɶ ɧɭɠɧɵɣ ɷɤɡɟɦɩɥɹɪ ɤɥɚɫɫɚ ɢɡ ɩɪɨɫɬɪɚɧɫɬɜɚ EcoSpace. ɍɞɚɥɟɧɢɟ ɜɵɩɨɥɧɹɟɬɫɹ ɜɵɡɨɜɨɦ ɦɟɬɨɞɚ Delete ɢɧɬɟɪɮɟɣɫɚ IObject. Ɂɚɬɟɦ ɨɛɧɨɜɥɹɟɬɫɹ ɛɚɡɚ ɞɚɧɧɵɯ.

2. Ɂɚɩɭɫɬɢɦ ɩɪɢɥɨɠɟɧɢɟ ɢ ɩɪɨɜɟɪɢɦ ɮɭɧɤɰɢɸ ɭɞɚɥɟɧɢɹ (ɪɢɫ. 9.5). ɍɞɚɥɟɧɢɟ ɨɛɴɟɤɬɨɜ ɉɪɟɩɨɞɚɜɚɬɟɥɶ ɢ Ⱦɢɫɰɢɩɥɢɧɚ ɚɧɚɥɨɝɢɱɧɨ.

Ɋɫɩɞɫɛɧɧɨɩɠ ɫɠɟɛɥɭɣɫɩɝɛɨɣɠ ɩɜɵɠɥɭɛ

14)ɉɟɪɟɣɞɟɦ ɤ ɧɚɫɬɪɨɣɤɟ ɨɩɟɪɚɰɢɢ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɨɛɴɟɤɬɚ. Ɍɚɤ ɠɟ, ɤɚɤ ɢ ɜ ɫɥɭɱɚɟ ɞɨɛɚɜɥɟɧɢɹ, ɞɥɹ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɜɨɫɩɨɥɶɡɭɟɦɫɹ ɨɬɞɟɥɶɧɵɦ ɨɤɧɨɦ. ɋɨɡɞɚɞɢɦ ɧɨɜɭɸ ɮɨɪɦɭ ECO Enabled Windows Form. ȼ ɷɬɨɣ ɮɨɪɦɟ ɛɭɞɟɦ ɪɟɞɚɤɬɢɪɨɜɚɬɶ ɜɵɛɪɚɧɧɭɸ ɜ ɬɚɛɥɢɰɟ ɤɚɮɟɞɪɭ. ɇɚɡɨɜɟɦ ɮɨɪɦɭ wfChairEdit (ɤɥɚɫɫ TChairEdit), ɜ ɫɜɨɣɫɬɜɟ Text ɜɜɟɞɟɦ ɡɧɚɱɟɧɢɟ Ɋɟɞɚɤɬɢɪɨɜɚɧɢɟ ɤɚɮɟɞɪɵ.

15)ɇɚɫɬɪɨɢɦ ɜɵɡɨɜ ɫɨɡɞɚɧɧɨɣ ɮɨɪɦɵ ɩɨ ɜɵɛɨɪɭ ɩɭɧɤɬɚ ɦɟɧɸ Ⱦɟɣɫɬɜɢɟ

>> Ʉɚɮɟɞɪɚ > Ɋɟɞɚɤɬɢɪɨɜɚɬɶ. ɉɟɪɟɣɞɟɦ ɤ ɜɤɥɚɞɤɟ Code ɮɨɪɦɵ wfChairEdit. Ɉɛɴɹɜɢɦ ɩɟɪɟɦɟɧɧɭɸ, ɨɬɜɟɬɫɬɜɟɧɧɭɸ ɡɚ ɫɨɡɞɚɧɢɟ ɞɚɧɧɨɣ ɮɨɪɦɵ: var

callChairEdit: TChairEdit;

3. ɉɟɪɟɣɞɟɦ ɤ ɮɨɪɦɟ ɉɪɟɩɨɞɚɜɚɬɟɥɢ. ɉɨɞɤɥɸɱɢɦ ɮɨɪɦɭ wfChairEdit. Ⱦɥɹ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɨɛɴɟɤɬɚ ɧɚɞɨ ɨɩɪɟɞɟɥɢɬɶ, ɤɚɤɨɣ ɨɛɴɟɤɬ ɩɨɞɥɟɠɢɬ ɪɟɞɚɤɬɢɪɨɜɚɧɢɸ. Ⱦɥɹ ɷɬɨɝɨ ɜ ɮɨɪɦɟ ɉɪɟɩɨɞɚɜɚɬɟɥɢ ɫɨɡɞɚɞɢɦ ɩɟɪɟɦɟɧɧɭɸ ɬɢɩɚ clChair:

var

callLect: TLecturer;

CurChair: clChair;

ȼ ɷɬɨɣ ɩɟɪɟɦɟɧɧɨɣ ɛɭɞɟɦ ɯɪɚɧɢɬɶ ɬɟɤɭɳɢɣ ɨɛɴɟɤɬ.

4. Ⱦɥɹ ɜɡɹɬɢɹ ɬɟɤɭɳɟɝɨ ɨɛɴɟɤɬɚ ɜɨɫɩɨɥɶɡɭɟɦɫɹ ɤɨɦɩɨɧɟɧɬɨɦ cmhChair. ȼ ɨɛɪɚɛɨɬɱɢɤɟ ɫɨɛɵɬɢɹ ɜɵɛɨɪɚ ɩɭɧɤɬɚ ɦɟɧɸ Ⱦɟɣɫɬɜɢɟ > Ʉɚɮɟɞɪɚ > Ɋɟɞɚɤɬɢɪɨɜɚɬɶ ɩɪɨɩɢɲɟɦ ɫɥɟɞɭɸɳɢɟ ɨɩɟɪɚɰɢɢ:

procedure TLecturer.MenuItem8_Click(sender: System.Object; e: System.EventArgs);

begin

if ehChair.GetList.Count <> 0 then

begin

if cmhChair.Element.AsObject is clChair then

CurChair := clChair(cmhChair.Element.AsObject); callChairEdit := TChairEdit.Create(EcoSpace); callChairEdit.MdiParent := ParentWin; callChairEdit.Show;

end;

end;

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-157-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

Ɉɤɧɨ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɛɭɞɟɬ ɫɨɡɞɚɧɨ ɜ ɬɨɦ ɫɥɭɱɚɟ, ɟɫɥɢ ɟɫɬɶ ɯɨɬɹ ɛɵ ɨɞɢɧ ɨɛɴɟɤɬ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ. ȼɨɫɩɨɥɶɡɭɟɦɫɹ ɩɟɪɟɦɟɧɧɨɣ CurChair ɜ ɮɨɪɦɟ Ɋɟɞɚɤɬɢɪɨɜɚɧɢɟ ɤɚɮɟɞɪɵ, ɱɬɨɛɵ ɢɦɟɬɶ ɞɨɫɬɭɩ ɤ ɡɧɚɱɟɧɢɹɦ ɩɨɥɟɣ ɬɟɤɭɳɟɝɨ ɨɛɴɟɤɬɚ.

5.ȼɟɪɧɟɦɫɹ ɤ ɮɨɪɦɟ Ɋɟɞɚɤɬɢɪɨɜɚɧɢɟ ɤɚɮɟɞɪɵ. Ɋɚɡɦɟɫɬɢɦ ɧɚ ɧɟɣ ɬɪɢ ɤɨɦɩɨɧɟɧɬɚ Label, ɬɪɢ ɤɨɦɩɨɧɟɧɬɚ TextBox (ɤɚɬɟɝɨɪɢɹ Windows Forms)

ɢɞɜɟ ɤɧɨɩɤɢ (ɫɦ. ɪɢɫ. 9.6).

6.ȼ ɫɜɨɣɫɬɜɟ FormBorderStyle ɭɫɬɚɧɨɜɢɦ ɡɧɚɱɟɧɢɟ FixedDialog, ɜ

ɫɜɨɣɫɬɜɟ ControlBox – False.

7.ɉɨɞɤɥɸɱɢɦ ɮɚɣɥ packModelUnit, ɜɵɛɟɪɟɦ ɜ ɫɜɨɣɫɬɜɟ EcoSpaceType ɤɨɦɩɨɧɟɧɬɚ RHRoot ɡɧɚɱɟɧɢɟ projDeanOfficeEcoSpace ɞɥɹ ɞɨɫɬɭɩɚ ɤ ɩɪɨɫɬɪɚɧɫɬɜɭ ECO. ɉɨɞɤɥɸɱɢɦ ɮɨɪɦɭ wfLecturer (ɉɪɟɩɨɞɚɜɚɬɟɥɶ), ɱɬɨɛɵ ɢɫɩɨɥɶɡɨɜɚɬɶ ɫɨɡɞɚɧɧɭɸ ɜ ɧɟɣ ɩɟɪɟɦɟɧɧɭɸ CurChair.

8.ɉɪɢ ɜɵɡɨɜɟ ɨɤɧɚ Ɋɟɞɚɤɬɢɪɨɜɚɧɢɟ ɤɚɮɟɞɪɵ ɩɨɥɹ ɤɨɦɩɨɧɟɧɬɨɜ TextBox ɞɨɥɠɧɵ ɫɨɞɟɪɠɚɬɶ ɡɧɚɱɟɧɢɹ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɯ ɩɨɥɟɣ ɨɛɴɟɤɬɚ, ɜɵɛɪɚɧɧɨɝɨ ɞɥɹ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ.

ȼɵɞɟɥɢɦ ɮɨɪɦɭ ɜ ɨɤɧɟ ɉɪɨɟɤɬɢɪɨɜɳɢɤɚ ɢ ɩɟɪɟɣɞɟɦ ɧɚ ɜɤɥɚɞɤɭ Events (ɋɨɛɵɬɢɹ) ɜ ɢɧɫɩɟɤɬɨɪɟ ɨɛɴɟɤɬɨɜ. ȼɵɛɟɪɟɦ ɫɨɛɵɬɢɟ Load ɢ ɫɮɨɪɦɢɪɭɟɦ ɨɛɪɚɛɨɬɱɢɤ, ɜ ɤɨɬɨɪɨɦ ɡɚɩɢɲɟɦ ɫɥɟɞɭɸɳɢɣ ɤɨɞ:

procedure TChairEdit.TChairEdit_Load(sender: System.Object;

e:System.EventArgs);

begin

TextBox1.Text := CurChair.ChairName; TextBox2.Text := CurChair.ChairHeadSNP; TextBox3.Text := CurChair.ChairSecrSNP;

end;

Ɋɢɫ. 9.6. ɇɚɫɬɪɨɣɤɚ ɤɨɦɩɨɧɟɧɬɨɜ ɮɨɪɦɵ Ɋɟɞɚɤɬɢɪɨɜɚɧɢɟ ɤɚɮɟɞɪɵ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-158-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

9. ɉɨɫɥɟ ɬɨɝɨ, ɤɚɤ ɩɨɥɶɡɨɜɚɬɟɥɶ ɨɬɪɟɞɚɤɬɢɪɨɜɚɥ ɞɚɧɧɵɟ, ɫɨɯɪɚɧɢɦ ɢɡɦɟɧɟɧɢɹ. ɋɨɯɪɚɧɟɧɢɟ ɩɪɨɢɫɯɨɞɢɬ ɢ ɜ ɫɥɭɱɚɟ, ɤɨɝɞɚ ɞɚɧɧɵɟ ɧɟ ɛɵɥɢ ɢɡɦɟɧɟɧɵ. ȼ ɨɛɪɚɛɨɬɱɢɤɟ ɧɚɠɚɬɢɹ ɤɧɨɩɤɢ ɈɄ ɡɚɩɢɲɟɦ ɤɨɞ:

procedure TChairEdit.Button1_Click(sender: System.Object;

e:System.EventArgs); CurChair.ChairName := TextBox1.Text;

CurChair.ChairHeadSNP := TextBox2.Text; CurChair.ChairSecrSNP := TextBox3.Text;

Close;

end;

ɗɬɚ ɩɪɨɰɟɞɭɪɚ ɚɧɚɥɨɝɢɱɧɚ ɨɩɟɪɚɰɢɢ ɞɨɛɚɜɥɟɧɢɹ, ɡɚ ɢɫɤɥɸɱɟɧɢɟɦ ɬɨɝɨ, ɱɬɨ ɦɵ ɧɟ ɫɨɡɞɚɟɦ ɧɨɜɵɣ ɨɛɴɟɤɬ, ɚ ɨɩɟɪɢɪɭɟɦ ɫ ɫɭɳɟɫɬɜɭɸɳɢɦ ɨɛɴɟɤɬɨɦ.

10. Ɂɚɩɭɫɬɢɦ ɩɪɢɥɨɠɟɧɢɟ, ɩɪɨɜɟɪɢɦ ɮɭɧɤɰɢɸ Ɋɟɞɚɤɬɢɪɨɜɚɧɢɟ ɤɚ-

ɮɟɞɪɵ (ɪɢɫ. 9.7).

Ɋɢɫ. 9.7. Ɋɟɞɚɤɬɢɪɨɜɚɧɢɟ ɨɛɴɟɤɬɚ ɜ ɨɬɞɟɥɶɧɨɦ ɨɤɧɟ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-159-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 9 ɊȺɋɒɂɊȿɇɇɕȿ ȼɈɁɆɈɀɇɈɋɌɂ ɊȺɁɊȺȻɈɌɄɂ MDA-ɉɊɂɅɈɀȿɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

ɉɨ ɚɧɚɥɨɝɢɢ ɧɚɫɬɪɨɢɦ Ɋɟɞɚɤɬɢɪɨɜɚɧɢɟ ɩɪɟɩɨɞɚɜɚɬɟɥɹ ɢ ɞɢɫɰɢɩ-

ɥɢɧɵ. Ɉɛɪɚɬɢɦ ɜɧɢɦɚɧɢɟ, ɱɬɨ ɩɪɢ ɨɩɟɪɢɪɨɜɚɧɢɢ ɫ ɰɟɥɨɱɢɫɥɟɧɧɵɦɢ ɡɧɚɱɟɧɢɹɦɢ ɧɟɨɛɯɨɞɢɦɨ ɩɟɪɟɜɟɫɬɢ ɢɯ ɜ ɡɧɚɱɟɧɢɟ ɬɢɩɚ String ɩɪɢ ɜɵɜɨɞɟ, ɢɫɩɨɥɶɡɭɹ ɮɭɧɤɰɢɸ ToString:

TextBox3.Text := CurLect.MaxAmountHours.ToString;

Ɉɛɪɚɬɧɨɟ ɩɪɟɨɛɪɚɡɨɜɚɧɢɟ ɩɪɨɢɡɜɨɞɢɬɫɹ ɩɪɢɦɟɧɟɧɢɟɦ ɮɭɧɤɰɢɢ

Convert.ToInt32:

CurLect.MaxAmountHours := Convert.ToInt32(TextBox3.Text);

ɋɛɜɩɭɛ ɬɩ ɬɪɫɛɝɩɲɨɣɥɩɧ

ɋɨɡɞɚɞɢɦ ɫɩɪɚɜɨɱɧɢɤ ɫɨ ɫɩɢɫɤɨɦ ɞɨɥɠɧɨɫɬɟɣ, ɤɨɬɨɪɵɟ ɦɨɠɧɨ ɛɭɞɟɬ ɧɚɡɧɚɱɚɬɶ ɩɪɟɩɨɞɚɜɚɬɟɥɸ. Ɇɧɨɝɢɟ ɨɩɟɪɚɰɢɢ ɨɩɢɫɚɧɵ ɪɚɧɟɟ, ɩɨɷɬɨɦɭ ɩɪɟɞɥɚɝɚɟɬɫɹ ɫɞɟɥɚɬɶ ɢɯ ɩɨ ɚɧɚɥɨɝɢɢ.

16) ɉɟɪɟɣɞɟɦ ɤ ɮɨɪɦɟ ɉɪɟɩɨɞɚɜɚɬɟɥɢ. Ⱦɨɛɚɜɢɦ ɧɚ ɮɨɪɦɭ ɤɨɦɩɨɧɟɧɬ dgPosition (ɷɤɡɟɦɩɥɹɪ ɤɥɚɫɫɚ DataGrid), ɜ ɧɟɦ ɛɭɞɟɬ ɨɬɨɛɪɚɠɚɬɶɫɹ ɫɩɢɫɨɤ ɞɨɥɠɧɨɫɬɟɣ ɜɵɛɪɚɧɧɨɝɨ ɩɪɟɩɨɞɚɜɚɬɟɥɹ ɢ ehPosition (ɷɤɡɟɦɩɥɹɪ ɤɥɚɫɫɚ ExpressionHandle). ɇɚɫɬɪɨɢɦ ehPosition: ɜ ɫɜɨɣɫɬɜɟ RootHandle ɜɵɛɟɪɟɦ ɡɧɚɱɟ-

ɧɢɟ cmhLecturer, ɚ ɜ ɫɜɨɣɫɬɜɟ Expression ɫɮɨɪɦɢɪɭɟɦ ɜɵɪɚɠɟɧɢɟ self.rolePosition. ɇɚɫɬɪɨɢɦ ɢɧɬɟɪɮɟɣɫ (ɪɢɫ. 9.8).

Ɋɢɫ. 9.8. ɋɨɡɞɚɧɢɟ ɬɚɛɥɢɰɵ Ⱦɨɥɠɧɨɫɬɢ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-160-

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]