Разработка_и_анализ_требований_практика
.pdfɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ
Ɍɚɛɥɢɰɚ 5.3
Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TdataPrepare
Ɇɟɬɨɞ |
Ɉɩɢɫɚɧɢɟ |
Add() |
Ⱦɨɛɚɜɥɹɟɬ ɨɛɴɟɤɬ ɜ ȻȾ |
Update() |
ɂɡɦɟɧɹɟɬ ɚɬɪɢɛɭɬɵ ɨɛɴɟɤɬɚ ɜ ȻȾ |
Delete() |
ɍɞɚɥɹɟɬ ɨɛɴɟɤɬ ɢɡ ȻȾ |
Select() |
ȼɵɛɢɪɚɟɬ ɫɩɢɫɨɤ ɨɛɴɟɤɬɨɜ ɞɥɹ ɨɬɨɛɪɚɠɟɧɢɹ |
LoadCurrent() |
Ɂɚɝɪɭɠɚɟɬ ɜ ɩɨɥɹ ɤɥɚɫɫɚ ɚɬɪɢɛɭɬɵ ɬɟɤɭɳɟɝɨ ɨɛɴɟɤɬɚ |
Refresh() |
Ɉɛɧɨɜɥɹɟɬ ɫɩɢɫɨɤ ɨɛɴɟɤɬɨɜ |
Create(Connection: TConnec- |
Ʉɨɧɫɬɪɭɤɬɨɪ ɤɥɚɫɫɚ |
tion; Transaction: TTransac- |
|
tionObject=nil) |
|
ɇɚɡɨɜɟɦ ɷɬɨɬ ɤɥɚɫɫ TDataPrepare. Ɉɧ ɞɨɥɠɟɧ ɛɵɬɶ ɩɨɪɨɠɞɟɧ ɨɬ ɤɥɚɫɫɚ TDBObject, ɩɨɫɤɨɥɶɤɭ ɞɨɥɠɟɧ ɭɦɟɬɶ ɪɚɛɨɬɚɬɶ ɫ ɫɨɟɞɢɧɟɧɢɹɦɢ ɢ ɬɪɚɧɡɚɤɰɢɹɦɢ. Ⱥɬɪɢɛɭɬɵ ɤɥɚɫɫɚ ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.1, ɫɜɨɣɫɬɜɚ ɤɥɚɫɫɚ – ɜ ɬɚɛɥ. 5.2, ɜɢɪɬɭɚɥɶɧɵɟ ɦɟɬɨɞɵ ɤɥɚɫɫɚ – ɜ ɬɚɛɥ. 5.3.
Ɉɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɟ ɨɬɨɛɪɚɠɟɧɢɟ. Ⱦɚɧɧɵɣ ɫɥɨɣ ɫɨɫɬɨɢɬ ɢɡ ɤɥɚɫ-
ɫɨɜ, ɤɨɬɨɪɵɟ ɫ ɩɨɦɨɳɶɸ ɞɪɚɣɜɟɪɨɜ ɞɨɫɬɭɩɚ ɤ ȻȾ ɨɫɭɳɟɫɬɜɥɹɸɬ ɜɡɚɢɦɨɞɟɣɫɬɜɢɟ ɫ ɋɍȻȾ.
ɇɚ ɪɢɫ. 5.2 ɩɪɢɜɟɞɟɧ ɩɪɢɦɟɪ ɛɚɡɨɜɵɯ ɤɥɚɫɫɨɜ, ɧɚ ɨɫɧɨɜɟ ɤɨɬɨɪɵɯ ɦɨɠɧɨ ɫɬɪɨɢɬɶ ɫɥɨɣ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ. ȼ ɬɚɛɥ. 5.4 ɩɪɟɞɫɬɚɜɥɟɧɨ ɨɩɢɫɚɧɢɟ ɤɥɚɫɫɨɜ, ɢɡɨɛɪɚɠɟɧɧɵɯ ɧɚ ɪɢɫ. 5.2.
TDBObject |
TTransactionObject |
|
TransactionObject |
|
Connection |
|
TransactionObject |
TExecuteObject |
TConnection |
|
Ɋɢɫ. 5.2. Ʉɥɚɫɫɵ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-71- |
ɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ
|
Ɍɚɛɥɢɰɚ 5.4 |
Ɉɩɢɫɚɧɢɟ ɛɚɡɨɜɵɯ ɤɥɚɫɫɨɜ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ |
|
|
|
ɂɦɹ ɤɥɚɫɫɚ |
Ɉɩɢɫɚɧɢɟ |
|
|
TConnection |
ɉɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɭɩɪɚɜɥɟɧɢɹ ɫɨɟɞɢɧɟɧɢɟɦ ɤ ɛɚɡɚɦ ɞɚɧɧɵɯ |
TTransactionObject |
ɢ ɧɚɫɬɪɨɣɤɢ ɩɚɪɚɦɟɬɪɨɜ ɫɨɟɞɢɧɟɧɢɹ |
ɉɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɭɩɪɚɜɥɟɧɢɹ ɬɪɚɧɡɚɤɰɢɟɣ (ɨɬɤɪɵɬɢɟ, ɡɚɤɪɵɬɢɟ, |
|
TDBObject |
ɨɬɤɚɬ) |
ɉɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɪɚɛɨɬɵ ɫ ɛɚɡɨɣ ɞɚɧɧɵɯ. ɂɫɩɨɥɶɡɭɟɬ ɤɥɚɫɫɵ |
|
TExecuteObject |
TConnection ɢ TTransactionObject |
Ɉɛɟɫɩɟɱɢɜɚɟɬ ɪɚɛɨɬɭ ɫ SQL |
|
|
|
ɏ ɚ ɪ ɚ ɤ ɬ ɟ ɪ ɢ ɫ ɬ ɢ ɤ ɢ ɤ ɥ ɚ ɫ ɫ ɚ T C o n n e c t i o n. ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TConnection ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.5, ɦɟɬɨɞɵ ɷɬɨɝɨ ɤɥɚɫɫɚ – ɜ ɬɚɛɥ. 5.6.
|
|
Ɍɚɛɥɢɰɚ 5.5 |
|
|
ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TConnection |
|
|
|
ɋɜɨɣɫɬɜɨ |
|
Ɉɩɢɫɚɧɢɟ |
|
|
|
ServerName: string |
|
ɋɟɬɟɜɨɟ ɢɦɹ ɫɟɪɜɟɪɚ ɋɍȻȾ |
DataBaseName: string |
ɉɨɥɧɵɣ ɥɨɤɚɥɶɧɵɣ ɩɭɬɶ ɤ ɮɚɣɥɭ ȻȾ |
|
UserName: string |
|
ɂɦɹ ɩɨɥɶɡɨɜɚɬɟɥɹ ɋɍȻȾ, ɢɫɩɨɥɶɡɭɟɦɨɟ ɞɥɹ ɚɜɬɨɪɢɡɚɰɢɢ |
Password: string |
|
ɉɚɪɨɥɶ ɞɨɫɬɭɩɚ ɤ ɋɍȻȾ |
DataBase: TIBDatabase |
Ʉɨɦɩɨɧɟɧɬ ɞɨɫɬɭɩɚ ɤ ɛɚɡɟ ɞɚɧɧɵɯ, ɫ ɤɨɬɨɪɨɣ ɪɚɛɨɬɚɟɬ ɨɛɴɟɤɬ |
|
TransactionObject: |
|
Ɍɪɚɧɡɚɤɰɢɹ, ɫ ɤɨɬɨɪɨɣ ɪɚɛɨɬɚɟɬ ɨɛɴɟɤɬ |
TTransactionObject |
|
|
|
|
Ɍɚɛɥɢɰɚ 5.6 |
|
|
Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TConnection |
|
|
Ɉɩɢɫɚɧɢɟ |
Ɇɟɬɨɞ |
|
|
Connect() |
Ɉɬɤɪɵɬɢɟ ɫɨɟɞɢɧɟɧɢɹ ɫ ɛɚɡɨɣ ɞɚɧɧɵɯ |
|
Disconnect() |
Ɂɚɤɪɵɬɢɟ ɫɨɟɞɢɧɟɧɢɹ ɫ ɛɚɡɨɣ ɞɚɧɧɵɯ |
ɏ ɚ ɪ ɚ ɤ ɬ ɟ ɪ ɢ ɫ ɬ ɢ ɤ ɢ ɤ ɥ ɚ ɫ ɫ ɚ T T r a n s a c t i o n O b j e c t. Ʉɥɚɫɫ TTransactionObject ɹɜɥɹɟɬɫɹ ɨɛɨɥɨɱɤɨɣ ɤ ɤɨɦɩɨɧɟɧɬɭ TIBTransaction, ɪɟɚɥɢɡɭɸɳɟɦɭ ɮɭɧɤɰɢɢ ɩɨ ɪɚɛɨɬɟ ɫ ɬɪɚɧɡɚɤɰɢɹɦɢ.
ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TTransactionObject ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.7, ɦɟɬɨɞɵ ɞɚɧɧɨɝɨ ɤɥɚɫɫɚ ɩɪɢɜɟɞɟɧɵ ɜ ɬɚɛɥ. 5.8.
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-72- |
ɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ
|
|
Ɍɚɛɥɢɰɚ 5.7 |
ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TTransactionObject |
||
|
|
|
ɋɜɨɣɫɬɜɨ |
|
Ɉɩɢɫɚɧɢɟ |
Transaction: TIBTransaction |
|
Ɉɩɪɟɞɟɥɹɟɬ, ɫ ɤɚɤɨɣ ɬɪɚɧɡɚɤɰɢɟɣ ɪɚɛɨɬɚɟɬ ɨɛɴɟɤɬ |
InTransaction: Boolean |
|
Ɉɩɪɟɞɟɥɹɟɬ, ɡɚɩɭɳɟɧɚ ɥɢ ɬɪɚɧɡɚɤɰɢɹ ɭ ɨɛɴɟɤɬɚ |
|
|
Ɍɚɛɥɢɰɚ 5.8 |
Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TTransactionObject |
||
|
|
|
Ɇɟɬɨɞ |
|
Ɉɩɢɫɚɧɢɟ |
StartTransaction() |
|
Ɂɚɩɭɫɤ ɬɪɚɧɡɚɤɰɢɢ |
Commit() |
|
ɉɨɞɬɜɟɪɠɞɟɧɢɟ ɬɪɚɧɡɚɤɰɢɢ |
Rollback() |
|
Ɉɬɦɟɧɚ ɬɪɚɧɡɚɤɰɢɢ |
ɏ ɚ ɪ ɚ ɤ ɬ ɟ ɪ ɢ ɫ ɬ ɢ ɤ ɢ |
ɤ ɥ ɚ ɫ ɫ ɚ |
T D B O b j e c t. |
ɉɨɥɹ ɤɥɚɫɫɚ |
TDBObject ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ |
ɬɚɛɥ. 5.9, |
ɫɜɨɣɫɬɜɚ ɞɚɧɧɨɝɨ |
ɤɥɚɫɫɚ – ɜ |
ɬɚɛɥ. 5.10. |
|
|
|
Ʉɥɚɫɫ TDBObject ɫɨɞɟɪɠɢɬ ɬɟ ɠɟ ɦɟɬɨɞɵ, ɱɬɨ ɢ ɤɥɚɫɫ TTransactionObject, ɞɥɹ ɪɟɚɥɢɡɚɰɢɢ ɜɨɡɦɨɠɧɨɫɬɢ ɪɚɛɨɬɵ ɫɨ ɫɜɨɟɣ ɫɨɛɫɬɜɟɧɧɨɣ ɬɪɚɧɡɚɤɰɢɟɣ. ɋɨɨɬɜɟɬɫɬɜɟɧɧɨ ɟɫɥɢ ɨɧ ɢɫɩɨɥɶɡɭɟɬ ɱɭɠɭɸ ɬɪɚɧɡɚɤɰɢɸ, ɨɧ ɧɢɱɟɝɨ ɧɟ ɦɨɠɟɬ ɫ ɧɟɣ ɞɟɥɚɬɶ. Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TDBObject ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.11.
|
|
Ɍɚɛɥɢɰɚ 5.9 |
|
|
|
ɉɨɥɟ ɤɥɚɫɫɚ TDBObject |
|
|
|
|
|
ɉɨɥɟ |
|
Ɉɩɢɫɚɧɢɟ |
|
fOwn_transaction: Boolean |
|
Ɉɩɪɟɞɟɥɹɟɬ, ɢɫɩɨɥɶɡɭɟɬ ɨɛɴɟɤɬ ɫɜɨɸ ɬɪɚɧɡɚɤɰɢɸ ɢɥɢ |
|
|
|
ɱɭɠɭɸ, ɩɟɪɟɞɚɧɧɭɸ ɩɪɢ ɫɨɡɞɚɧɢɢ ɤɥɚɫɫɚ |
|
|
|
Ɍɚɛɥɢɰɚ 5.10 |
|
|
ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TDBObject |
||
|
|
|
|
ɋɜɨɣɫɬɜɨ |
|
Ɉɩɢɫɚɧɢɟ |
|
Connection: TConnection |
|
ɉɨɞɤɥɸɱɟɧɢɟ, ɢɫɩɨɥɶɡɭɟɦɨɟ ɞɚɧɧɵɦ ɨɛɴɟɤɬɨɦ |
|
TransactionObject: |
|
Ɍɪɚɧɡɚɤɰɢɹ, ɢɫɩɨɥɶɡɭɟɦɚɹ ɞɚɧɧɵɦ ɨɛɴɟɤɬɨɦ |
|
TTransactionObject |
|
|
|
|
|
Ɍɚɛɥɢɰɚ 5.11 |
|
|
Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TDBObject |
||
|
|
|
|
Ɇɟɬɨɞ |
|
Ɉɩɢɫɚɧɢɟ |
|
StartTransaction() |
|
Ɂɚɩɭɫɤ ɬɪɚɧɡɚɤɰɢɢ |
|
Commit() |
|
ɉɨɞɬɜɟɪɠɞɟɧɢɟ ɬɪɚɧɡɚɤɰɢɢ |
|
Rollback() |
|
Ɉɬɦɟɧɚ ɬɪɚɧɡɚɤɰɢɢ |
ɏ ɚ ɪ ɚ ɤ ɬ ɟ ɪ ɢ ɫ ɬ ɢ ɤ ɢ ɤ ɥ ɚ ɫ ɫ ɚ T E x e c u t e O b j e c t. Ʉɥɚɫɫ TExecuteObject ɜɵɩɨɥɧɹɟɬ ɤɨɦɚɧɞɵ SQL ɢ ɹɜɥɹɟɬɫɹ ɨɛɨɥɨɱɤɨɣ ɤ ɤɨɦɩɨɧɟɧɬɭ TIBQuery, ɤɨɬɨɪɵɣ ɪɚɛɨɬɚɟɬ ɫ ɫɟɦɟɣɫɬɜɨɦ ɋɍȻȾ Borland IB.
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-73- |
ɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ
ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TExecuteObject ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.12, ɦɟɬɨɞɵ ɞɚɧɧɨɝɨ ɤɥɚɫɫɚ ɩɪɢɜɟɞɟɧɵ ɜ ɬɚɛɥ. 5.13.
|
|
|
Ɍɚɛɥɢɰɚ 5.12 |
|
|
ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TExecuteObject |
|
|
|
|
|
ɋɜɨɣɫɬɜɨ |
|
|
Ɉɩɢɫɚɧɢɟ |
|
|
|
|
nfi[name: string]: |
|
ɋɜɨɣɫɬɜɨ ɞɨɫɬɭɩɚ ɤ ɩɨɥɹɦ ɧɚɛɨɪɚ ɞɚɧɧɵɯ. ɂɫɩɨɥɶɡɭɟɬɫɹ, ɤɨɝɞɚ ɩɨɥɟ |
|
Integer |
|
ɹɜɥɹɟɬɫɹ ɰɟɥɨɱɢɫɥɟɧɧɵɦ |
|
nfs[name: string]: |
|
ɋɜɨɣɫɬɜɨ ɞɨɫɬɭɩɚ ɤ ɩɨɥɹɦ ɧɚɛɨɪɚ ɞɚɧɧɵɯ. ɂɫɩɨɥɶɡɭɟɬɫɹ, ɤɨɝɞɚ ɩɨɥɟ |
|
string |
|
ɹɜɥɹɟɬɫɹ ɫɬɪɨɤɨɜɵɦ |
|
nff[name: string]: |
|
ɋɜɨɣɫɬɜɨ ɞɨɫɬɭɩɚ ɤ ɩɨɥɹɦ ɧɚɛɨɪɚ ɞɚɧɧɵɯ. ɂɫɩɨɥɶɡɭɟɬɫɹ, ɤɨɝɞɚ ɩɨɥɟ |
|
Extended |
|
ɹɜɥɹɟɬɫɹ ɞɪɨɛɧɵɦ |
|
|
|
|
Ɍɚɛɥɢɰɚ 5.13 |
|
|
Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TExecuteObject |
|
|
|
||
Ɇɟɬɨɞ |
Ɉɩɢɫɚɧɢɟ |
||
|
|
||
ExecuteQuery(sql: string; params: array |
ȼɵɩɨɥɧɹɟɬ ɡɚɩɪɨɫ ɤ ɛɚɡɟ ɞɚɧɧɵɯ ɢ ɧɟ ɜɨɡɜɪɚ- |
||
of variant) |
|
ɳɚɟɬ ɧɚɛɨɪ ɞɚɧɧɵɯ |
|
SelectQuery(sql: string; params: array of |
ȼɵɩɨɥɧɹɟɬ ɡɚɩɪɨɫ ɤ ɛɚɡɟ ɞɚɧɧɵɯ ɢ ɜɨɡɜɪɚɳɚɟɬ |
||
variant; FetchAll: boolean=false) |
ɧɚɛɨɪ ɞɚɧɧɵɯ |
||
SelectStrings(sql: string; params: array of |
ȼɵɩɨɥɧɹɟɬ ɡɚɩɪɨɫ ɤ ɛɚɡɟ ɞɚɧɧɵɯ ɢ ɜɨɡɜɪɚɳɚɟɬ |
||
variant): TStringList |
|
ɤɨɥɥɟɤɰɢɸ ɫɬɪɨɤ ɜ ɤɥɚɫɫɟ TStringList ɢɡ ɩɟɪɜɨ- |
|
|
|
|
ɝɨ ɩɨɥɹ ɡɚɩɪɨɫɚ |
ɋɬɪɭɤɬɭɪɚ ȻȾ. ȼ ɪɚɫɫɦɚɬɪɢɜɚɟɦɨɦ ɜ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɟ ɩɪɢɦɟɪɟ ɛɭɞɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɛɚɡɚ ɞɚɧɧɵɯ, ɪɟɥɹɰɢɨɧɧɚɹ ɦɨɞɟɥɶ ɤɨɬɨɪɨɣ ɩɪɢɜɟɞɟɧɚ ɧɚ ɪɢɫ. 5.3. Ɉɩɢɫɚɧɢɟ ɬɚɛɥɢɰ ɛɚɡɵ ɞɚɧɧɵɯ ɩɪɢɜɟɞɟɧɨ ɜ ɬɚɛɥ. 5.14.
Ɍɚɛɥɢɰɚ 5.14
|
Ɉɩɢɫɚɧɢɟ ɬɚɛɥɢɰ ɛɚɡɵ ɞɚɧɧɵɯ |
|
|
Ɍɚɛɥɢɰɚ |
Ɉɩɢɫɚɧɢɟ |
|
ɏɪɚɧɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɤɧɢɝɚɯ |
Books |
|
Groups |
ɏɪɚɧɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɝɪɭɩɩɚɯ, ɜ ɤɨɬɨɪɵɯ ɭɱɚɬɫɹ ɫɬɭɞɟɧɬɵ |
Students |
ɏɪɚɧɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɫɬɭɞɟɧɬɚɯ |
Students_Book |
ɏɪɚɧɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɜɵɞɚɧɧɵɯ ɫɬɭɞɟɧɬɭ ɤɧɢɝɚɯ |
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-74- |
ɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ
Ɋɢɫ. 5.3. ɋɬɪɭɤɬɭɪɚ ɛɚɡɵ ɞɚɧɧɵɯ ɜɵɞɚɱɢ ɤɧɢɝ ɜ ɛɢɛɥɢɨɬɟɤɟ
Ɍɩɢɟɛɨɣɠ ɪɫɩɠɥɭɛ ɝ Borland Developer Studio 2006
ȿɞɢɧɢɰɟɣ ɪɚɡɪɚɛɨɬɤɢ ɜ Borland Developer Studio 2006 ɹɜɥɹɟɬɫɹ ɩɪɨɟɤɬ, ɩɪɟɞɫɬɚɜɥɹɸɳɢɣ ɮɚɣɥ, ɜ ɤɨɬɨɪɨɦ ɯɪɚɧɹɬɫɹ ɫɫɵɥɤɢ ɧɚ ɜɫɟ ɮɨɪɦɵ ɢ ɦɨɞɭɥɢ.
Ƚɥɚɜɧɨɟ ɦɟɧɸ |
|
ɉɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ |
|
ɉɪɟɞɫɬɚɜɥɟɧɢɟ UML-ɦɨɞɟɥɢ |
|
|
|
|
|
ɋɬɪɭɤɬɭɪɚ
ɤɨɦɩɨɧɟɧɬɨɜ Ʉɨɧɫɬɪɭɤɬɨɪ ɮɨɪɦɵ
ɮɨɪɦ
Ɉɛɥɚɫɬɶ
ɢɧɫɩɟɤɬɨɪɚ ɉɚɧɟɥɶ ɢɧɫɬɪɭɦɟɧɬɨɜ
Ɋɢɫ. 5.4. ȼɧɟɲɧɢɣ ɜɢɞ Borland Developer Studio 2006
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-75- |
ɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
Ɍɩɢɟɛɨɣɠ ɪɫɩɠɥɭɛ ɝ Borland Developer Studio 2006
ɑɬɨɛɵ ɫɨɡɞɚɬɶ ɩɪɨɟɤɬ, ɧɟɨɛɯɨɞɢɦɨ ɜɵɛɪɚɬɶ ɜ ɝɥɚɜɧɨɦ ɦɟɧɸ ɩɭɧɤɬ
File o New o VCL Forms Applications – Delphi for Win32. ɉɪɢ ɷɬɨɦ ɛɭɞɟɬ ɫɨɡɞɚɧ ɩɪɨɟɤɬ ɫ ɩɪɨɫɬɵɦ ɢɧɬɟɪɮɟɣɫɨɦ. ȼɢɞ ɨɤɧɚ Borland Developer Studio 2006 ɩɪɟɞɫɬɚɜɥɟɧ ɧɚ ɪɢɫ. 5.4.
ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ
Ɇɨɞɭɥɢ ɩɪɟɞɫɬɚɜɥɹɸɬ ɫɨɛɨɣ ɫɬɪɭɤɬɭɪɧɵɟ ɟɞɢɧɢɰɵ, ɢɡ ɤɨɬɨɪɵɯ ɫɨɫɬɨɢɬ ɩɪɨɟɤɬ. ȼ ɨɞɧɨɦ ɦɨɞɭɥɟ ɦɨɠɟɬ ɫɨɞɟɪɠɚɬɶɫɹ ɧɟɫɤɨɥɶɤɨ ɤɥɚɫɫɨɜ ɫ ɨɩɢɫɚɧɢɟɦ ɢɯ ɢɧɬɟɪɮɟɣɫɨɜ ɢ ɪɟɚɥɢɡɚɰɢɣ.
Ɋɟɞɚɤɬɨɪ ɤɨɞɚ
Ɋɢɫ. 5.5. ɇɨɜɵɣ ɦɨɞɭɥɶ
Ⱦɨɛɚɜɥɟɧɢɟ ɧɨɜɨɝɨ ɦɨɞɭɥɹ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɩɭɬɟɦ ɜɵɛɨɪɚ ɜ ɝɥɚɜɧɨɦ ɦɟɧɸ ɩɭɧɤɬɚ File o New o Unit – Delphi for Win32. ȼ ɩɪɚɜɨɣ ɱɚɫɬɢ ɪɟɞɚɤɬɨɪɚ ɜ Ⱦɟɪɟɜɟ ɩɪɨɟɤɬɚ ɩɨɹɜɢɬɫɹ ɧɨɜɵɣ ɷɥɟɦɟɧɬ (Unit). Ɇɨɞɢɮɢɤɚɰɢɹ ɤɨɞɚ ɜɵɩɨɥɧɹɟɬɫɹ ɜ ɪɟɞɚɤɬɨɪɟ ɤɨɞɚ ɞɥɹ ɜɵɛɪɚɧɧɨɝɨ ɦɨɞɭɥɹ (ɪɢɫ. 5.5).
Ɍɩɢɟɛɨɣɠ ɥɦɛɬɬɩɝ ɬ ɪɩɧɩɴɷɹ ɟɣɛɞɫɛɧɧɶ UML
Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɤɥɚɫɫɚ ɫ ɩɨɦɨɳɶɸ ɞɢɚɝɪɚɦɦɵ UML ɩɟɪɟɤɥɸɱɢɬɟɫɶ ɧɚ ɡɚɤɥɚɞɤɭ Model View ɢ ɞɜɚɠɞɵ ɳɟɥɤɧɢɬɟ ɩɨ ɦɨɞɭɥɸ, ɜ ɤɨɬɨɪɵɣ ɫɨɛɢɪɚɟɬɟɫɶ ɞɨɛɚɜɢɬɶ ɤɥɚɫɫ ɢɥɢ ɧɟɫɤɨɥɶɤɨ ɤɥɚɫɫɨɜ (ɪɢɫ. 5.6). Ⱦɚɥɟɟ ɧɚ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ ɜɵɛɟɪɢɬɟ Class ɢ ɳɟɥɤɧɢɬɟ ɜ Ɋɚɛɨɱɟɣ ɨɛɥɚɫɬɢ. Ɍɚɤ ɠɟ ɧɚ Ɋɚɛɨɱɭɸ ɨɛ-
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-76- |
ɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ
ɥɚɫɬɶ ɦɨɠɧɨ ɩɟɪɟɧɨɫɢɬɶ ɤɥɚɫɫɵ, ɪɚɫɩɨɥɨɠɟɧɧɵɟ ɜ ɞɪɭɝɢɯ ɦɨɞɭɥɹɯ ɩɪɨɟɤɬɚ. Ⱦɥɹ ɷɬɨɝɨ ɧɟɨɛɯɨɞɢɦɨ ɜɵɛɪɚɬɶ ɤɥɚɫɫ ɜ Ⱦɟɪɟɜɟ ɩɪɨɟɤɬɚ ɢ ɩɟɪɟɬɚɳɢɬɶ ɟɝɨ ɧɚ Ɋɚɛɨɱɭɸ ɨɛɥɚɫɬɶ. ɉɟɪɟɧɨɫ ɞɪɭɝɢɯ ɤɥɚɫɫɨɜ ɧɚ Ɋɚɛɨɱɭɸ ɨɛɥɚɫɬɶ ɩɨɡɜɨɥɹɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶ ɧɚɫɥɟɞɨɜɚɧɢɟ ɢ ɚɝɪɟɝɚɰɢɸ ɤɥɚɫɫɨɜ.
Ⱦɨɛɚɜɥɟɧɢɟ ɩɨɥɟɣ. Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɩɨɥɹ ɜ ɤɥɚɫɫ ɧɟɨɛɯɨɞɢɦɨ ɳɟɥɤɧɭɬɶ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɤɥɚɫɫɭ. ɉɨɹɜɢɬɫɹ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɤɨɬɨɪɨɦ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɩɭɧɤɬ Add ɢ ɩɨɞɩɭɧɤɬ Field ɢɥɢ ɧɚɠɚɬɶ ɫɨɱɟɬɚɧɢɟ ɤɥɚɜɢɲ Ctrl + W. ɉɪɢ ɷɬɨɦ ɜ Ɋɚɛɨɱɟɣ ɨɛɥɚɫɬɢ ɭ ɤɥɚɫɫɚ, ɞɥɹ ɤɨɬɨɪɨɝɨ ɜɵ ɞɨɛɚɜɢɥɢ ɩɨɥɟ, ɩɨɹɜɢɬɫɹ ɧɨɜɚɹ ɫɬɪɨɤɚ, ɜ ɤɨɬɨɪɨɣ ɭɤɚɡɵɜɚɟɬɫɹ ɧɚɡɜɚɧɢɟ ɩɨɥɹ ɢ ɟɝɨ ɬɢɩ. ɉɨ-ɞɪɭɝɨɦɭ ɜɵ ɦɨɠɟɬɟ ɧɚɫɬɪɨɢɬɶ ɫɜɨɣɫɬɜɚ ɩɨɥɹ ɜ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ.
Ⱦɟɪɟɜɨ ɩɪɨɟɤɬɚ
Ɋɚɛɨɱɚɹ ɨɛɥɚɫɬɶ
ɉɚɧɟɥɶ ɢɧɫɬ- Ɉɛɥɚɫɬɶ ɪɭɦɟɧɬɨɜ
ɢɧɫɩɟɤɬɨɪɚ
Ɋɢɫ. 5.6. ɉɪɟɞɫɬɚɜɥɟɧɢɟ UML
Ⱦɨɛɚɜɥɟɧɢɟ ɫɜɨɣɫɬɜ. Ⱦɨɛɚɜɢɬɶ ɫɜɨɣɫɬɜɨ ɦɨɠɧɨ ɩɨɫɪɟɞɫɬɜɨɦ ɤɨɧɬɟɤɫɬɧɨɝɨ ɦɟɧɸ ɢ ɜɵɛɨɪɚ ɩɭɧɤɬɚ Add. Ⱦɚɥɟɟ ɜɵɛɟɪɢɬɟ ɩɨɞɩɭɧɤɬ Property.
Ⱦɨɛɚɜɥɟɧɢɟ ɩɪɨɰɟɞɭɪɵ. Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɩɪɨɰɟɞɭɪɵ ɳɟɥɤɧɢɬɟ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɤɥɚɫɫɭ ɢ ɜ ɩɨɹɜɢɜɲɟɦɫɹ ɤɨɧɬɟɤɫɬɧɨɦ ɦɟɧɸ ɜɵɛɟɪɢɬɟ ɩɭɧɤɬ Add ɢ ɩɨɞɩɭɧɤɬ Procedure. Ⱦɥɹ ɩɟɪɟɯɨɞɚ ɤ ɨɩɪɟɞɟɥɟɧɢɸ ɩɪɨɰɟɞɭɪɵ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɷɥɟɦɟɧɬ ɢ ɜɵɡɜɚɬɶ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɤɨɬɨɪɨɦ ɜɵɛɢɪɚɟɬɫɹ ɩɭɧɤɬ Go to definition.
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-77- |
ɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ
|
|
Ɍɚɛɥɢɰɚ 5.15 |
|
|
ɋɜɨɣɫɬɜɚ ɩɪɨɰɟɞɭɪɵ |
|
|
Ɉɩɢɫɚɧɢɟ |
ɋɜɨɣɫɬɜɨ |
||
Override |
|
Ɉɩɪɟɞɟɥɹɟɬ, ɹɜɥɹɟɬɫɹ ɥɢ ɷɬɚ ɩɪɨɰɟɞɭɪɚ ɩɟɪɟɨɩɪɟɞɟɥɟɧɧɨɣ |
Params |
|
Ɉɩɪɟɞɟɥɹɟɬ ɫɩɢɫɨɤ ɮɨɪɦɚɥɶɧɵɯ ɩɚɪɚɦɟɬɪɨɜ ɩɪɨɰɟɞɭɪɵ |
Virtual |
|
Ɉɩɪɟɞɟɥɹɟɬ, ɹɜɥɹɟɬɫɹ ɥɢ ɩɪɨɰɟɞɭɪɚ ɜɢɪɬɭɚɥɶɧɨɣ |
Visibility |
|
Ɉɩɪɟɞɟɥɹɟɬ ɞɢɪɟɤɬɢɜɭ ɜɢɞɢɦɨɫɬɢ ɩɪɨɰɟɞɭɪɵ |
ȼ ɬɚɛɥ |
. |
5.15 ɩɪɟɞɫɬɚɜɥɟɧɵ ɫɜɨɣɫɬɜɚ, ɤɨɬɨɪɵɟ ɦɨɠɧɨ ɧɚɫɬɪɨɢɬɶ |
ɜ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ ɞɥɹ ɩɪɨɰɟɞɭɪɵ.
Ⱦɨɛɚɜɥɟɧɢɟ ɮɭɧɤɰɢɢ. Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɮɭɧɤɰɢɢ ɜ ɤɥɚɫɫ ɳɟɥɤɧɢɬɟ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɤɥɚɫɫɭ. ɉɨɹɜɢɬɫɹ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɤɨɬɨɪɨɦ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɩɭɧɤɬ Add ɢ ɩɨɞɩɭɧɤɬ Function ɢɥɢ ɧɚɠɚɬɶ ɫɨɱɟɬɚɧɢɟ ɤɥɚɜɢɲ Ctrl + M. ɋɜɨɣɫɬɜɚ ɮɭɧɤɰɢɢ, ɤɨɬɨɪɵɟ ɦɨɠɧɨ ɧɚɫɬɪɨɢɬɶ ɜ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.16.
Ɍɚɛɥɢɰɚ 5.16
|
ɋɜɨɣɫɬɜɚ ɮɭɧɤɰɢɢ |
|
Ɉɩɢɫɚɧɢɟ |
ɋɜɨɣɫɬɜɨ |
|
Override |
Ɉɩɪɟɞɟɥɹɟɬ, ɹɜɥɹɟɬɫɹ ɥɢ ɷɬɚ ɮɭɧɤɰɢɹ ɩɟɪɟɨɩɪɟɞɟɥɟɧɧɨɣ |
Params |
Ɉɩɪɟɞɟɥɹɟɬ ɫɩɢɫɨɤ ɮɨɪɦɚɥɶɧɵɯ ɩɚɪɚɦɟɬɪɨɜ ɮɭɧɤɰɢɢ |
Returns |
Ɉɩɪɟɞɟɥɹɟɬ ɬɢɩ ɜɨɡɜɪɚɳɚɟɦɨɝɨ ɡɧɚɱɟɧɢɹ ɮɭɧɤɰɢɢ |
Virtual |
Ɉɩɪɟɞɟɥɹɟɬ, ɹɜɥɹɟɬɫɹ ɥɢ ɮɭɧɤɰɢɹ ɜɢɪɬɭɚɥɶɧɨɣ |
Visibility |
Ɉɩɪɟɞɟɥɹɟɬ ɞɢɪɟɤɬɢɜɭ ɜɢɞɢɦɨɫɬɢ ɮɭɧɤɰɢɢ |
Ɍɩɢɟɛɨɣɠ ɩɭɨɩɳɠɨɣɤ ɧɠɡɟɮ ɥɦɛɬɬɛɧɣ
Ⱥɫ ɫ ɨ ɰ ɢ ɚ ɰ ɢ ɹ. Ɇɟɠɞɭ ɞɜɭɦɹ ɤɥɚɫɫɚɦɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɨɬɧɨɲɟɧɢɟ ɚɫɫɨɰɢɚɰɢɢ, ɟɫɥɢ ɦɟɠɞɭ ɷɬɢɦɢ ɤɥɚɫɫɚɦɢ ɟɫɬɶ ɫɜɹɡɶ. ɍ ɚɫɫɨɰɢɚɰɢɢ ɭɤɚɡɵɜɚɸɬɫɹ ɪɨɥɢ ɢ ɦɨɳɧɨɫɬɢ.
Ⱦɥɹ ɭɫɬɚɧɨɜɤɢ ɚɫɫɨɰɢɚɰɢɢ ɦɟɠɞɭ ɞɜɭɦɹ ɤɥɚɫɫɚɦɢ ɩɨɦɟɫɬɢɬɟ ɧɚ ɞɢɚɝɪɚɦɦɭ ɷɬɢ ɤɥɚɫɫɵ ɢɡ Ⱦɟɪɟɜɚ ɩɪɨɟɤɬɚ, ɜɵɛɟɪɢɬɟ ɧɚ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ ɩɭɧɤɬ Association, ɳɟɥɤɧɢɬɟ ɦɵɲɤɨɣ ɩɨ ɨɞɧɨɦɭ, ɚ ɡɚɬɟɦ ɩɨ ɜɬɨɪɨɦɭ ɤɥɚɫɫɭ.
ȼ ɫɜɨɣɫɬɜɚɯ ɚɫɫɨɰɢɚɰɢɢ ɩɨ ɭɦɨɥɱɚɧɢɸ ɨɬɫɭɬɫɬɜɭɟɬ ɧɚɩɪɚɜɥɟɧɧɨɫɬɶ, ɱɬɨ ɩɨɞɪɚɡɭɦɟɜɚɟɬ ɞɜɭɧɚɩɪɚɜɥɟɧɧɭɸ ɫɜɹɡɶ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ. Ⱦɥɹ ɭɫɬɚɧɨɜɤɢ ɨɞɧɨɧɚɩɪɚɜɥɟɧɧɨɣ ɚɫɫɨɰɢɚɰɢɢ ɧɭɠɧɨ ɭɫɬɚɧɨɜɢɬɶ ɫɜɨɣɫɬɜɨ Directed ɜ ɩɨɥɨɠɟɧɢɟ true. Ɇɨɳɧɨɫɬɶ ɢ ɪɨɥɶ ɭɫɬɚɧɚɜɥɢɜɚɸɬɫɹ ɜ ɞɜɭɧɚɩɪɚɜɥɟɧɧɨɣ ɚɫɫɨɰɢɚɰɢɢ ɧɚ ɨɛɨɢɯ ɩɨɥɸɫɚɯ, ɜ ɨɞɧɨɧɚɩɪɚɜɥɟɧɧɨɣ ɚɫɫɨɰɢɚɰɢɢ – ɧɚ ɨɞɧɨɦ ɩɨɥɸɫɟ ɩɨ ɧɚɩɪɚɜɥɟɧɢɸ ɫɬɪɟɥɤɢ. Ⱦɥɹ ɭɫɬɚɧɨɜɤɢ ɦɨɳɧɨɫɬɢ ɜɵɛɟɪɢɬɟ ɢɡ ɫɩɢɫɤɚ ɡɧɚ-
ɱɟɧɢɟ ɞɥɹ ɫɜɨɣɫɬɜɚ Client Cardinality ɢ/ɢɥɢ ɞɥɹ ɫɜɨɣɫɬɜɚ Supplier Cardinality.
Ⱦɥɹ ɭɫɬɚɧɨɜɥɟɧɢɹ ɪɨɥɟɣ ɡɚɩɨɥɧɢɬɟ ɫɜɨɣɫɬɜɚ Client Role ɢ/ɢɥɢ Supplier Role ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ.
Ⱥɝ ɪ ɟ ɝ ɚ ɰ ɢ ɹ. Ɇɟɠɞɭ ɞɜɭɦɹ ɤɥɚɫɫɚɦɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɨɬɧɨɲɟɧɢɟ ɚɝɪɟɝɚɰɢɢ, ɟɫɥɢ ɨɞɢɧ ɨɛɴɟɤɬ ɨɞɧɨɝɨ ɤɥɚɫɫɚ ɜɤɥɸɱɚɟɬ ɜ ɫɟɛɹ ɨɛɴɟɤɬɵ ɞɪɭɝɨɝɨ
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-78- |
ɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ
ɤɥɚɫɫɚ. Ⱦɥɹ ɭɫɬɚɧɨɜɤɢ ɬɢɩɚ ɚɫɫɨɰɢɚɰɢɢ «ɚɝɪɟɝɚɰɢɹ» ɭɤɚɠɢɬɟ ɜ ɫɜɨɣɫɬɜɟ ɚɫɫɨɰɢɚɰɢɢ Type ɡɧɚɱɟɧɢɟ Aggregation.
ɇ ɚ ɫ ɥ ɟ ɞ ɨ ɜ ɚ ɧ ɢ ɟ. Ɇɟɠɞɭ ɤɥɚɫɫɚɦɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɨɬɧɨɲɟɧɢɟ ɧɚɫɥɟɞɨɜɚɧɢɹ, ɟɫɥɢ ɨɞɢɧ ɤɥɚɫɫ ɹɜɥɹɟɬɫɹ ɛɚɡɨɜɵɦ (ɪɨɞɢɬɟɥɶ), ɚ ɜɬɨɪɨɣ – ɞɨɱɟɪɧɢɦ (ɩɨɬɨɦɤɨɦ). ɉɪɢ ɷɬɨɦ ɞɨɱɟɪɧɢɣ ɤɥɚɫɫ ɧɚɫɥɟɞɭɟɬ ɫɜɨɣɫɬɜɚ ɢ ɦɟɬɨɞɵ ɪɨɞɢɬɟɥɶɫɤɨɝɨ ɤɥɚɫɫɚ ɢ ɪɟɚɥɢɡɭɟɬ ɫɜɨɢ ɫɨɛɫɬɜɟɧɧɵɟ.
Ⱦɥɹ ɭɫɬɚɧɨɜɤɢ ɨɬɧɨɲɟɧɢɹ ɧɚɫɥɟɞɨɜɚɧɢɹ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ ɜɵɛɟɪɢɬɟ ɧɚ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ ɤɨɦɩɨɧɟɧɬ Generalization ɢ ɭɫɬɚɧɨɜɢɬɟ ɷɬɭ ɫɜɹɡɶ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ.
ɉ ɪ ɢ ɦ ɟ ɪ ɫ ɨ ɡ ɞ ɚ ɧ ɢ ɹ ɤ ɥ ɚ ɫ ɫ ɨ ɜ
ɋɨɡɞɚɧɢɟ ɤɥɚɫɫɨɜ ɢ ɨɬɧɨɲɟɧɢɣ ɦɟɠɞɭ ɧɢɦɢ ɫɥɨɹ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ
ȼ ɤɚɱɟɫɬɜɟ ɩɪɢɦɟɪɚ ɫɨɡɞɚɧɢɹ ɨɬɧɨɲɟɧɢɣ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ ɜɨɡɶɦɟɦ ɤɥɚɫɫɵ ɫɥɨɹ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ (ɪɢɫ. 5.2).
Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɷɬɢɯ ɤɥɚɫɫɨɜ ɧɟɨɛɯɨɞɢɦɨ ɜɵɩɨɥɧɢɬɶ ɫɥɟɞɭɸɳɢɟ ɞɟɣɫɬ-
ɜɢɹ:
1.ɋɨɡɞɚɬɶ ɧɨɜɵɣ ɦɨɞɭɥɶ. Ⱦɥɹ ɷɬɨɝɨ ɜ ɝɥɚɜɧɨɦ ɦɟɧɸ ɜɵɛɟɪɢɬɟ File o
New o Unit – Delphi for Win32.
2.ɋɨɯɪɚɧɢɬɟ ɟɝɨ, ɜɵɛɪɚɜ ɜ ɝɥɚɜɧɨɦ ɦɟɧɸ File o Save ɢɥɢ ɧɚɠɚɜ ɫɨɱɟɬɚɧɢɟ ɤɥɚɜɢɲ Ctrl + S, ɭɤɚɡɚɜ ɩɪɢ ɷɬɨɦ ɢɦɹ ɦɨɞɭɥɹ ClassConnection.
3.ȼɵɛɟɪɢɬɟ ɜ ɜɟɪɯɧɟɦ ɩɪɚɜɨɦ ɨɤɧɟ ɜɤɥɚɞɤɭ Model View. ɇɚɣɞɢɬɟ ɬɚɦ ɬɨɥɶɤɨ ɱɬɨ ɫɨɡɞɚɧɧɵɣ ɦɨɞɭɥɶ ɢ ɞɜɚ ɪɚɡɚ ɳɟɥɤɧɢɬɟ ɩɨ ɧɟɦɭ ɥɟɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɤɢ. Ɉɤɧɨ Borland Studio ɛɭɞɟɬ ɢɦɟɬɶ ɜɢɞ, ɩɪɟɞɫɬɚɜɥɟɧɧɵɣ ɧɚ ɪɢɫ. 5.6.
4.ɉɟɪɟɬɚɳɢɬɟ ɜ Ɋɚɛɨɱɭɸ ɨɛɥɚɫɬɶ ɩɭɧɤɬ Class ɢɡ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧ-
ɬɨɜ.
5.ɉɟɪɟɢɦɟɧɭɣɬɟ ɬɨɥɶɤɨ ɱɬɨ ɫɨɡɞɚɧɧɵɣ ɤɥɚɫɫ. Ⱦɥɹ ɷɬɨɝɨ ɳɟɥɤɧɢɬɟ ɨɞɢɧ ɪɚɡ ɩɨ ɡɚɝɨɥɨɜɤɭ ɤɥɚɫɫɚ ɢ ɜɜɟɞɢɬɟ ɧɨɜɨɟ ɧɚɡɜɚɧɢɟ, ɥɢɛɨ ɜɵɛɟɪɢɬɟ ɤɥɚɫɫ ɧɚ
Ɋɚɛɨɱɟɣ ɨɛɥɚɫɬɢ ɢ ɧɚɫɬɪɨɣɬɟ ɫɜɨɣɫɬɜɚ Name ɜ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ. ɇɚ-
ɡɨɜɟɦ ɬɨɥɶɤɨ ɱɬɨ ɫɨɡɞɚɧɧɵɣ ɤɥɚɫɫ TConnection.
6.Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɫɜɨɣɫɬɜɚ ɧɭɠɧɨ ɳɟɥɤɧɭɬɶ ɩɨ ɤɥɚɫɫɭ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ. ɉɪɢ ɷɬɨɦ ɩɨɹɜɢɬɫɹ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɧɟɦ ɜɵɛɟɪɢɬɟ ɩɭɧɤɬ Add, ɚ ɡɚɬɟɦ ɩɭɧɤɬ Property – ɩɨɹɜɢɬɫɹ ɧɨɜɨɟ ɩɨɥɟ. Ⱦɥɹ ɟɝɨ ɩɟɪɟɢɦɟɧɨɜɚɧɢɹ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɩɨɹɜɢɜɲɟɟɫɹ ɫɜɨɣɫɬɜɨ ɢ ɳɟɥɤɧɭɬɶ ɩɨ ɧɟɦɭ ɨɞɢɧ ɪɚɡ – ɩɨɹɜɢɬɫɹ ɩɨɥɟ ɜɜɨɞɚ, ɜ ɤɨɬɨɪɨɦ ɦɨɠɧɨ ɭɤɚɡɚɬɶ ɧɚɡɜɚɧɢɟ ɢ ɬɢɩ ɫɜɨɣɫɬɜɚ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɩɨɥɹ ɫɨɡɞɚɸɬɫɹ ɫ ɞɨɫɬɭɩɨɦ ɤ ɡɚɩɢɫɢ ɢ ɱɬɟɧɢɸ ɱɟɪɟɡ ɩɪɨɰɟɞɭɪɵ. ȿɫɥɢ ɷɬɨ ɧɟ ɧɭɠɧɨ, ɦɨɠɧɨ ɜɪɭɱɧɭɸ ɨɬɪɟɞɚɤɬɢɪɨɜɚɬɶ ɫɜɨɣɫɬɜɚ ɜ ɪɟɞɚɤɬɨɪɟ ɤɨɞɚ. ɋɨɡɞɚɞɢɦ ɫɜɨɣɫɬɜɚ ɫɨɝɥɚɫɧɨ ɬɚɛɥ. 5.5.
7.Ⱦɨɛɚɜɶɬɟ ɩɪɨɰɟɞɭɪɵ ɜ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫ ɬɚɛɥ. 5.6. Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɩɪɨɰɟɞɭɪɵ ɳɟɥɤɧɢɬɟ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɤɥɚɫɫɭ ɢ ɜ ɩɨɹɜɢɜɲɟɦɫɹ ɤɨɧɬɟɤɫɬɧɨɦ ɦɟɧɸ ɜɵɛɟɪɢɬɟ ɩɭɧɤɬ Add ɢ ɩɨɞɩɭɧɤɬ Procedure.
8.Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɮɭɧɤɰɢɢ ɜ ɤɥɚɫɫɟ ɳɟɥɤɧɢɬɟ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɧɟɦɭ. ɉɨɹɜɢɬɫɹ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɤɨɬɨɪɨɦ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɩɭɧɤɬ Add
ɢɩɨɞɩɭɧɤɬ Function ɢɥɢ ɧɚɠɚɬɶ ɫɨɱɟɬɚɧɢɟ ɤɥɚɜɢɲ Ctrl + M.
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-79- |
ɅȺȻ. Ɋ. ʋ 5 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐ. ɈɌɈȻɊȺɀȿɇɂə ɋ ɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ
ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ
Ɉɫɬɚɥɶɧɵɟ ɤɥɚɫɫɵ ɫɨɡɞɚɸɬɫɹ ɚɧɚɥɨɝɢɱɧɨ. Ⱦɚɥɟɟ ɭɫɬɚɧɨɜɢɦ ɧɚɫɥɟɞɨɜɚ-
ɧɢɟ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ TExecuteObject ɢ TDBObject.
1.Ⱦɥɹ ɭɫɬɚɧɨɜɥɟɧɢɹ ɨɬɧɨɲɟɧɢɹ ɧɚɫɥɟɞɨɜɚɧɢɹ ɭ ɤɥɚɫɫɚ TExecuteObject ɧɭɠɧɨ ɧɚɣɬɢ ɤɥɚɫɫ TDBObject ɜɨ ɜɤɥɚɞɤɟ Model View ɢ ɩɟɪɟɧɟɫɬɢ ɧɚ ɞɢɚɝɪɚɦɦɭ ɤɥɚɫɫɚ TExecuteObject. ɇɚ ɞɢɚɝɪɚɦɦɟ ɩɨɹɜɢɬɫɹ ɫɫɵɥɤɚ ɧɚ ɤɥɚɫɫ.
2.ȼɵɛɟɪɢɬɟ ɧɚ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ ɩɭɧɤɬ Generalization.
3.ɓɟɥɤɧɢɬɟ ɦɵɲɤɨɣ ɩɨ ɤɥɚɫɫɭ TExecuteObect.
4.ɓɟɥɤɧɢɬɟ ɦɵɲɤɨɣ ɩɨ ɤɥɚɫɫɭ TDBObject.
Ⱦɚɥɟɟ ɭɫɬɚɧɨɜɢɦ ɚɫɫɨɰɢɚɰɢɸ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ TDBObject ɢ TTransactionObject.
1.Ⱦɥɹ ɧɚɫɬɪɨɣɤɢ ɚɫɫɨɰɢɚɰɢɢ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ TDBObject ɢ TTransactionObject ɧɭɠɧɨ ɩɟɪɟɧɟɫɬɢ ɤɥɚɫɫ TDBObject ɧɚ ɞɢɚɝɪɚɦɦɭ ɤɥɚɫɫɚ TTransactionObject.
2.ȼɵɛɟɪɢɬɟ ɧɚ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ ɩɭɧɤɬ Association.
3.ɓɟɥɤɧɢɬɟ ɩɨ ɤɥɚɫɫɭ TDBObject.
4.ɓɟɥɤɧɢɬɟ ɩɨ ɤɥɚɫɫɭ TTransactionObject.
5.ȼ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ ɭɫɬɚɧɨɜɢɬɟ ɭ ɫɜɨɣɫɬɜɚ Type ɡɧɚɱɟɧɢɟ Aggregation.
ɋɨɡɞɚɧɢɟ ɤɥɚɫɫɨɜ ɫɥɨɹ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ
ɋɬɪɭɤɬɭɪɚ ɤɥɚɫɫɨɜ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ ɩɪɟɞɫɬɚɜɥɟɧɚ ɧɚ ɪɢɫ. 5.7.
Ʉɥɚɫɫ TDataPrepare ɹɜɥɹɟɬɫɹ ɛɚɡɨɜɵɦ ɤɥɚɫɫɨɦ ɫɥɨɹ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ. ɉɨɥɹ ɤɥɚɫɫɚ ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.1, ɫɜɨɣɫɬɜɚ ɤɥɚɫɫɚ – ɜ ɬɚɛɥ. 5.2. Ⱦɚɧɧɵɣ ɤɥɚɫɫ ɢɦɟɟɬ ɜɢɪɬɭɚɥɶɧɵɟ ɦɟɬɨɞɵ, ɩɪɢɜɟɞɟɧɧɵɟ ɜ ɬɚɛɥ. 5.3.
Ʉɥɚɫɫɵ, ɩɨɪɨɠɞɟɧɧɵɟ ɨɬ ɤɥɚɫɫɚ TDataPrepare. ȼ ɷɬɢɯ ɤɥɚɫɫɚɯ ɧɟɨɛɯɨ-
ɞɢɦɨ ɩɟɪɟɨɩɪɟɞɟɥɢɬɶ ɜɫɟ ɜɢɪɬɭɚɥɶɧɵɟ ɦɟɬɨɞɵ ɤɥɚɫɫɚ TDataPrepare ɢ ɫɨɡɞɚɬɶ ɫɜɨɣɫɬɜɚ ɫɨɝɥɚɫɧɨ ɬɚɛɥ. 5.17, ɬɚɛɥ, 5.18, ɬɚɛɥ. 5.19.
TDataPrepare
|
|
|
|
|
|
|
|
TBook |
|
|
TStudentBook |
|
TStudents |
||
|
|
|
|
|
|
|
|
Ɋɢɫ. 5.7. ɋɬɪɭɤɬɭɪɚ ɤɥɚɫɫɨɜ ɫɥɨɹ «Ȼɢɡɧɟɫ-ɥɨɝɢɤɚ»
Ɍɚɛɥɢɰɚ 5.17
|
ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TBook |
|
Ɉɩɢɫɚɧɢɟ |
ɋɜɨɣɫɬɜɨ |
|
Author: string |
Ⱥɜɬɨɪ ɤɧɢɝɢ |
Name: string |
ɇɚɡɜɚɧɢɟ ɤɧɢɝɢ |
ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ |
-80- |