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

Простой Python просто с нуля

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
ɂɡɜɢɧɢɬɟ ɡɚ ɧɟɤɨɬɨɪɭɸ ɧɟɛɪɟɠɧɨɫɬɶ ɫɬɢɥɹ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ. Ɋɚɡɭɦɟɟɬɫɹ, ɥɭɱɲɟ ɛɵɥɨ ɛɵ ɨɮɨɪɦɢɬɶ ɪɢɫɨɜɚɧɢɟ ɞɭɝɢ ɢ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɝɨ ɟɣ ɷɥɥɢɩɫɚ ɜ ɜɢɞɟ ɮɭɧɤɰɢɢ. Ɂɚɬɨ ɬɚɤ ɛɵɫɬɪɟɟ. Ƚɥɚɜɧɨɟ, ɜɫɺ ɫɪɚɡɭ ɩɨɧɹɬɧɨ.
Ɍɟɤɫɬ
Ⱦɥɹ ɜɵɜɨɞɚ ɬɟɤɫɬɚ ɢɫɩɨɥɶɡɭɟɬɫɹ ɦɟɬɨɞ ɫ ɫɨɜɟɪɲɟɧɧɨ ɧɟɨɠɢɞɚɧɧɵɦ ɧɚɡɜɚɧɢɟɦ ɡɚɞɚɺɦ
create_text. ɇɢɱɟɝɨ ɩɪɢɧɰɢɩɢɚɥɶɧɨ ɫɥɨɠɧɨɝɨ ɜ ɧɺɦ ɧɟɬ. Ɇɵ
ɤɭɞɚ ɜɵɜɨɞɢɬɶ, ɱɬɨ ɜɵɜɨɞɢɬɶ ɢ ɤɚɤ ɜɵɜɨɞɢɬɶ. ɋ ɬɟɯɧɢɱɟɫɤɨɣ ɬɨɱɤɢ
ɡɪɟɧɢɹ, ɜɨɡɧɢɤɚɸɬ ɩɪɨɛɥɟɦɵ ɫ ɬɨɱɧɨɣ ɩɨɞɝɨɧɤɨɣ ɦɟɫɬɚ ɜɵɜɨɞɚ – ɤɚɤ ɫɞɟɥɚɬɶ ɬɚɤ, ɱɬɨɛɵ ɬɟɤɫɬ ɧɟ ɩɟɪɟɤɪɵɜɚɥ ɥɢɧɢɢ.
c.create_text( x0-10,y0+10, text='A', font=('Times',16)) c.create_text( x0+a+10,y0+10, text='B', font=('Times',16)) c.create_text( x0+a/2,y0-h-10, text='C', font=('Times',16))
ɉɨɫɥɟɞɧɢɣ ɩɚɪɚɦɟɬɪ, ɲɪɢɮɬ, ɩɪɢ ɜɵɜɨɞɟ ɬɟɤɫɬɚ ɨɱɟɧɶ ɜɚɠɟɧ. ɉɪɢ ɜɵɜɨɞɟ ɥɢɧɢɢ ɦɵ ɦɨɝɥɢ ɧɟ ɡɚɞɚɜɚɬɶ ɟɺ ɰɜɟɬ ɢ ɬɨɥɳɢɧɭ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɥɢɧɢɹ ɱɺɪɧɚɹ ɢ ɬɨɥɳɢɧɚ ɟɺ ɪɚɜɧɚ ɟɞɢɧɢɰɟ, ɨɛɵɱɧɨ ɷɬɨ ɜɫɟɯ ɭɫɬɪɚɢɜɚɟɬ. ɉɚɪɚɦɟɬɪɵ ɩɨ ɭɦɨɥɱɚɧɢɸ ɞɥɹ ɲɪɢɮɬɚ ɨɛɵɱɧɨ ɧɟ ɭɫɬɪɚɢɜɚɸɬ ɧɢɤɨɝɨ. ɇɟ ɩɨɬɨɦɭ, ɱɬɨ ɨɧɢ ɩɥɨɯɢɟ, ɚ ɩɨɬɨɦɭ, ɱɬɨ ɬɪɟɛɨɜɚɧɢɹ ɤ ɬɟɤɫɬɭ ɛɵɜɚɸɬ ɨɱɟɧɶ ɢ ɨɱɟɧɶ ɪɚɡɧɵɦɢ. Ⱦɚɥɟɟ – ɲɪɢɮɬ ɡɚɞɚɺɬɫɹ ɧɟɦɧɨɝɨ ɫɥɨɠɧɟɟ, ɱɟɦ ɰɜɟɬ ɢɥɢ ɬɨɥɳɢɧɚ. ɒɪɢɮɬ – ɷɬɨ, ɫɬɪɨɝɨ ɜɵɪɚɠɚɹɫɶ, ɤɨɪɬɟɠ. Ʉɨɪɬɟɠ, ɧɚɩɨɦɢɧɚɸ, ɷɬɨ ɧɟɱɬɨ, ɡɚɤɥɸɱɺɧɧɨɟ ɜ ɤɪɭɝɥɵɟ ɫɤɨɛɤɢ ɢ ɱɟɪɟɡ ɡɚɩɹɬɭɸ. Ⱦɥɹ ɤɚɤɨɝɨ-ɧɢɛɭɞɶ ɞɪɭɝɨɝɨ ɹɡɵɤɚ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ ɬɚɤɨɟ ɨɩɪɟɞɟɥɟɧɢɟ ɩɪɨɡɜɭɱɚɥɨ ɛɵ ɧɚɢɜɧɨ ɢ ɞɚɠɟ ɝɥɭɩɨ, ɚ ɜ ɉɢɬɨɧɟ – ɜ ɫɚɦɵɣ ɪɚɡ. Ɂɚɞɚɺɦ ɦɵ ɢɦɹ ɲɪɢɮɬɚ ɢ ɪɚɡɦɟɪ. ɉɨɫɤɨɥɶɤɭ ɩɚɪɚɦɟɬɪɵ ɩɟɪɟɞɚɸɬɫɹ ɧɟ ɩɨ ɢɦɟɧɚɦ, ɩɨɪɹɞɨɤ ɢɯ ɫɥɟɞɨɜɚɧɢɹ ɜɚɠɟɧ. Ⱥ ɬɟɩɟɪɶ, ɧɚɤɨɧɟɰ, ɪɟɡɭɥɶɬɚɬ.
221
Ɉɞɧɚɤɨ ɧɚ ɷɬɨɦ ɦɵ ɧɟ ɨɫɬɚɧɨɜɢɦɫɹ. Ɉɛɨɡɧɚɱɢɦ ɟɳɺ ɢ ɫɬɨɪɨɧɵ, ɚ ɬɚɤɠɟ ɭɝɥɵ. ɉɨ ɬɪɚɞɢɰɢɢ, ɫɬɨɪɨɧɵ ɨɛɨɡɧɚɱɚɸɬɫɹ ɦɚɥɟɧɶɤɢɦɢ ɛɭɤɜɚɦɢ ɢ ɤɭɪɫɢɜɨɦ. ɋɚɦɢ ɛɭɤɜɵ ɫɨɜɩɚɞɚɸɬ ɫ ɛɭɤɜɚɦɢ ɞɥɹ ɭɝɥɨɜ ɧɚɩɪɨɬɢɜ ɫɬɨɪɨɧ. ɑɬɨɛɵ ɜɫɟɯ ɡɚɩɭɬɚɬɶ, ɭɝɥɵ ɩɪɢ ɜɟɪɲɢɧɚɯ A,B,C ɩɨɞɩɢɫɵɜɚɸɬɫɹ ɝɪɟɱɟɫɤɢɦɢ ɛɭɤɜɚɦɢ Į, ȕ, Ȗ. ɉɨɣɞɭ ɩɪɨɬɢɜ ɬɪɚɞɢɰɢɢ ɢ ɫɧɚɱɚɥɚ ɩɪɢɜɟɞɭ ɪɟɡɭɥɶɬɚɬ, ɚ ɬɨɥɶɤɨ ɩɨɬɨɦ ɤɨɞ.
Ⱦɚ, ɜɵɝɥɹɞɢɬ ɤɚɤ-ɬɨ ɧɟ ɨɱɟɧɶ ɢ ɜɨɨɛɳɟ, ɧɚɩɨɦɢɧɚɟɬ ɫɢɦɜɨɥɢɤɭ ɤɚɤɨɣ-ɬɨ ɦɚɫɨɧɫɤɨɣ ɥɨɠɢ, ɟɫɥɢ ɜɵ ɜɨɨɛɳɟ ɩɨɧɢɦɚɟɬɟ, ɨ ɱɺɦ ɹ ɝɨɜɨɪɸ. Ɍɟɦ ɧɟ ɦɟɧɟɟ, ɫ ɬɨɱɤɢ ɡɪɟɧɢɹ ɝɟɨɦɟɬɪɢɢ, ɜɫɺ ɩɪɚɜɢɥɶɧɨ. Ɍɟɩɟɪɶ ɫ ɬɨɱɤɢ ɡɪɟɧɢɹ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ. Ⱦɨɛɚɜɢɥɢɫɶ ɫɥɟɞɭɸɳɢɟ ɫɬɪɨɤɢ:
c.create_text( x0+h/6,y0-h/2, text='b', font=('Times',16, 'italic')) c.create_text( x0+h,y0-h/2, text='a', font=('Times',16, 'italic')) c.create_text( x0+a/2,y0+10, text='c', font=('Times',16, 'italic'))
c.create_text( x0+20,y0-14, text='\x61', font=('Symbol',16)) c.create_text( x0+a-20,y0-14, text='\x62', font=('Symbol',16)) c.create_text( x0+a/2,y0-h+16, text='\x63', font=('Symbol',16))
222
ɑɬɨ ɢɧɬɟɪɟɫɧɨɝɨ ɦɵ ɡɞɟɫɶ ɜɢɞɢɦ? Ɇɟɫɬɚ, ɤɭɞɚ ɜɵɜɨɞɢɬɶ ɬɟɤɫɬ, ɩɨɞɛɢɪɚɸɬɫɹ ɧɚɭɱɧɵɦ
ɦɟɬɨɞɨɦ ɬɵɤɚ. ɋ ɷɬɢɦ ɧɢɱɟɝɨ ɧɟ ɩɨɞɟɥɚɬɶ.
Ƚɪɟɱɟɫɤɚɹ ɛɭɤɜɚ Ȗ ɜɵɝɥɹɞɢɬ ɧɟɫɤɨɥɶɤɨ ɧɟ ɬɚɤ, ɧɨ ɫ ɷɬɢɦ ɬɨɠɟ ɧɢɱɟɝɨ ɧɟ ɩɨɞɟɥɚɬɶ – ɩɪɨɫɬɨ ɩɨɞɛɟɪɢɬɟ ɞɪɭɝɨɣ ɲɪɢɮɬ, ɩɨɫɢɦɩɚɬɢɱɧɟɟ. ȼ ɨɩɢɫɚɧɢɢ ɲɪɢɮɬɚ ɞɨɛɚɜɢɥɫɹ ɟɳɺ ɨɞɢɧ ɩɚɪɚɦɟɬɪ – ‘ ɢɯ ɹɡɵɤɚ ɧɚ ɱɟɥɨɜɟɱɟɫɤɢɣ, ɨɡɧɚɱɚɟɬ
italic’. ɋɥɨɜɨ ɷɬɨ, ɜ ɩɟɪɟɜɨɞɟ ɫ
ɤɭɪɫɢɜ. ɉɚɪɚɦɟɬɪ ɷɬɨɬ ɧɟɫɤɨɥɶɤɨ
ɧɟɬɪɚɞɢɰɢɨɧɟɧ, ɜ ɬɨɦ ɫɦɵɫɥɟ, ɱɬɨ ɫɥɨɜ ɜ ɫɬɪɨɤɟ ɦɨɠɟɬ ɛɵɬɶ ɦɧɨɝɨ, ɧɚɩɪɢɦɟɪ ‘
italic bold underline’. Ɋɟɡɭɥɶɬɚɬ ɛɭɞɟɬ ɬɚɤɢɦ –
Ɍɨ ɟɫɬɶ ɨɛɨɡɧɚɱɟɧɢɹ ɫɬɨɪɨɧ ɦɚɥɨ ɬɨɝɨ ɱɬɨ ɨɫɬɚɥɢɫɶ ɧɚɩɢɫɚɧɧɵɦɢ ɤɭɪɫɢɜɨɦ (
(
underline). ɗɬɨ, ɜ ɨɛɳɟɦ, ɩɨɧɹɬɧɨ.
italic), ɧɨ ɟɳɺ ɫɬɚɥɢ ɠɢɪɧɵɦɢ (bold), ɚ ɬɚɤɠɟ ɩɨɞɱɺɪɤɧɭɬɵɦɢ
ɋ ɨɛɨɡɧɚɱɟɧɢɹɦɢ ɭɝɥɨɜ ɢɧɬɟɪɟɫɧɟɟ. ɍɝɥɵ – ɩɨ ɬɪɚɞɢɰɢɢ – ɨɛɨɡɧɚɱɚɸɬɫɹ ɝɪɟɱɟɫɤɢɦɢ ɛɭɤɜɚɦɢ, ɤɨɬɨɪɵɟ ɜ ɫɪɟɞɟ IDLE ɧɚɛɪɚɬɶ, ɦɹɝɤɨ ɝɨɜɨɪɹ, ɡɚɬɪɭɞɧɢɬɟɥɶɧɨ. Ⱦɥɹ ɨɬɨɛɪɚɠɟɧɢɹ ɝɪɟɱɟɫɤɢɯ ɛɭɤɜ ɦɵ ɢɫɩɨɥɶɡɭɟɦ ɲɪɢɮɬ Symbol. ɉɨɱɟɦɭ ɢɦɟɧɧɨ ɷɬɨɬ? ɍɧɢɜɟɪɫɚɥɶɧɵɣ ɫɨɜɟɬ – ɜɵɛɢɪɚɟɬɟ ɜ ɝɥɚɜɧɨɦ ɦɟɧɸ <Windows ɇɚɫɬɪɨɣɤɚ\ɉɚɧɟɥɶ ɭɩɪɚɜɥɟɧɢɹ\ɒɪɢɮɬɵ> ɢ ɢɳɟɬɟ ɲɪɢɮɬ, ɜ ɤɨɬɨɪɨɦ ɟɫɬɶ ɧɭɠɧɵɣ ɜɚɦ ɫɢɦɜɨɥ. Ⱦɚɥɶɲɟ ɧɚɞɨ ɭɡɧɚɬɶ, ɤɚɤɨɣ ɭ ɷɬɨɝɨ ɫɢɦɜɨɥɚ ɤɨɞ – ɭ ɥɸɛɨɝɨ ɫɢɦɜɨɥɚ ɟɫɬɶ ɤɨɞ. Ʉɚɤ ɭɡɧɚɬɶ ɤɨɞ? Ⱦɥɹ ɷɬɨɝɨ ɟɫɬɶ ɫɩɟɰɢɚɥɶɧɵɟ, ɬɨ, ɱɬɨ ɧɚɡɵɜɚɟɬɫɹ
ɫɬɨɪɨɧɧɢɟ ɩɪɨɝɪɚɦɦɵ. ȼɵ
ɢɯ ɛɟɡ ɬɪɭɞɚ ɧɚɣɞɟɬɟ. ə ɠɟ, ɱɟɫɬɧɨ ɩɪɢɡɧɚɸɫɶ, ɩɨɞɨɛɪɚɥ ɷɬɨɬ ɤɨɞ ɨɩɹɬɶ-ɬɚɤɢ
ɦɟɬɨɞɨɦ ɬɵɤɚ, ɛɟɡ ɨɫɨɛɵɯ ɭɫɢɥɢɣ.
ɑɬɨ ɜɚɠɧɟɟ, ɨɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ, ɧɚ ɬɨ, ɤɚɤ ɡɚɞɚɺɬɫɹ ɷɬɨɬ ɤɨɞ ɫɢɦɜɨɥɚ. Ⱥ ɢɦɟɧɧɨ
text='\x61'. Ɉɛ ɷɬɨɦ ɦɵ ɭɠɟ ɝɨɜɨɪɢɥɢ ɪɚɧɶɲɟ, ɜ ɝɥɚɜɟ ɨ ɫɬɪɨɤɚɯ. X
ɨɛɨɡɧɚɱɚɟɬ ɲɟɫɬɧɚɞɰɚɬɟɪɢɱɧɭɸ ɫɢɫɬɟɦɭ ɫɱɢɫɥɟɧɢɹ. Ȼɷɤɫɥɟɲ – ɨɛɪɚɬɧɵɣ ɫɥɟɲ – ɪɚɡɞɟɥɹɟɬ ɫɢɦɜɨɥɵ, ɡɚɞɚɧɧɵɟ ɜ ɷɬɨɣ ɫɚɦɨɣ ɲɟɫɬɧɚɞɰɚɬɟɪɢɱɧɨɣ ɫɢɫɬɟɦɟ.
223
ɉɪɹɦɨɭɝɨɥɶɧɢɤɢ ɢ ɦɧɨɝɨɭɝɨɥɶɧɢɤɢ.
ȼ ɬɨɦ ɱɢɫɥɟ ɢ ɛɟɡ ɭɝɥɨɜ
Ɇɧɨɝɨɭɝɨɥɶɧɢɤɢ ɦɵ ɭɠɟ ɜɩɨɥɧɟ ɭɫɩɟɲɧɨ ɪɢɫɨɜɚɥɢ, ɧɨ ɬɟɩɟɪɶ ɩɨɞɨɣɞɺɦ ɤ ɞɟɥɭ ɛɨɥɟɟ ɫɢɫɬɟɦɚɬɢɱɟɫɤɢ ɢ ɮɨɪɦɚɥɶɧɨ. ɇɚɪɢɫɭɟɦ ɱɟɬɵɪɟɯɭɝɨɥɶɧɢɤ. ɋɨɜɟɪɲɟɧɧɨ ɧɟ ɩɪɚɜɢɥɶɧɵɣ ɢ, ɧɟ ɩɨɛɨɸɫɶ ɷɬɨɝɨ ɫɥɨɜɚ, ɞɚɠɟ ɝɞɟ-ɬɨ ɤɨɪɹɜɵɣ. ɇɚɪɢɫɭɟɦ ɟɝɨ ɧɚ ɮɨɧɟ ɭɠɟ ɪɚɧɟɟ ɧɚɪɢɫɨɜɚɧɧɵɯ ɨɫɟɣ ɤɨɨɪɞɢɧɚɬ ɢ ɪɚɜɧɨɫɬɨɪɨɧɧɟɝɨ ɬɪɟɭɝɨɥɶɧɢɤɚ. Ⱦɥɹ ɱɟɝɨ? ɑɬɨɛ ɥɭɱɲɟ ɛɵɥɨ ɜɢɞɧɨ – ɢ ɧɚɲɢ ɞɨɫɬɢɠɟɧɢɹ ɢ ɧɚɲɢ ɧɟɭɞɚɱɢ. ɇɚɱɚɥɨ ɢ ɤɨɧɟɰ ɤɨɞɚ ɹ ɩɪɨɩɭɳɭ – ɜɵ ɜɟɞɶ ɭɠɟ ɜɫɺ ɷɬɨ ɨɬɥɢɱɧɨ ɡɧɚɟɬɟ. Ɍɨɥɶɤɨ ɨɫɢ, ɬɪɟɭɝɨɥɶɧɢɤ ɢ ɧɚɲ ɭɪɨɞɥɢɜɵɣ ɦɧɨɝɨɭɝɨɥɶɧɢɤ.
c.create_line( 0,y0, 400,y0) c.create_line( x0,0, x0,400)
c.create_line(x0,y0, x0+a,y0, width=3) c.create_line(x0,y0, x0+a/2,y0-h, width=3) c.create_line(x0+a,y0, x0+a/2,y0-h, width=3)
c.create_polygon( 110,110, 400,110, 200,250, 140,200)
ȼɨɬ ɱɬɨ ɩɨɥɭɱɢɥɨɫɶ, ɧɟɦɧɨɝɨ ɧɟɨɠɢɞɚɧɧɨ, ɩɪɚɜɞɚ, ɜɟɞɶ ɦɵ ɨɠɢɞɚɥɢ ɫɨɜɫɟɦ ɧɟ ɷɬɨɝɨ:
ɇɟ ɡɧɚɸ, ɦɨɠɟɬ ɜɚɦ ɯɨɬɟɥɨɫɶ ɭɜɢɞɟɬɶ ɢɦɟɧɧɨ
ɷɬɨ, ɧɨ ɱɬɨ ɤɚɫɚɟɬɫɹ ɦɟɧɹ, ɬɨ
ɬɨɱɧɨ ɧɟɬ. ɏɨɪɨɲɚɹ ɫɬɨɪɨɧɚ – ɧɚɦ ɞɨɫɬɚɬɨɱɧɨ ɭɤɚɡɚɬɶ ɬɨɥɶɤɨ ɜɟɪɲɢɧɵ ɦɧɨɝɨɭɝɨɥɶɧɢɤɚ, ɡɚɦɤɧɭɬɨɫɬɶ ɦɧɨɝɨɭɝɨɥɶɧɢɤɚ ɛɭɞɟɬ ɨɛɟɫɩɟɱɟɧɚ ɛɟɡ ɧɚɲɟɣ ɡɚɛɨɬɵ. Ɍɟɩɟɪɶ ɨ ɝɥɚɜɧɨɦ – ɚ ɩɨɱɟɦɭ ɨɧ ɜɟɫɶ ɱɺɪɧɵɣ? ɉɪɨɛɥɟɦɚ ɜ ɩɚɪɚɦɟɬɪɟ
fill, ɬɨɱɧɟɟ, ɧɟ ɜ ɫɚɦɨɦ ɩɚɪɚɦɟɬɪɟ, ɚ ɜ ɬɨɦ, ɱɬɨ ɦɵ ɟɝɨ ɧɟ
224
ɡɚɞɚɥɢ. ɉɚɪɚɦɟɬɪ ɷɬɨɬ ɨɬɜɟɱɚɟɬ ɧɚ ɜɨɩɪɨɫ – ɚ ɤɚɤɢɦ, ɫɨɛɫɬɜɟɧɧɨ, ɰɜɟɬɨɦ ɡɚɤɪɚɲɢɜɚɬɶ ɜɧɭɬɪɟɧɧɨɫɬɢ ɦɧɨɝɨɭɝɨɥɶɧɢɤɚ? ȿɫɥɢ ɩɚɪɚɦɟɬɪ ɩɪɨɩɭɳɟɧ, ɬɨ, ɤɚɤ ɢ ɨɛɵɱɧɨ – ɱɺɪɧɵɦ. Ɍɨ ɟɫɬɶ ɨɬɫɭɬɫɬɜɭɸɳɢɣ ɩɚɪɚɦɟɬɪ, ɷɬɨ ɬɨ ɠɟ ɫɚɦɨɟ,
fill = ‘black’. ɇɚɫ ɷɬɨ ɧɟ ɭɫɬɪɚɢɜɚɟɬ. ȿɫɥɢ ɦɵ ɧɚɩɢɲɟɦ fill = '', ɬɨ
ɱɬɨ ɢ ɜɧɭɬɪɟɧɧɨɫɬɢ ɨɫɬɚɧɭɬɫɹ ɩɪɨɡɪɚɱɧɵɦɢ, ɬɨ ɟɫɬɶ – ɜɫɺ, ɱɬɨ ɛɵɥɨ ɜɧɭɬɪɢ ɦɧɨɝɨɭɝɨɥɶɧɢɤɚ, ɜɫɺ ɷɬɨ ɢ ɨɫɬɚɧɟɬɫɹ ɜ ɧɟɩɪɢɤɨɫɧɨɜɟɧɧɨɫɬɢ. ɉɪɨɛɭɟɦ. Ʉɨɞ:
c.create_polygon( 110,110, 400,110, 200,250, 140,200, fill = '')
Ɋɟɡɭɥɶɬɚɬ:
ɇɨ ɜɟɞɶ ɷɬɨ ɭɠɟ ɫɨɜɫɟɦ ɧɢɤɭɞɚ ɧɟ ɝɨɞɢɬɫɹ! ɉɪɨɫɬɨ ɛɪɟɞ ɤɚɤɨɣ-ɬɨ! ɑɬɨ ɠɟ ɫɥɭɱɢɥɨɫɶ? Ⱦɟɣɫɬɜɢɬɟɥɶɧɨ, ɛɪɟɞ ɤɚɤɨɣ-ɬɨ. ɉɢɬɨɧ ɫɱɢɬɚɟɬ, ɱɬɨ ɟɫɥɢ ɟɦɭ ɧɟ ɞɚɧɨ ɞɪɭɝɨɝɨ ɭɤɚɡɚɧɢɹ, ɬɨ ɤɨɧɬɭɪ ɦɧɨɝɨɭɝɨɥɶɧɢɤɚ ɧɚɞɨ ɪɢɫɨɜɚɬɶ
ɩɪɨɡɪɚɱɧɵɦ ɰɜɟɬɨɦ. ɉɪɨɡɪɚɱɧɵɣɷɬɨ ɧɟɜɢɞɢɦɵɣ, ɟɫɥɢ ɱɬɨ.
ə ɧɟ ɡɧɚɸ, ɡɚɱɟɦ ɢ ɤɨɦɭ ɷɬɨ ɧɭɠɧɨ
© ɉɟɫɧɹ, Ⱥ. ȼɟɪɬɢɧɫɤɢɣ, ɩɨɺɬɫɹ ɝɪɭɫɬɧɵɦ ɝɨɥɨɫɨɦ
ɒɨ ɦɚɷɦɨ, ɬɨ ɦɚɷɦɨ
© ɍɤɪɚɢɧɫɤɚɹ ɭɧɢɜɟɪɫɚɥɶɧɚɹ ɨɬɦɚɡɤɚ
ɉɪɢɞɺɬɫɹ ɡɚɞɚɬɶ ɰɜɟɬ ɤɨɧɬɭɪɚ ɹɜɧɵɦ ɨɛɪɚɡɨɦ.
c.create_polygon( 110,110, 400,110, 200,250, 140,200, fill = '', outline = 'black')
ɂɦɟɟɦ ɢɦɟɧɧɨ ɬɨ, ɱɬɨ ɢ ɯɨɬɟɥɢ ɢɦɟɬɶ:
225
ɇɟɦɧɨɝɨ ɫɬɪɚɲɧɨ ɜɵɝɥɹɞɢɬ, ɤɨɧɟɱɧɨ, ɧɨ ɦɵ ɜɟɞɶ ɢɦɟɧɧɨ ɷɬɨɝɨ ɢ ɯɨɬɟɥɢ? ɉɨɫɥɟɞɧɢɣ ɲɬɪɢɯ. ɇɚɩɢɲɟɦ ɜɨɬ ɬɚɤ:
c.create_polygon( 110,110, 400,110, 200,250, 140,200, fill = '', outline = 'black', smooth = 1)
ɉɨɫɥɟɞɧɢɣ ɡɚɝɚɞɨɱɧɵɣ ɩɚɪɚɦɟɬɪ ɨɬɜɟɱɚɟɬ ɡɚ ɬɨ, ɫɬɨɢɬ ɥɢ ɧɚɦ ɧɚɪɢɫɨɜɚɬɶ ɧɚɲ ɦɧɨɝɨɭɝɨɥɶɧɢɤ ɫɨ ɫɝɥɚɠɟɧɧɵɦɢ, ɡɚɤɪɭɝɥɺɧɧɵɦɢ ɭɝɥɚɦɢ.
Ɇɚɥɟɧɶɤɢɣ, ɧɨ ɜɚɠɧɵɣ, ɤɨɦɦɟɧɬɚɪɢɣ. ɉɚɪɚɦɟɬɪ, ɨɬɜɟɱɚɸɳɢɣ ɡɚ ɝɥɚɞɤɨɫɬɶ, ɩɪɹɦɨ-ɬɚɤɢ ɜɫɟɦ ɫɜɨɢɦ ɜɢɞɨɦ ɞɟɦɨɧɫɬɪɢɪɭɟɬ, ɱɬɨ ɹɜɥɹɟɬɫɹ ɱɢɫɥɨɦ. Ʉɚɠɟɬɫɹ, ɱɬɨ ɟɫɥɢ ɡɚɞɚɬɶ ɡɧɚɱɟɧɢɟ ɩɨɛɨɥɶɲɟ, ɬɨ ɢ ɦɧɨɝɨɭɝɨɥɶɧɢɤ ɫɬɚɧɟɬ ɟɳɺ ɝɥɚɠɟ. ɉɟɪɜɨɟ ɜɩɟɱɚɬɥɟɧɢɟ ɨɛɦɚɧɱɢɜɨ. ɉɨ ɫɦɵɫɥɭ, ɷɬɨ ɛɭɥɟɜɫɤɚɹ ɩɟɪɟɦɟɧɧɚɹ – ɢɥɢ ɞɚ ɢɥɢ ɧɟɬ. ȿɞɢɧɢɰɚ – ɞɚ, ɧɨɥɶ – ɧɟɬ. Ȼɨɥɟɟ ɧɚɝɥɹɞɧɨ, ɯɨɬɹ ɢ ɧɟɦɧɨɝɨ ɞɥɢɧɧɟɟ, ɦɨɠɧɨ ɡɚɩɢɫɚɬɶ ɬɚɤ:
c.create_polygon( 110,110, 400,110, 200,250, 140,200, fill = '', outline = 'black', smooth = True)
226
Ɋɚɡɭɦɟɟɬɫɹ, ɦɧɨɝɨɟ ɢɡ ɬɨɝɨ, ɱɬɨ ɛɵɥɨ ɫɤɚɡɚɧɨ ɨ ɪɢɫɨɜɚɧɢɢ ɥɢɧɢɣ, ɬɨɱɧɨ ɬɚɤ ɠɟ ɨɬɧɨɫɢɬɫɹ ɢ ɤ ɦɧɨɝɨɭɝɨɥɶɧɢɤɚɦ. ȼɨɬ ɩɪɢɦɟɪ:
L = [(110,110), (400,110), (200,250), (140,200)] c.create_polygon( L, fill = '', outline = 'black', width = 7)
Ʉɚɪɬɢɧɤɭ ɩɪɢɜɨɞɢɬɶ ɧɟ ɛɭɞɭ, ɩɨɜɟɪɶɬɟ, ɚ ɥɭɱɲɟ ɩɪɨɜɟɪɶɬɟ – ɜɵ ɭɜɢɞɢɬɟ ɬɨɬ ɠɟ, ɧɟɡɚɤɪɭɝɥɺɧɧɵɣ, ɱɟɬɵɪɺɯɭɝɨɥɶɧɢɤ, ɬɨɥɶɤɨ ɧɚɪɢɫɨɜɚɧɧɵɣ ɨɱɟɧɶ ɢ ɨɱɟɧɶ ɠɢɪɧɨɣ ɥɢɧɢɟɣ. ȼɚɠɧɟɟ ɬɨ, ɱɬɨ ɜɟɪɲɢɧɵ ɩɟɪɟɞɚɧɵ ɜ ɜɢɞɟ ɫɩɢɫɤɚ. Ɍɚɤɨɣ ɫɩɨɫɨɛ ɦɧɟ ɤɚɠɟɬɫɹ ɛɨɥɟɟ ɧɚɝɥɹɞɧɵɦ ɢ ɛɨɥɟɟ ɞɨɫɬɭɩɧɵɦ ɞɥɹ ɜɧɟɫɟɧɢɹ ɧɟɢɡɛɟɠɧɵɯ ɢɡɦɟɧɟɧɢɣ ɜ ɩɪɨɝɪɚɦɦɭ. ȼ ɪɟɚɥɶɧɵɟ ɩɪɨɝɪɚɦɦɵ ɜɫɟɝɞɚ ɩɪɢɯɨɞɢɬɫɹ ɜɧɨɫɢɬɶ ɢɡɦɟɧɟɧɢɹ.
Ʉɚɪɬɢɧɤɢ
Ʉɚɪɬɢɧɤɢ ɜ ɉɢɬɨɧɟ ɦɨɠɧɨ ɪɢɫɨɜɚɬɶ ɞɜɭɦɹ ɦɟɬɨɞɚɦɢ. Ɉɬɥɢɱɢɟ ɦɟɠɞɭ ɧɢɦɢ ɧɟ ɫɤɚɡɚɬɶ, ɱɬɨɛɵ ɱɺɬɤɨɟ ɢ ɹɫɧɨɟ, ɧɨ ɦɨɣ ɞɨɥɝ ɨɩɢɫɚɬɶ ɨɛɚ ɫɩɨɫɨɛɚ – ɚ ɜɞɪɭɝ ɩɪɢɝɨɞɢɬɫɹ.
ɋɩɨɫɨɛ ɩɟɪɜɵɣ – ɦɟɬɨɞ ɯɨɥɫɬɚ
create_bitmap(). Ɉɧ ɜɵɜɨɞɢɬ, ɤɚɤ ɧɟɬɪɭɞɧɨ
ɞɨɝɚɞɚɬɶɫɹ, ɢɡɨɛɪɚɠɟɧɢɟ ɜ ɮɨɪɦɚɬɟ Windows bitmap, ɨɛɵɱɧɨ ɯɪɚɧɢɦɵɟ ɜ ɮɚɣɥɚɯ ɫ ɪɚɫɲɢɪɟɧɢɟɦ *.bmp. ə, ɤɨɧɟɱɧɨ, ɹɡɵɤ ɉɢɬɨɧ ɨɱɟɧɶ ɭɜɚɠɚɸ, ɧɨ ɧɟ ɜɫɺ ɜ ɧɺɦ ɩɪɨɫɬɨ ɢ ɨɱɟɜɢɞɧɨ. ɂ ɡɞɟɫɶ ɦɵ ɢɦɟɟɦ ɬɨɬ ɫɚɦɵɣ ɫɥɭɱɚɣ ɧɟɨɱɟɜɢɞɧɨɫɬɢ. ɋ ɩɨɦɨɳɶɸ ɷɬɨɝɨ ɦɟɬɨɞɚ ɦɵ ɦɨɠɟɦ ɧɚɪɢɫɨɜɚɬɶ ɨɞɧɭ ɢɡ ɞɟɫɹɬɢ ɡɚɪɚɧɟɟ ɨɩɪɟɞɟɥɺɧɧɵɯ ɤɚɪɬɢɧɨɤ – ɢɥɢ ɫɜɨɸ ɫɨɛɫɬɜɟɧɧɭɸ, ɩɪɨɢɡɜɨɥɶɧɭɸ. Ɇɚɥɟɧɶɤɨɟ ɨɝɪɚɧɢɱɟɧɢɟ – ɤɚɪɬɢɧɤɢ ɦɨɝɭɬ ɛɵɬɶ ɬɨɥɶɤɨ ɦɨɧɨɯɪɨɦɧɵɦɢ, ɬɨ ɟɫɬɶ ɞɜɭɯɰɜɟɬɧɵɦɢ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɨɧɢ ɱɺɪɧɨ-ɛɟɥɵɟ, ɧɨ ɦɨɝɭɬ ɛɵɬɶ ɢ ɤɪɚɫɧɨ-ɡɟɥɺɧɵɦɢ, ɤ ɩɪɢɦɟɪɭ. ɋɧɚɱɚɥɚ ɜɵɜɟɞɟɦ ɤɚɪɬɢɧɤɢ ɞɚɪɦɨɜɵɟ, ɫɞɟɥɚɧɧɵɟ ɞɨ ɧɚɫ, ɜɫɟ ɞɟɫɹɬɶ, ɨɫɢ ɤɨɨɪɞɢɧɚɬ ɫɨɯɪɚɧɟɧɵ ɞɥɹ ɧɚɝɥɹɞɧɨɫɬɢ.
from Tkinter import *
x0 = 100 y0 = 200 shift = 70
c = Canvas( width = 400, height = 400, bg = 'white') c.pack(expand = YES, fill = BOTH)
c.create_line( 0,y0, 400,y0) c.create_line( x0,0, x0,400)
227
c.create_bitmap( x0+shift, 50, bitmap = 'error'); c.create_bitmap( x0+shift, 80, bitmap = 'gray75'); c.create_bitmap( x0+shift,110, bitmap = 'gray50'); c.create_bitmap( x0+shift,140, bitmap = 'gray25'); c.create_bitmap( x0+shift,170, bitmap = 'gray12');
c.create_bitmap( x0+shift*2, 50, bitmap = 'hourglass'); c.create_bitmap( x0+shift*2, 80, bitmap = 'info'); c.create_bitmap( x0+shift*2,110, bitmap = 'questhead'); c.create_bitmap( x0+shift*2,140, bitmap = 'question'); c.create_bitmap( x0+shift*2,170, bitmap = 'warning');
mainloop()
Ɋɟɡɭɥɶɬɚɬ:
ɇɟ ɫɤɚɡɚɬɶ, ɱɬɨɛɵ ɨɱɟɧɶ ɤɪɚɫɢɜɨ. Ɇɨɠɧɨ ɪɚɫɤɪɚɫɢɬɶ.
c.create_bitmap( x0+shift*2, 50, bitmap = 'hourglass', foreground = 'green', background = 'red');
ɉɨɥɭɱɢɥɢ ɡɟɥɺɧɵɟ ɱɚɫɵ ɧɚ ɤɪɚɫɧɨɦ ɮɨɧɟ – ɨɦɟɪɡɢɬɟɥɶɧɨɟ ɡɪɟɥɢɳɟ. Ⱦɥɹ ɱɟɝɨ ɜɨɨɛɳɟ ɧɭɠɧɵ ɷɬɢ ɭɛɨɝɢɟ ɤɚɪɬɢɧɤɢ? Ɂɚɛɟɝɚɹ ɜɩɟɪɺɞ, ɉɢɬɨɧ ɭɦɟɟɬ ɫɨɡɞɚɜɚɬɶ ɢ ɜɩɨɥɧɟ ɧɚɫɬɨɹɳɢɟ ɩɪɨɝɪɚɦɦɵ ɫ ɢɧɬɟɪɮɟɣɫɨɦ ɩɨɞ Windows – ɫ ɤɧɨɩɤɚɦɢ ɢ ɩɪɨɱɢɦ ɫɱɚɫɬɶɟɦ. Ɍɚɤ ɜɨɬ, ɨɫɧɨɜɧɨɟ ɩɪɟɞɧɚɡɧɚɱɟɧɢɟ ɷɬɢɯ ɤɚɪɬɢɧɨɤ ɜ ɬɨɦ, ɱɬɨɛɵ ɩɨɦɟɳɚɬɶ ɢɯ ɧɚ ɤɧɨɩɤɚɯ ɢ ɞɪɭɝɢɯ ɝɪɚɮɢɱɟɫɤɢɯ ɷɥɟɦɟɧɬɚɯ.
ɇɨ, ɤɚɤ ɭɠɟ ɛɵɥɨ ɫɤɚɡɚɧɨ, ɩɨɡɜɨɥɟɧɨ ɜɵɜɟɫɬɢ ɢ ɱɬɨ-ɬɨ ɫɜɨɺ, ɢɡ ɮɚɣɥɚ. ɏɨɬɹ ɉɢɬɨɧ ɢ ɡɞɟɫɶ ɢɞɺɬ ɫɜɨɢɦ ɩɭɬɺɦ. ȼ ɥɸɛɨɦ ɝɪɚɮɢɱɟɫɤɨɦ ɪɟɞɚɤɬɨɪɟ ɦɨɠɧɨ ɫɨɡɞɚɬɶ ɮɚɣɥ ɮɨɪɦɚɬɚ BMP – ɧɨ ɉɢɬɨɧɭ ɨɧ ɧɟ ɩɨɞɨɣɞɺɬ. ɇɭɠɟɧ ɨɛɹɡɚɬɟɥɶɧɨ ɮɚɣɥ ɮɨɪɦɚɬɚ X Bitmap. ɑɬɨ ɷɬɨ ɬɚɤɨɟ? Ʉɚɤ ɧɢ ɫɬɪɚɧɧɨ, ɷɬɨ ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ ɜ ɲɟɫɬɧɚɞɰɚɬɟɪɢɱɧɨɦ ɮɨɪɦɚɬɟ. ɂɥɢ, ɟɫɥɢ ɬɚɤ ɡɜɭɱɢɬ ɥɭɱɲɟ, ɲɟɫɬɧɚɞɰɚɬɟɪɢɱɧɵɣ ɮɚɣɥ ɜ ɬɟɤɫɬɨɜɨɦ ɮɨɪɦɚɬɟ.
228
ȼɚɦ ɧɟɩɨɧɹɬɧɨ? ɑɬɨ ɜɚɦ? Ⱦɚɠɟ ɩɪɨɝɪɚɦɦɢɫɬɚɦ ɩɪɟɤɥɨɧɧɨɝɨ ɜɨɡɪɚɫɬɚ ɧɟɩɨɧɹɬɧɨ. ɋɚɦ ɮɨɪɦɚɬ – ɞɪɟɦɭɱɢɣ ɚɬɚɜɢɡɦ.
// ɚɧɚɬɨɦɢɱɟɫɤɨɟ ɪɚɡɴɹɫɧɟɧɢɟ Ⱥɬɚɜɢɡɦ, ɟɫɥɢ ɤɬɨ ɧɟ ɡɧɚɥ, ɞɚ ɟɳɺ ɢ ɡɚɛɵɥ, ɷɬɨ ɬɚɤɚɹ ɱɚɫɬɶ ɨɪɝɚɧɢɡɦɚ, ɤɨɬɨɪɚɹ ɤɨɝɞɚ-ɬɨ ɛɵɥɚ ɨɱɟɧɶ ɩɨɥɟɡɧɚ, ɚ ɬɟɩɟɪɶ ɧɢɤɨɦɭ ɧɢ ɧɭɠɧɚ ɢ ɪɚɫɬɺɬ ɱɢɫɬɨ ɩɨ ɩɪɢɜɵɱɤɟ. ɇɚɩɪɢɦɟɪ, ɭ ɱɟɥɨɜɟɤɚ ɟɫɬɶ ɯɜɨɫɬ – ɧɚɡɵɜɚɟɬɫɹ
ɤɨɩɱɢɤ.
Ɋɚɧɶɲɟ ɨɧ ɛɵɥ ɞɥɢɧɧɵɣ ɢ ɷɮɮɟɤɬɢɜɧɵɣ, ɦɨɠɧɨ ɛɵɥɨ ɜɢɫɟɬɶ ɢ ɪɚɫɤɚɱɢɜɚɬɶɫɹ, ɡɚɰɟɩɢɜɲɢɫɶ ɡɚ ɜɟɬɤɭ. Ɍɟɩɟɪɶ ɨɧ ɦɚɥɟɧɶɤɢɣ ɢ ɝɞɟ-ɬɨ ɩɨɞ ɤɨɠɟɣ, ɧɨ ɨɧ ɬɚɦ ɟɫɬɶ. ɉɪɨɜɟɪɶɬɟ. // ɤɨɧɟɰ Ⱥɧɚɬɨɦɢɢ
Ɍɚɤ ɜɨɬ, ɮɨɪɦɚɬ X Bitmap ɩɪɢɲɺɥ ɤ ɧɚɦ ɢɡ ɞɪɟɜɧɢɯ UNIX-ɫɢɫɬɟɦ. UNIX – ɷɬɨ ɬɚɤɚɹ ɨɩɟɪɚɰɢɨɧɧɚɹ ɫɢɫɬɟɦɚ. Ɏɨɪɦɚɬ ɞɟɣɫɬɜɢɬɟɥɶɧɨ ɬɟɤɫɬɨɜɵɣ. ɗɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɮɚɣɥ ɫ ɤɚɪɬɢɧɤɨɣ ɦɨɠɧɨ ɫɨɡɞɚɬɶ ɜ ɥɸɛɨɦ ɬɟɤɫɬɨɜɨɦ ɪɟɞɚɤɬɨɪɟ, ɧɚɩɪɢɦɟɪ
Ȼɥɨɤɧɨɬ ɜ Windows. Ɇɧɨɝɨ ɪɚɡ ɭɠɟ ɝɞɟ-ɬɨ ɝɨɜɨɪɢɥ ɢ ɩɨɜɬɨɪɸ
ɟɳɺ ɪɚɡ – ɟɫɥɢ ɜɵ ɱɬɨ-ɬɨ ɧɚɛɪɚɥɢ ɜ Microsoft Word, ɷɬɨ ɧɟ ɨɛɹɡɚɬɟɥɶɧɨ ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ. ɋɤɨɪɟɟ ɜɫɟɝɨ, ɷɬɨ ɜɨɨɛɳɟ ɧɟ ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ. Ɍɚɤɨɜɵɦ ɨɧ ɫɬɚɧɟɬ ɬɨɥɶɤɨ ɟɫɥɢ ɜɵ ɫɨɯɪɚɧɢɬɟ ɟɝɨ ɤɚɤ
Ɉɛɵɱɧɵɣ ɬɟɤɫɬ (*.txt). ɉɨ
ɤɪɚɣɧɟɣ ɦɟɪɟ, ɬɚɤ ɷɬɨ ɧɚɡɵɜɚɟɬɫɹ ɜ ɦɨɟɣ ɜɟɪɫɢɢ Word.
ɂɬɚɤ, ɧɚɛɟɪɢɬɟ ɝɞɟ ɭɝɨɞɧɨ ɜɨɬ ɬɚɤɨɣ ɬɟɤɫɬ:
#define mu_width 32 #define mu_height 8 static unsigned char x_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };
ɋɨɯɪɚɧɢɬɟ ɟɝɨ ɤɚɤ ɩɪɨɫɬɨɣ ɬɟɤɫɬ. ɂɦɹ ɮɚɣɥɚ ɩɭɫɬɶ ɛɭɞɟɬ mu.xbm. *.XBM – ɬɪɚɞɢɰɢɨɧɧɨɟ ɪɚɫɲɢɪɟɧɢɟ ɞɥɹ ɮɚɣɥɨɜ ɬɢɩɚ X Bitmap. ɑɬɨ ɦɵ ɫɞɟɥɚɥɢ? ɉɟɪɜɵɟ ɞɜɟ ɫɬɪɨɤɢ ɡɚɞɚɸɬ ɲɢɪɢɧɭ ɢ ɜɵɫɨɬɭ, ɢɦɟɧɧɨ ɜ ɬɚɤɨɦ ɩɨɪɹɞɤɟ, ɧɚɲɟ ɤɚɪɬɢɧɤɢ. ɋɪɚɡɭ ɜɢɞɧɨ, ɱɬɨ ɟɺ ɪɚɡɦɟɪ 32
u8. ȼ ɞɢɪɟɤɬɢɜɟ #define ɩɪɢ
ɡɚɞɚɧɢɢ ɲɢɪɢɧɵ ɢ ɜɵɫɨɬɵ ɬɪɚɞɢɰɢɨɧɧɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɢɦɹ ɮɚɣɥɚ. ȿɫɥɢ
229
ɮɚɣɥ ɧɚɡɵɜɚɟɬɫɹ mu.xbm, ɞɢɪɟɤɬɢɜɚ – ɧɟɨɛɹɡɚɬɟɥɶɧɨ, ɩɪɟɮɢɤɫ ɦɨɠɟɬ ɛɵɬɶ ɥɸɛɵɦ, ɡɚ ɢɫɤɥɸɱɟɧɢɟɦ ɫɥɭɱɚɣ, ɩɪɟɮɢɤɫ – ɷɬɨ ɬɨ, ɱɬɨ
ɩɟɪɟɞ ɩɨɞɱɺɪɤɢɜɚɧɢɟɦ.
#define mu_width 32. ɗɬɨ
x. ɇɚ ɜɫɹɤɢɣ
Ɍɪɟɬɶɹ ɫɬɪɨɤɚ ɢɦɟɟɬ ɱɢɫɬɨ ɪɢɬɭɚɥɶɧɵɣ ɯɚɪɚɤɬɟɪ. ɉɨɫɥɟɞɧɹɹ, ɝɞɟ ɫɤɨɛɤɚ ɢ ɬɨɱɤɚ ɫ ɡɚɩɹɬɨɣ, ɬɨɠɟ. Ɉɬɫɬɭɩɵ, ɨɩɹɬɶ-ɬɚɤɢ, ɬɨɥɶɤɨ ɞɥɹ ɤɪɚɫɨɬɵ.
Ɍɟɩɟɪɶ ɨ ɝɥɚɜɧɨɦ – ɨ ɫɚɦɨɦ ɢɡɨɛɪɚɠɟɧɢɢ. ȼɨ-ɩɟɪɜɵɯ, ɤɚɤ ɟɝɨ ɜɵɜɟɫɬɢ ɧɚ ɷɤɪɚɧ? ȼɨɬ ɬɚɤ:
c.create_bitmap( 100,100, bitmap = '@d:\mu.xbm')
Ɉɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ ɧɚ ɢɦɟɧɟɦ ɮɚɣɥɚ. ɉɨ ɞɪɭɝɨɦɭ ɷɬɨɬ ɫɢɦɜɨɥ ɡɨɜɭɬ
ɤɨɦɦɟɪɱɟɫɤɨɟ ɷɬ (ɨɮɢɰɢɚɥɶɧɨɟ ɧɚɡɜɚɧɢɟ) ɩɟɪɟɞ
ɫɨɛɚɤɚ. ȼɨ-ɜɬɨɪɵɯ, ɚ ɤɚɤɢɦ
ɨɧɨ, ɫɨɡɞɚɧɧɨɟ ɧɚɦɢ ɢɡɨɛɪɚɠɟɧɢɟ, ɛɭɞɟɬ? ɇɟ ɨɱɟɧɶ ɜɩɟɱɚɬɥɹɸɳɢɦ, ɩɪɢɡɧɚɸɫɶ.
ȼɨɬ ɷɬɭ ɠɢɪɧɭɸ ɱɺɪɬɨɱɤɭ, ɤɨɬɨɪɚɹ ɩɨɩɟɪɺɤ, ɦɵ ɢ ɧɚɪɢɫɨɜɚɥɢ. ɋ ɮɨɪɦɚɥɶɧɨɣ ɬɨɱɤɢ ɡɪɟɧɢɹ, ɷɬɨ ɩɪɹɦɨɭɝɨɥɶɧɢɤ. Ɍɟɩɟɪɶ ɛɭɞɟɦ ɪɚɡɛɢɪɚɬɶɫɹ, ɚ ɤɚɤ ɠɟ ɦɵ ɟɝɨ ɧɚɪɢɫɨɜɚɥɢ. Ɏɚɣɥ ɫɨɫɬɨɢɬ ɢɡ ɫɬɪɨɤ ɜɢɞɚ
0x00,.
Ɍɨ, ɱɬɨ ɮɚɣɥ ɪɚɡɞɟɥɺɧ ɧɚ ɫɬɪɨɤɢ, ɧɢɤɚɤɨɣ ɪɨɥɢ ɧɟ ɢɝɪɚɟɬ, ɷɬɨ
ɢɫɤɥɸɱɢɬɟɥɶɧɨ ɞɥɹ ɧɚɝɥɹɞɧɨɫɬɢ. ɋɬɪɨɤɚ ɫɨɫɬɨɢɬ ɢɡ ɝɪɭɩɩ ɜɢɞɚ
0x00, 0x00, 0x00,
0x00,
ɩɟɪɟɱɢɫɥɟɧɧɵɯ ɱɟɪɟɡ ɡɚɩɹɬɭɸ. Ʉɚɠɞɚɹ ɝɪɭɩɩɚ ɨɬɜɟɱɚɟɬ ɡɚ ɜɨɫɟɦɶ ɬɨɱɟɤ ɩɨ ɝɨɪɢɡɨɧɬɚɥɢ, ɡɧɚɱɢɬ, ɨɞɧɚ ɬɟɤɫɬɨɜɚɹ ɫɬɪɨɤɚ ɷɬɨ ɜɨɫɟɦɶ ɭɦɧɨɠɢɬɶ ɧɚ ɱɟɬɵɪɟ, ɪɚɜɧɹɟɬɫɹ 32 ɬɨɱɤɢ, ɱɬɨ ɧɚɦ ɢ ɬɪɟɛɨɜɚɥɨɫɶ.
Ⱦɥɹ ɞɚɥɶɧɟɣɲɟɝɨ ɧɚɞɨ ɱɬɨ-ɬɨ ɡɧɚɬɶ ɨ ɫɢɫɬɟɦɚɯ ɫɱɢɫɥɟɧɢɹ, ɤɨɧɤɪɟɬɧɨ ɨ ɞɜɨɢɱɧɨɣ ɢ ɲɟɫɬɧɚɞɰɚɬɟɪɢɱɧɨɣ. Ɉɱɟɧɶ ɤɨɪɨɬɤɨ ɢ ɹɫɧɨ ɜɫɺ ɨɛ ɷɬɨɦ ɢɡɥɨɠɟɧɨ ɜ ɩɪɢɥɨɠɟɧɢɢ. Ʉɚɠɞɚɹ ɝɪɭɩɩɚ ɜɢɞɚ
0x00 ɹɜɥɹɟɬɫɹ
ɲɟɫɬɧɚɞɰɚɬɟɪɢɱɧɵɦ ɱɢɫɥɨɦ. ɉɟɪɜɵɟ ɞɜɚ ɫɢɦɜɨɥɚ ɨɛɹɡɚɬɟɥɶɧɵ ɞɥɹ ɮɨɪɦɚɬɚ ɡɚɩɢɫɢ ɢ ɫɚɦɨɫɬɨɹɬɟɥɶɧɨɝɨ ɫɦɵɫɥɚ ɧɟ ɧɟɫɭɬ. ɋɥɟɞɭɸɳɢɟ ɞɜɚ
230
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]