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

UptoLike

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

ɫɬɧɨɟ ɧɚɠɚɬɢɟ ɤɥɚɜɢɲ ɜ ɞɚɥɶɧɟɣɲɟɦ ɛɭɞɟɦ ɨɛɨɡɧɚɱɚɬɶ ɫɨɜɦɟɫɬɧɨ ɫ ɫɢɦɜɨ-
ɥɨɦ «+»: Ctrl+Y. ɑɬɨɛɵ ɨɬɦɟɧɢɬɶ ɩɨɫɥɟɞɧɟɟ ɢɡɦɟɧɟɧɢɟ ɬɟɤɫɬɚ, ɧɚɠɦɢɬɟ
Ctrl+Z ɢɥɢ ɜɵɛɟɪɢɬɟ ɉɭɧɤɬ ɦɟɧɸ Edit | Undo.
1.6. Ɉɤɧɨ ɧɚɜɢɝɚɬɨɪɚ
ȼɦɟɫɬɟ ɫ ɨɤɧɨɦ ɤɨɞɚ ɨɛɵɱɧɨ ɚɤɬɢɜɢɡɢɪɭɟɬɫɹ ɨɤɧɨ ɧɚɜɢɝɚɬɨɪɚ ɢɥɢ
ɛɪɚɭɡɟɪɚ ɤɨɞɚ ɩɪɨɝɪɚɦɦɵ Code Explorer, ɨɛɥɟɝɱɚɸɳɟɟ ɩɨɢɫɤ ɧɭɠɧɵɯ
ɷɥɟɦɟɧɬɨɜ ɜ ɫɥɭɱɚɟ, ɤɨɝɞɚ ɜ ɨɤɧɟ ɧɚɛɪɚɧɨ ɦɧɨɝɨ ɫɬɪɨɤ ɬɟɤɫɬɚ (ɪɢɫ. 1.1).
Ⱦɜɨɣɧɨɣ ɳɟɥɱɨɤ ɦɵɲɶɸ ɧɚ ɷɥɟɦɟɧɬɟ ɜ ɨɤɧɟ ɛɪɚɭɡɟɪɚ ɩɪɢɜɨɞɢɬ ɤ ɩɨ-
ɡɢɰɢɨɧɢɪɨɜɚɧɢɸ ɬɟɤɫɬɨɜɨɝɨ ɭɤɚɡɚɬɟɥɹ ɜ ɨɤɧɟ ɤɨɞɚ ɧɚ ɨɩɢɫɚɧɢɟ ɫɨɨɬɜɟɬɫɬ-
ɜɭɸɳɟɝɨ ɨɛɴɟɤɬɚ ɢɥɢ ɟɝɨ ɩɟɪɜɨɟ ɭɩɨɦɢɧɚɧɢɟ. ɉɪɢ ɪɚɡɪɚɛɨɬɤɟ ɧɟɫɥɨɠɧɵɯ
ɭɱɟɛɧɵɯ ɩɪɨɝɪɚɦɦ ɦɨɠɧɨ ɡɚɤɪɵɬɶ ɨɤɧɨ ɧɚɜɢɝɚɬɨɪɚ ɦɚɥɟɧɶɤɨɣ ɤɧɨɩɤɨɣ
ɜ ɟɝɨ ɜɟɪɯɧɟɦ ɩɪɚɜɨɦ ɭɝɥɭ. ȼɨɫɫɬɚɧɨɜɢɬɶ ɡɚɤɪɵɬɨɟ ɨɤɧɨ ɦɨɠɧɨ ɩɨ-
ɫɥɟ ɳɟɥɱɤɚ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɨɤɧɭ ɤɨɞɚ ɢ ɜɵɛɨɪɚ ɨɩɰɢɢ view
Explorer. Ɂɚɦɟɬɢɦ, ɱɬɨ ɨɤɧɨ ɛɪɚɭɡɟɪɚ ɪɚɫɩɨɥɚɝɚɟɬɫɹ ɧɚ ɜɫɩɨɦɨɝɚɬɟɥɶɧɨɣ
ɩɚɧɟɥɢ ɢ ɢɦɟɟɬ ɭɩɪɚɜɥɹɸɳɭɸ ɩɨɥɨɫɭ ɜ ɜɟɪɯɧɟɣ ɱɚɫɬɢ ɪɚɦɤɢ. «ɋɯɜɚɬɢɜ» ɟɟ
ɦɵɲɶɸ, ɦɨɠɧɨ ɩɟɪɟɬɚɳɢɬɶ ɨɤɧɨ ɧɚ ɥɸɛɨɟ ɫɜɨɛɨɞɧɨɟ ɦɟɫɬɨ ɷɤɪɚɧɚ ɢɥɢ
«ɩɪɢɱɚɥɢɬɶ» ɟɝɨ ɤ ɨɤɧɭ ɂɧɫɩɟɤɬɨɪɚ ɨɛɴɟɤɬɨɜ.
2. ɋɌɊɍɄɌɍɊȺ ɉɊɈȽɊȺɆɆ DELPHI
ɉɪɨɝɪɚɦɦɚ ɜ Delphi ɫɨɫɬɨɢɬ ɢɡ ɮɚɣɥɚ ɩɪɨɟɤɬɚ (ɮɚɣɥ ɫ ɪɚɫɲɢɪɟɧɢɟɦ
.dpr), ɨɞɧɨɝɨ ɢɥɢ ɧɟɫɤɨɥɶɤɢɯ ɮɚɣɥɨɜ ɫ ɬɟɤɫɬɨɦ ɢɫɯɨɞɧɨɝɨ ɩɪɨɝɪɚɦɦɧɨɝɨ
ɤɨɞɚ (ɫ ɪɚɫɲɢɪɟɧɢɟɦ .pas), ɮɚɣɥɨɜ ɫ ɨɩɢɫɚɧɢɟɦ ɨɤɨɧ ɮɨɪɦɵ (ɫ ɪɚɫɲɢɪɟɧɢ-
ɟɦ .dfm).
ȼ ɮɚɣɥɟ ɩɪɨɟɤɬɚ ɧɚɯɨɞɢɬɫɹ ɢɧɮɨɪɦɚɰɢɹ ɨ ɦɨɞɭɥɹɯ, ɫɨɫɬɚɜɥɹɸɳɢɯ
ɞɚɧɧɵɣ ɩɪɨɟɤɬ. Ɏɚɣɥ ɩɪɨɟɤɬɚ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɫɨɡɞɚɟɬɫɹ ɢ ɪɟɞɚɤɬɢɪɭɟɬɫɹ
ɫɪɟɞɨɣ Delphi ɢ ɧɟ ɩɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɟɝɨ ɩɨɥɶɡɨɜɚɬɟɥɟɦ-
ɩɪɨɝɪɚɦɦɢɫɬɨɦ.
Ɏɚɣɥ ɢɫɯɨɞɧɨɝɨ ɬɟɤɫɬɚɩɪɨɝɪɚɦɦɧɵɣ ɦɨɞɭɥɶ (Unit) ɩɪɟɞɧɚɡɧɚɱɟɧ
ɞɥɹ ɪɚɡɦɟɳɟɧɢɹ ɬɟɤɫɬɨɜ ɩɪɨɝɪɚɦɦ. ȼ ɷɬɨɦ ɮɚɣɥɟ ɩɪɨɝɪɚɦɦɢɫɬ ɪɚɡɦɟɳɚɟɬ
ɬɟɤɫɬ ɩɪɨɝɪɚɦɦɵ, ɧɚɩɢɫɚɧɧɵɣ ɧɚ ɹɡɵɤɟ Object Pascal.
Ɇɨɞɭɥɶ ɢɦɟɟɬ ɫɥɟɞɭɸɳɭɸ ɫɬɪɭɤɬɭɪɭ:
unit Unit1; // ɡɚɝɨɥɨɜɨɤ ɦɨɞɭɥɹ
interface
// Ɋɚɡɞɟɥ ɢɧɬɟɪɮɟɣɫɚ
implementation
// Ɋɚɡɞɟɥ ɪɟɚɥɢɡɚɰɢɢ
initialization
// Ɋɚɡɞɟɥ ɢɧɢɰɢɚɥɢɡɚɰɢɢ
finalization
// Ɋɚɡɞɟɥ ɡɚɜɟɪɲɟɧɢɹ
end.
11
ɫɬɧɨɟ ɧɚɠɚɬɢɟ ɤɥɚɜɢɲ ɜ ɞɚɥɶɧɟɣɲɟɦ ɛɭɞɟɦ ɨɛɨɡɧɚɱɚɬɶ ɫɨɜɦɟɫɬɧɨ ɫ ɫɢɦɜɨ-
ɥɨɦ «+»: Ctrl+Y. ɑɬɨɛɵ ɨɬɦɟɧɢɬɶ ɩɨɫɥɟɞɧɟɟ ɢɡɦɟɧɟɧɢɟ ɬɟɤɫɬɚ, ɧɚɠɦɢɬɟ
Ctrl+Z ɢɥɢ ɜɵɛɟɪɢɬɟ ɉɭɧɤɬ ɦɟɧɸ Edit | Undo.

                           1.6. Ɉɤɧɨ ɧɚɜɢɝɚɬɨɪɚ
     ȼɦɟɫɬɟ ɫ ɨɤɧɨɦ ɤɨɞɚ ɨɛɵɱɧɨ ɚɤɬɢɜɢɡɢɪɭɟɬɫɹ ɨɤɧɨ ɧɚɜɢɝɚɬɨɪɚ ɢɥɢ
