Введение в технологию программирования. Ч.1. Среда объектно-ориентированного программирования Delphi. Коржов Е.Н - 42 стр.

UptoLike

Составители: 

42
ɮɨɪɦɵ Password Dialog.
ɇɚ ɮɨɪɦɭ Password Dialog ɩɨɦɟɫɬɢɬɟ ɫɨɨɛɳɟɧɢɟ: «ɉɪɢɥɨɠɟɧɢɟ
ɪɚɡɪɚɛɨɬɚɧɨ…» ɢ ɞɚɥɟɟ ɜɚɲɭ ɮɚɦɢɥɢɸ ɢ ɢɦɹ. ɋɨɡɞɚɜɚɟɦɨɣ ɩɨ
ɭɦɨɥɱɚɧɢɸ ɨɫɬɚɜɶɬɟ ɬɨɥɶɤɨ ɮɨɪɦɭ Password Dialog. ɋɞɟɥɚɣɬɟ
ɷɬɭ ɮɨɪɦɭ ɝɥɚɜɧɨɣ
5
ɦɨɞɭɥɹ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɵ ʋ 2;
ɦɨɞɭɥɹ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɵ ʋ 3;
ɩɭɫɬɨɣ ɫɬɚɧɞɚɪɬɧɨɣ ɮɨɪɦɵ.
ɇɚ ɫɬɚɧɞɚɪɬɧɭɸ ɮɨɪɦɭ ɩɨɦɟɫɬɢɬɟ ɫɨɨɛɳɟɧɢɟ: «ɉɪɢɥɨɠɟɧɢɟ ɪɚɡ-
ɪɚɛɨɬɚɧɨ» ɢ ɞɚɥɟɟ ɜɚɲɭ ɮɚɦɢɥɢɸ ɢ ɢɦɹ. ɋɨɡɞɚɜɚɟɦɨɣ ɩɨ ɭɦɨɥ-
ɱɚɧɢɸ ɨɫɬɚɜɶɬɟ ɬɨɥɶɤɨ ɮɨɪɦɭ ɫɬɚɧɞɚɪɬɧɨɣ ɮɨɪɦɵ. ɋɞɟɥɚɣɬɟ ɷɬɭ
ɮɨɪɦɭ ɝɥɚɜɧɨɣ
ɉɪɨɝɪɚɦɦɭ ɡɚɩɢɲɢɬɟ ɜ ɜɚɲ ɤɚɬɚɥɨɝ Lab_4.
ɑɚɫɬɶ II. Ⱥɬɪɢɛɭɬɵ ɢ ɫɬɢɥɢ ɮɨɪɦɵ. ɋɨɡɞɚɧɢɟ ɢ ɭɧɢɱɬɨɠɟɧɢɟ ɮɨɪɦɵ.
ȼɢɡɭɚɥɢɡɚɰɢɹ ɮɨɪɦɵ. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɧɟɫɤɨɥɶɤɢɯ ɮɨɪɦ ɜ ɩɪɢɥɨɠɟɧɢɢ
1. Ⱥɬɪɢɛɭɬɵ ɢ ɫɬɢɥɢ ɮɨɪɦɵ. ɋɨɡɞɚɧɢɟ ɢ ɭɧɢɱɬɨɠɟɧɢɟ ɮɨɪɦɵ. ȼɢɡɭɚɥɢɡɚ-
ɰɢɹ ɮɨɪɦɵ. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɧɟɫɤɨɥɶɤɢɯ ɮɨɪɦ ɜ ɩɪɢɥɨɠɟɧɢɢ
ɋɬɚɧɞɚɪɬɧɵɣ ɩɪɨɟɤɬ ɜ Delphi ɫɨɫɬɨɢɬ ɢɡ ɮɨɪɦ. Ɏɨɪɦɚ ɭɦɟɟɬ ɜɡɚɢɦɨ-
ɞɟɣɫɬɜɨɜɚɬɶ ɫ ɢɧɫɬɪɭɦɟɧɬɚɦɢ ɫɪɟɞɵ ɪɚɡɪɚɛɨɬɤɢ (ɩɚɥɢɬɪɨɣ ɤɨɦɩɨɧɟɧɬɨɜ,
ɢɧɫɩɟɤɬɨɪɨɦ ɨɛɴɟɤɬɨɜ ɢ ɬ. ɞ.) ɢ ɪɚɡɦɟɳɟɧɧɵɦɢ ɧɚ ɧɟɣ ɤɨɦɩɨɧɟɧɬɚɦɢ. Ɉɧɢ
ɨɛɟɫɩɟɱɢɜɚɸɬ ɫɨɡɞɚɧɢɟ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɝɨ ɢɧɬɟɪɮɟɣɫɚ ɢ ɯɪɚɧɟɧɢɟ ɩɪɨ-
ɝɪɚɦɦɧɨɣ ɥɨɝɢɤɢ ɩɪɢɥɨɠɟɧɢɹ.
ȼ ɫɬɚɧɞɚɪɬɧɨɦ ɩɪɢɥɨɠɟɧɢɢ ɡɚɞɚɱɚ ɫɨɡɞɚɧɢɹ ɢ ɭɞɚɥɟɧɢɹ ɮɨɪɦ ɜɨɡɥɚɝɚ-
ɟɬɫɹ ɧɚ ɫɚɦɨ ɩɪɢɥɨɠɟɧɢɟ. ȿɫɥɢ ɪɚɡɪɚɛɨɬɱɢɤ ɨɫɬɚɜɢɥ ɜɫɟ ɮɨɪɦɵ ɜ ɫɩɢɫɤɟ
ɫɨɡɞɚɜɚɟɦɵɯ ɚɜɬɨɦɚɬɢɱɟɫɤɢ, ɬɨ ɩɨɫɥɟ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɩɪɨɝɪɚɦɦɵ ɛɭɞɭɬ
ɜɵɩɨɥɧɟɧɵ ɤɨɧɫɬɪɭɤɬɨɪɵ ɜɫɟɯ ɮɨɪɦ ɩɪɨɟɤɬɚ. ɉɪɢ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɫɨɡɞɚɬɶ
ɮɨɪɦɭ ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ ɪɚɡɪɚɛɨɬɱɢɤ ɦɨɠɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɟɟ ɤɨɧɫɬɪɭɤɬɨɪ:
if Form1 = nil then Form1 := TForm1.Create(Application);
ɍɞɚɥɟɧɢɟ ɫɨɡɞɚɧɧɵɯ ɬɚɤɢɦ ɨɛɪɚɡɨɦ ɮɨɪɦ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɚɜɬɨɦɚɬɢ-
ɱɟɫɤɢ. ɉɪɢ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɭɧɢɱɬɨɠɢɬɶ ɮɨɪɦɭ ɜ ɟɳɟ ɪɚɛɨɬɚɸɳɟɦ ɩɪɢɥɨ-
ɠɟɧɢɢ ɢɫɩɨɥɶɡɭɟɬɫɹ ɦɟɬɨɞ Release:
if Form1 <> nil Then Release;
Ɇɟɬɨɞ Show ɨɛɟɫɩɟɱɢɜɚɟɬ ɩɨɹɜɥɟɧɢɟ ɮɨɪɦɵ ɢ ɟɟ ɪɚɛɨɬɭ ɜ ɧɟɦɨɞɚɥɶ-
ɧɨɦ ɪɟɠɢɦɟ. Ɇɟɬɨɞ ShowModal ɨɛɟɫɩɟɱɢɜɚɟɬ ɩɨɹɜɥɟɧɢɟ ɮɨɪɦɵ ɢ ɟɟ ɪɚɛɨ-
ɬɭ ɜ ɦɨɞɚɥɶɧɨɦ ɪɟɠɢɦɟ (ɬ. ɟ. ɚɤɬɢɜɧɚ ɬɨɥɶɤɨ ɞɚɧɧɚɹ ɮɨɪɦɚ).
Ⱦɥɹ ɬɨɝɨ ɱɬɨɛɵ ɨɛɪɚɬɢɬɶɫɹ ɤ ɦɟɬɨɞɭ Show, ɧɟɨɛɯɨɞɢɦɨ ɫɞɟɥɚɬɶ ɫɫɵɥ-
ɤɭ ɧɚ ɦɨɞɭɥɶ ɨɤɧɚ ɜ ɩɪɟɞɥɨɠɟɧɢɢ Uses. Delphi ɚɜɬɨɦɚɬɢɡɢɪɭɟɬ ɜɫɬɚɜɤɭ
ɫɫɵɥɤɢ ɧɚ ɦɨɞɭɥɶ ɜ ɩɪɟɞɥɨɠɟɧɢɟ
Uses. Ⱦɥɹ ɷɬɨɝɨ ɧɚ ɷɬɚɩɟ ɤɨɧɫɬɪɭɢɪɨɜɚ-
ɧɢɹ ɧɭɠɧɨ ɚɤɬɢɜɢɡɢɪɨɜɚɬɶ ɝɥɚɜɧɨɟ ɨɤɧɨ, ɳɟɥɤɧɭɜ ɩɨ ɧɟɦɭ ɦɵɲɶɸ, ɩɨɫɥɟ
ɱɟɝɨ ɨɛɪɚɬɢɬɶɫɹ ɤ ɨɩɰɢɢ File/Uses Unit. ȼ ɩɨɹɜɢɜɲɟɦɫɹ ɞɢɚɥɨɝɨɜɨɦ ɨɤɧɟ
ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɦɨɞɭɥɶ ɢ ɧɚɠɚɬɶ <Ok>. ȿɫɥɢ ɩɪɨɝɪɚɦɦɢɫɬ ɡɚɛɵɥ ɫɨɫɥɚɬɶɫɹ
                ɮɨɪɦɵ Password Dialog.
           ɇɚ ɮɨɪɦɭ Password Dialog ɩɨɦɟɫɬɢɬɟ ɫɨɨɛɳɟɧɢɟ: «ɉɪɢɥɨɠɟɧɢɟ
           ɪɚɡɪɚɛɨɬɚɧɨ…» ɢ ɞɚɥɟɟ ɜɚɲɭ ɮɚɦɢɥɢɸ ɢ ɢɦɹ. ɋɨɡɞɚɜɚɟɦɨɣ ɩɨ
           ɭɦɨɥɱɚɧɢɸ ɨɫɬɚɜɶɬɟ ɬɨɥɶɤɨ ɮɨɪɦɭ Password Dialog. ɋɞɟɥɚɣɬɟ
           ɷɬɭ ɮɨɪɦɭ ɝɥɚɜɧɨɣ
              – ɦɨɞɭɥɹ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɵ ʋ 2;
              – ɦɨɞɭɥɹ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɵ ʋ 3;
                ɩɭɫɬɨɣ ɫɬɚɧɞɚɪɬɧɨɣ ɮɨɪɦɵ.
     5     ɇɚ ɫɬɚɧɞɚɪɬɧɭɸ ɮɨɪɦɭ ɩɨɦɟɫɬɢɬɟ ɫɨɨɛɳɟɧɢɟ: «ɉɪɢɥɨɠɟɧɢɟ ɪɚɡ-
           ɪɚɛɨɬɚɧɨ» ɢ ɞɚɥɟɟ ɜɚɲɭ ɮɚɦɢɥɢɸ ɢ ɢɦɹ. ɋɨɡɞɚɜɚɟɦɨɣ ɩɨ ɭɦɨɥ-
           ɱɚɧɢɸ ɨɫɬɚɜɶɬɟ ɬɨɥɶɤɨ ɮɨɪɦɭ ɫɬɚɧɞɚɪɬɧɨɣ ɮɨɪɦɵ. ɋɞɟɥɚɣɬɟ ɷɬɭ
           ɮɨɪɦɭ ɝɥɚɜɧɨɣ
      ɉɪɨɝɪɚɦɦɭ ɡɚɩɢɲɢɬɟ ɜ ɜɚɲ ɤɚɬɚɥɨɝ Lab_4.
   ɑɚɫɬɶ II. Ⱥɬɪɢɛɭɬɵ ɢ ɫɬɢɥɢ ɮɨɪɦɵ. ɋɨɡɞɚɧɢɟ ɢ ɭɧɢɱɬɨɠɟɧɢɟ ɮɨɪɦɵ.
ȼɢɡɭɚɥɢɡɚɰɢɹ ɮɨɪɦɵ. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɧɟɫɤɨɥɶɤɢɯ ɮɨɪɦ ɜ ɩɪɢɥɨɠɟɧɢɢ
1. Ⱥɬɪɢɛɭɬɵ ɢ ɫɬɢɥɢ ɮɨɪɦɵ. ɋɨɡɞɚɧɢɟ ɢ ɭɧɢɱɬɨɠɟɧɢɟ ɮɨɪɦɵ. ȼɢɡɭɚɥɢɡɚ-
   ɰɢɹ ɮɨɪɦɵ. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɧɟɫɤɨɥɶɤɢɯ ɮɨɪɦ ɜ ɩɪɢɥɨɠɟɧɢɢ
    ɋɬɚɧɞɚɪɬɧɵɣ ɩɪɨɟɤɬ ɜ Delphi ɫɨɫɬɨɢɬ ɢɡ ɮɨɪɦ. Ɏɨɪɦɚ ɭɦɟɟɬ ɜɡɚɢɦɨ-
ɞɟɣɫɬɜɨɜɚɬɶ ɫ ɢɧɫɬɪɭɦɟɧɬɚɦɢ ɫɪɟɞɵ ɪɚɡɪɚɛɨɬɤɢ (ɩɚɥɢɬɪɨɣ ɤɨɦɩɨɧɟɧɬɨɜ,
ɢɧɫɩɟɤɬɨɪɨɦ ɨɛɴɟɤɬɨɜ ɢ ɬ. ɞ.) ɢ ɪɚɡɦɟɳɟɧɧɵɦɢ ɧɚ ɧɟɣ ɤɨɦɩɨɧɟɧɬɚɦɢ. Ɉɧɢ
ɨɛɟɫɩɟɱɢɜɚɸɬ ɫɨɡɞɚɧɢɟ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɝɨ ɢɧɬɟɪɮɟɣɫɚ ɢ ɯɪɚɧɟɧɢɟ ɩɪɨ-
ɝɪɚɦɦɧɨɣ ɥɨɝɢɤɢ ɩɪɢɥɨɠɟɧɢɹ.
    ȼ ɫɬɚɧɞɚɪɬɧɨɦ ɩɪɢɥɨɠɟɧɢɢ ɡɚɞɚɱɚ ɫɨɡɞɚɧɢɹ ɢ ɭɞɚɥɟɧɢɹ ɮɨɪɦ ɜɨɡɥɚɝɚ-