ɛɪɚɭɡɟɪɚ ɤɨɞɚ ɩɪɨɝɪɚɦɦɵ Code Explorer, ɨɛɥɟɝɱɚɸɳɟɟ ɩɨɢɫɤ ɧɭɠɧɵɯ
ɷɥɟɦɟɧɬɨɜ ɜ ɫɥɭɱɚɟ, ɤɨɝɞɚ ɜ ɨɤɧɟ ɧɚɛɪɚɧɨ ɦɧɨɝɨ ɫɬɪɨɤ ɬɟɤɫɬɚ (ɪɢɫ. 1.1).
     Ⱦɜɨɣɧɨɣ ɳɟɥɱɨɤ ɦɵɲɶɸ ɧɚ ɷɥɟɦɟɧɬɟ ɜ ɨɤɧɟ ɛɪɚɭɡɟɪɚ ɩɪɢɜɨɞɢɬ ɤ ɩɨ-
ɡɢɰɢɨɧɢɪɨɜɚɧɢɸ ɬɟɤɫɬɨɜɨɝɨ ɭɤɚɡɚɬɟɥɹ ɜ ɨɤɧɟ ɤɨɞɚ ɧɚ ɨɩɢɫɚɧɢɟ ɫɨɨɬɜɟɬɫɬ-
ɜɭɸɳɟɝɨ ɨɛɴɟɤɬɚ ɢɥɢ ɟɝɨ ɩɟɪɜɨɟ ɭɩɨɦɢɧɚɧɢɟ. ɉɪɢ ɪɚɡɪɚɛɨɬɤɟ ɧɟɫɥɨɠɧɵɯ
ɭɱɟɛɧɵɯ ɩɪɨɝɪɚɦɦ ɦɨɠɧɨ ɡɚɤɪɵɬɶ ɨɤɧɨ ɧɚɜɢɝɚɬɨɪɚ ɦɚɥɟɧɶɤɨɣ ɤɧɨɩɤɨɣ

     ɜ ɟɝɨ ɜɟɪɯɧɟɦ ɩɪɚɜɨɦ ɭɝɥɭ. ȼɨɫɫɬɚɧɨɜɢɬɶ ɡɚɤɪɵɬɨɟ ɨɤɧɨ ɦɨɠɧɨ ɩɨ-