ɟɬɫɹ ɧɚ ɫɚɦɨ ɩɪɢɥɨɠɟɧɢɟ. ȿɫɥɢ ɪɚɡɪɚɛɨɬɱɢɤ ɨɫɬɚɜɢɥ ɜɫɟ ɮɨɪɦɵ ɜ ɫɩɢɫɤɟ
ɫɨɡɞɚɜɚɟɦɵɯ ɚɜɬɨɦɚɬɢɱɟɫɤɢ, ɬɨ ɩɨɫɥɟ ɢɧɢɰɢɚɥɢɡɚɰɢɢ ɩɪɨɝɪɚɦɦɵ ɛɭɞɭɬ
ɜɵɩɨɥɧɟɧɵ ɤɨɧɫɬɪɭɤɬɨɪɵ ɜɫɟɯ ɮɨɪɦ ɩɪɨɟɤɬɚ. ɉɪɢ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɫɨɡɞɚɬɶ
ɮɨɪɦɭ ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ ɪɚɡɪɚɛɨɬɱɢɤ ɦɨɠɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɟɟ ɤɨɧɫɬɪɭɤɬɨɪ:
         if Form1 = nil then Form1 := TForm1.Create(Application);
     ɍɞɚɥɟɧɢɟ ɫɨɡɞɚɧɧɵɯ ɬɚɤɢɦ ɨɛɪɚɡɨɦ ɮɨɪɦ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɚɜɬɨɦɚɬɢ-
ɱɟɫɤɢ. ɉɪɢ ɧɟɨɛɯɨɞɢɦɨɫɬɢ ɭɧɢɱɬɨɠɢɬɶ ɮɨɪɦɭ ɜ ɟɳɟ ɪɚɛɨɬɚɸɳɟɦ ɩɪɢɥɨ-
ɠɟɧɢɢ ɢɫɩɨɥɶɡɭɟɬɫɹ ɦɟɬɨɞ Release:
                      if Form1 <> nil Then Release;
     Ɇɟɬɨɞ Show ɨɛɟɫɩɟɱɢɜɚɟɬ ɩɨɹɜɥɟɧɢɟ ɮɨɪɦɵ ɢ ɟɟ ɪɚɛɨɬɭ ɜ ɧɟɦɨɞɚɥɶ-
ɧɨɦ ɪɟɠɢɦɟ. Ɇɟɬɨɞ ShowModal ɨɛɟɫɩɟɱɢɜɚɟɬ ɩɨɹɜɥɟɧɢɟ ɮɨɪɦɵ ɢ ɟɟ ɪɚɛɨ-
ɬɭ ɜ ɦɨɞɚɥɶɧɨɦ ɪɟɠɢɦɟ (ɬ. ɟ. ɚɤɬɢɜɧɚ ɬɨɥɶɤɨ ɞɚɧɧɚɹ ɮɨɪɦɚ).
     Ⱦɥɹ ɬɨɝɨ ɱɬɨɛɵ ɨɛɪɚɬɢɬɶɫɹ ɤ ɦɟɬɨɞɭ Show, ɧɟɨɛɯɨɞɢɦɨ ɫɞɟɥɚɬɶ ɫɫɵɥ-