ɫɥɟ ɳɟɥɱɤɚ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɨɤɧɭ ɤɨɞɚ ɢ ɜɵɛɨɪɚ ɨɩɰɢɢ view
Explorer. Ɂɚɦɟɬɢɦ, ɱɬɨ ɨɤɧɨ ɛɪɚɭɡɟɪɚ ɪɚɫɩɨɥɚɝɚɟɬɫɹ ɧɚ ɜɫɩɨɦɨɝɚɬɟɥɶɧɨɣ
ɩɚɧɟɥɢ ɢ ɢɦɟɟɬ ɭɩɪɚɜɥɹɸɳɭɸ ɩɨɥɨɫɭ ɜ ɜɟɪɯɧɟɣ ɱɚɫɬɢ ɪɚɦɤɢ. «ɋɯɜɚɬɢɜ» ɟɟ
ɦɵɲɶɸ, ɦɨɠɧɨ ɩɟɪɟɬɚɳɢɬɶ ɨɤɧɨ ɧɚ ɥɸɛɨɟ ɫɜɨɛɨɞɧɨɟ ɦɟɫɬɨ ɷɤɪɚɧɚ ɢɥɢ
«ɩɪɢɱɚɥɢɬɶ» ɟɝɨ ɤ ɨɤɧɭ ɂɧɫɩɟɤɬɨɪɚ ɨɛɴɟɤɬɨɜ.
                2. ɋɌɊɍɄɌɍɊȺ ɉɊɈȽɊȺɆɆ DELPHI

      ɉɪɨɝɪɚɦɦɚ ɜ Delphi ɫɨɫɬɨɢɬ ɢɡ ɮɚɣɥɚ ɩɪɨɟɤɬɚ (ɮɚɣɥ ɫ ɪɚɫɲɢɪɟɧɢɟɦ
.dpr), ɨɞɧɨɝɨ ɢɥɢ ɧɟɫɤɨɥɶɤɢɯ ɮɚɣɥɨɜ ɫ ɬɟɤɫɬɨɦ ɢɫɯɨɞɧɨɝɨ ɩɪɨɝɪɚɦɦɧɨɝɨ
ɤɨɞɚ (ɫ ɪɚɫɲɢɪɟɧɢɟɦ .pas), ɮɚɣɥɨɜ ɫ ɨɩɢɫɚɧɢɟɦ ɨɤɨɧ ɮɨɪɦɵ (ɫ ɪɚɫɲɢɪɟɧɢ-
ɟɦ .dfm).
      ȼ ɮɚɣɥɟ ɩɪɨɟɤɬɚ ɧɚɯɨɞɢɬɫɹ ɢɧɮɨɪɦɚɰɢɹ ɨ ɦɨɞɭɥɹɯ, ɫɨɫɬɚɜɥɹɸɳɢɯ