ɤɭ ɧɚ ɦɨɞɭɥɶ ɨɤɧɚ ɜ ɩɪɟɞɥɨɠɟɧɢɢ Uses. Delphi ɚɜɬɨɦɚɬɢɡɢɪɭɟɬ ɜɫɬɚɜɤɭ
ɫɫɵɥɤɢ ɧɚ ɦɨɞɭɥɶ ɜ ɩɪɟɞɥɨɠɟɧɢɟ Uses. Ⱦɥɹ ɷɬɨɝɨ ɧɚ ɷɬɚɩɟ ɤɨɧɫɬɪɭɢɪɨɜɚ-
ɧɢɹ ɧɭɠɧɨ ɚɤɬɢɜɢɡɢɪɨɜɚɬɶ ɝɥɚɜɧɨɟ ɨɤɧɨ, ɳɟɥɤɧɭɜ ɩɨ ɧɟɦɭ ɦɵɲɶɸ, ɩɨɫɥɟ
ɱɟɝɨ ɨɛɪɚɬɢɬɶɫɹ ɤ ɨɩɰɢɢ File/Uses Unit. ȼ ɩɨɹɜɢɜɲɟɦɫɹ ɞɢɚɥɨɝɨɜɨɦ ɨɤɧɟ
ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɦɨɞɭɥɶ ɢ ɧɚɠɚɬɶ . ȿɫɥɢ ɩɪɨɝɪɚɦɦɢɫɬ ɡɚɛɵɥ ɫɨɫɥɚɬɶɫɹ
                                   42