ɞɚɧɧɵɣ ɩɪɨɟɤɬ. Ɏɚɣɥ ɩɪɨɟɤɬɚ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɫɨɡɞɚɟɬɫɹ ɢ ɪɟɞɚɤɬɢɪɭɟɬɫɹ
ɫɪɟɞɨɣ Delphi ɢ ɧɟ ɩɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ ɟɝɨ ɩɨɥɶɡɨɜɚɬɟɥɟɦ-
ɩɪɨɝɪɚɦɦɢɫɬɨɦ.
      Ɏɚɣɥ ɢɫɯɨɞɧɨɝɨ ɬɟɤɫɬɚ – ɩɪɨɝɪɚɦɦɧɵɣ ɦɨɞɭɥɶ (Unit) ɩɪɟɞɧɚɡɧɚɱɟɧ
ɞɥɹ ɪɚɡɦɟɳɟɧɢɹ ɬɟɤɫɬɨɜ ɩɪɨɝɪɚɦɦ. ȼ ɷɬɨɦ ɮɚɣɥɟ ɩɪɨɝɪɚɦɦɢɫɬ ɪɚɡɦɟɳɚɟɬ
ɬɟɤɫɬ ɩɪɨɝɪɚɦɦɵ, ɧɚɩɢɫɚɧɧɵɣ ɧɚ ɹɡɵɤɟ Object Pascal.
      Ɇɨɞɭɥɶ ɢɦɟɟɬ ɫɥɟɞɭɸɳɭɸ ɫɬɪɭɤɬɭɪɭ:
      unit Unit1; // ɡɚɝɨɥɨɜɨɤ ɦɨɞɭɥɹ
           interface
                // Ɋɚɡɞɟɥ ɢɧɬɟɪɮɟɣɫɚ
           implementation
                // Ɋɚɡɞɟɥ ɪɟɚɥɢɡɚɰɢɢ
           initialization
                // Ɋɚɡɞɟɥ ɢɧɢɰɢɚɥɢɡɚɰɢɢ
           finalization
                // Ɋɚɡɞɟɥ ɡɚɜɟɪɲɟɧɢɹ
      end.

                                  11