ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π±ΠΎΡ‚Π° с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· интСрфСйс

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

На Ρ„ΠΎΡ€ΠΌΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ класса CommandButton), Ρ‚Π°ΠΉΠΌΠ΅Ρ€ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ класса Timer) ΠΈ Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ класса Image). ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ Π΄Π²Π° рисунка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π£ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π΅ΡΡ‚ΡŒ свойство Interval, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½ΠΎΠ΅ 0. Π’ ΡΡ‚ΠΎΠΌ случаС Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½. Но Π΅ΡΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Interval Ρ€Π°Π²Π½ΠΎ, скаТСм, 200, Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 200 милисСкунд (1 милисСкунда = ΠΎΠ΄Π½ΠΎΠΉ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π±ΠΎΡ‚Π° с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· интСрфСйс (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘Π•Π›ΠžΠ Π£Π‘Π‘ΠšΠ˜Π™ Π“ΠžΠ‘Π£Π”ΠΠ Π‘Π’Π’Π•ΠΠΠ«Π™ Π£ΠΠ˜Π’Π•Π Π‘Π˜Π’Π•Π’ ИНЀОРМАВИКИ И Π ΠΠ”Π˜ΠžΠ­Π›Π•ΠšΠ’РОНИКИ

ΠΊΠ°Ρ„Π΅Π΄Ρ€Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… систСм

РЕЀЕРАВ

Π½Π° Ρ‚Π΅ΠΌΡƒ:

«Π ΠΠ‘ΠžΠ’А Π‘ Π‘ΠΠ—ΠΠœΠ˜ ДАННЫΠ₯ Π§Π•Π Π•Π— Π’Π˜Π—Π£ΠΠ›Π¬ΠΠ«Π™ Π˜ΠΠ’Π•Π Π€Π•Π™Π‘»

МИНБК, 2008

ΠŸΠ›ΠΠ

1. ОписаниС Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²

2. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Grid

3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ прилоТСния с ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠ»ΠΈ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ проСктирования прилоТСния. Для ознакомлСния с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами напишСм ΠΏΠ΅Ρ€Π²ΠΎΠ΅ простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Π±Π΅Π³ΡƒΡ‰ΠΈΠΉ Ρ‚Π°Ρ€Π°ΠΊΠ°Π½». Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Ρ€ΠΈΡ. 1.

Рис.1

На Ρ„ΠΎΡ€ΠΌΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ° (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ класса CommandButton), Ρ‚Π°ΠΉΠΌΠ΅Ρ€ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ класса Timer) ΠΈ Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ класса Image). ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ Π΄Π²Π° рисунка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π£ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π΅ΡΡ‚ΡŒ свойство Interval, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½ΠΎΠ΅ 0. Π’ ΡΡ‚ΠΎΠΌ случаС Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½. Но Π΅ΡΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Interval Ρ€Π°Π²Π½ΠΎ, скаТСм, 200, Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 200 милисСкунд (1 милисСкунда = ΠΎΠ΄Π½ΠΎΠΉ тысячной сСкунды) наступаСт событиС ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. По ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ рисунок Ρ‚Π°Ρ€Π°ΠΊΠ°Π½Π° ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²ΠΏΡ€Π°Π²ΠΎ Π½Π° Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΎΠ΅ расстояниС, создав ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΡŽ двиТСния. Π‘Π½Π°Ρ‡Π°Π»Π° Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

timer1.Interval=200

Form1.Tag="1″

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΈΠ· ΡΡ‚ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ запускаСт Ρ‚Π°ΠΉΠΌΠ΅Ρ€, вторая — Π·Π°Π΄Π°Π΅Ρ‚ Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅ Tag ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ рисунка. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ событиС ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π©Π΅Π»ΠΊΠ½Π΅ΠΌ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΈ Π½Π°ΠΏΠΈΡˆΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄

if Form1. Tag="1″ then

Form1.Image1.Picture="d:msdevgermancroach2.bmp"

Form1.Tag="2″

Form1.Image1.Left=Form1.Image1.Left+10

else

Form1.Image1.Picture="d:msdevgermancroach1.bmp"

Form1.Image1.Left=Form1.Image1.Left+10

Form1.Tag="1″

endif

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события провСряСт, какая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°: if Form1. Tag="1″ then …

Если Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π° пСрвая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, Ρ‚ΠΎ Π³Ρ€ΡƒΠ·ΠΈΠΌ Π²Ρ‚ΠΎΡ€ΡƒΡŽ:

Form1.Image1.Picture="d:msdevgermancroach2.bmp"

ИзмСняСм Π½ΠΎΠΌΠ΅Ρ€ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ:

Form1.Tag="2″

ПослС этого смСщаСм ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π²Π»Π΅Π²ΠΎ Π½Π° 10 пиксСлСй Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅:

Form1.Image1.Left=Form1.Image1.Left+10

ДСйствия Π² Ρ‡Π°ΡΡ‚ΠΈ else симмСтричны. Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²ΠΈΠ΄ (рис.2).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ врСмя двиТСния Ρ‚Π°Ρ€Π°ΠΊΠ°Π½Π°. РазмСстим Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Label (ярлык). Π”Π°Π΄ΠΈΠΌ Π΅ΠΌΡƒ Ρ„ΠΎΠ½ Ρ†Π²Π΅Ρ‚Π° — ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ. Окно рСдактирования ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π²ΠΈΠ΄, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π° Ρ€ΠΈΡ. 3. Π—Π°Π΄Π°Π΄ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Alignment ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Label1, Ρ€Π°Π²Π½Ρ‹ΠΌ Center. Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ свойство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ ΠΈ Π² ΠΎΠΊΠ½Π΅ свойств ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для этого свойства. Если ΠΎΠΊΠ½ΠΎ свойств отсутствуСт, Ρ‚ΠΎ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ для открытия контСкстного мСню ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏ. Properties. ΠŸΡ€ΠΈ установкС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ†Π²Π΅Ρ‚Π° Ρ„ΠΎΠ½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Label1, слСдуСт Π² ΠΎΠΊΠ½Π΅ свойств Π½Π°ΠΉΡ‚ΠΈ BackColor, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ эту строку, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ Ρ†Π²Π΅Ρ‚ΠΎΠ², Π½Π°ΠΆΠ°Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ с ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅ΠΌ Π² ΠΎΠΊΠ½Π΅ свойств нСпосрСдствСнно ΠΏΠΎΠ΄ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΎΠΉ Other Π²Π²Π΅Ρ€Ρ…Ρƒ ΠΎΠΊΠ½Π°.

Рис.2

Рис.3

Нам слСдуСт Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ нСсколько ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°:

if Form1. Tag="1″ then

Form1.Image1.Picture="d:msdevgermancroach2.bmp"

Form1.Tag="2″

Form1.Image1.Left=Form1.Image1.Left+10

else

Form1.Image1.Picture="d:msdevgermancroach1.bmp"

Form1.Image1.Left=Form1.Image1.Left+10

Form1.Tag="1″

Endif

Form1.Label1.Caption=TIME ()

Π—Π΄Π΅ΡΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° строка Form1. Label1.Caption=TIME () для отобраТСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°Π΄Π°Π΄ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Ρ†Π²Π΅Ρ‚ ΡˆΡ€ΠΈΡ„Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ LABEL1: FontSize=16 (Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°), ForeColor — Ρ†Π²Π΅Ρ‚ ΡˆΡ€ΠΈΡ„Ρ‚Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оставим Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСкунды:

if Form1. Tag="1″ then

Form1.Image1.Picture="d:msdevgermancroach2.bmp"

Form1.Tag="2″

Form1.Image1.Left=Form1.Image1.Left+10

else

Form1.Image1.Picture="d:msdevgermancroach1.bmp"

Form1.Image1.Left=Form1.Image1.Left+10

Form1.Tag="1″

Endif

s= TIME ()

k=AT («:», s)

s=SUBSTR (s, k+1,LEN (s))

k=AT («:», s)

s=SUBSTR (s, k+1,LEN (s))

s=ALLTRIM (s)

Form1.Label1.Caption=s

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡΠΌΡ‹ΡΠ»ΠΈΡ‚ΡŒ тСкст, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ сразу послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова EndIf.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сдСлаСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅. РазмСстим Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ список с Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ Ρ‚Π°Ρ€Π°ΠΊΠ°Π½ΠΎΠ². ΠŸΡ€ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π²Ρ‹Π΄Π°Ρ‡Π° ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (названия «Π±Π΅Π³ΡƒΠ½Π°») Π² Ρ‚Скстовом ΠΏΠΎΠ»Π΅ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ TextBox) — рис. 4.

Рис.4

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΠ° Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π΅ списка, слСдуСт Π½Π°ΠΉΡ‚ΠΈ событиС DblClick Π² ΠΎΠΊΠ½Π΅ свойств списка (List) ΠΈ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

form1.text1.value=form1.list1.List (form1.list1.listindex)

НомСр Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² ΡΠΏΠΈΡΠΊΠ΅ задаСтся Ρ‡Π΅Ρ€Π΅Π· свойство listIndex. Π’ΠΎΠΎΠ±Ρ‰Π΅, элСмСнты списка доступны Ρ‡Π΅Ρ€Π΅Π· свойство List(i), Π³Π΄Π΅ i ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ элСмСнта списка. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ тСкстового поля доступно Ρ‡Π΅Ρ€Π΅Π· свойство value ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° TextBox.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ addItem рСализуСтся Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события Init для Ρ„ΠΎΡ€ΠΌΡ‹:

Do menu1. mpr with thisform

thisform.list1.addItem («barbate»)

thisform.list1.additem («dreadfull»)

thisform.list1.additem («rapid»)

ΠŸΠ΅Ρ€Π²ΡƒΡŽ строку сохраним для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

thisform.list1.addItem («barbate»)

thisform.list1.additem («dreadfull»)

thisform.list1.additem («rapid»)

Π”ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ Π² ΡΠΏΠΈΡΠΎΠΊ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты Π²ΠΎ Π²Ρ€Π΅ΠΌΡ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Π½Π΅Π»ΡŒΠ·Ρ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события Load для Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚.ΠΊ. ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ список ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π½Π΅ Π²ΠΈΠ΄Π΅Π½.

Достаточный интСрСс прСдставляСт использованиС Ρ‡ΡƒΠΆΠ΅Ρ€ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² — ACTIVEX. Для этого Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ OLEBoundControl. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ OleBoundControl располоТСн Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ элСмСнтов управлСния рядом с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ, тСкстовыми полями, списками, рисунками ΠΈ ΠΏΡ€. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния Π² Π½Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° OLE. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ WORD, ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», рисунок PaintBrush ΠΈ Π΄Ρ€. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ OleBoundControl ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для отобраТСния ΠΏΠΎΠ»Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†, содСрТащих OLE-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ OleBoundControl создадим Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ всСго Π΄Π²Π° поля: nickname (ΠΊΠ»ΠΈΡ‡ΠΊΠ°) Ρ‚Π°Ρ€Π°ΠΊΠ°Π½Π° ΠΈ photo (рисунок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ Π² PaintBrush). Π’Π°Π±Π»ΠΈΡ†Ρƒ Π½Π°Π·ΠΎΠ²Π΅ΠΌ runners (Π±Π΅Π³ΡƒΠ½Ρ‹). Полю nickname ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Π΅ присвоим Ρ‚ΠΈΠΏ Character, Π° ΠΏΠΎΠ»ΡŽ photo — Ρ‚ΠΈΠΏ General. Π’ FoxPro Ρ‚ΠΈΠΏ General ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся для хранСния OLE-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Нам Π½ΡƒΠΆΠ½ΠΎ занСсти рисунки с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Ρ‚Π°Ρ€Π°ΠΊΠ°Π½ΠΎΠ² Π² General-поля. Π­Ρ‚ΠΎ дСлаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠžΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ runners ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ (ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ) Browse. Π—Π°Ρ‚Π΅ΠΌ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ ΠΏΠΎ ΠΏΠΎΠ»ΡŽ General Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи. ΠžΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°. Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню FoxPro ΠΏ. Edit, Π° Π² Π½Π΅ΠΌ — ΠΏ. Insert Object. Π’ Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ слСдуСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ вставляСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Ссли ΠΎΠ½ ΡΠΎΠ·Π΄Π°Π΅Ρ‚ся Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅) ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, являСтся Π»ΠΈ ΠΎΠ½ Π½ΠΎΠ²Ρ‹ΠΌ (Ρ‚.Π΅. Π΅Π³ΠΎ трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ) ΠΈΠ»ΠΈ находится Π² Ρ„Π°ΠΉΠ»Π΅. Π—Π΄Π΅ΡΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, поэтому Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» со Π²ΡΡ‚авляСмым ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ½ΠΎΠΏΠΊΡƒ Browse. Никаких Π΄Ρ€ΡƒΠ³ΠΈΡ… установок Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² ΡΡ‚ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ Π‘Π²ΡΠ·Π°Ρ‚ΡŒ. Если это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π»ΡŽΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π° автоматичСски ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Π˜Ρ‚Π°ΠΊ, послС этих объяснСний ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий считаСм, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ runners поля photo содСрТат рисунки с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Ρ‚Π°Ρ€Π°ΠΊΠ°Π½ΠΎΠ².

РазмСстим Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ OleBoundControl (ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ Π½Π° Ρ€ΠΈΡ.5).

Рис.5

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠΌ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΊΠ»ΠΈΡ‡ΠΊΠΈ, выбранная ΠΊΠ»ΠΈΡ‡ΠΊΠ° ΠΎΡ‚Ρ‹ΡΠΊΠΈΠ²Π°Π»Π°ΡΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ runners ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ OleBoundControl появлялся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рисунок. Для этого Π½ΡƒΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ OleBoundControl с ΠΏΠΎΠ»Π΅ΠΌ photo Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ runners. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΌΡ‹ΡˆΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ OleBoundControl ΠΈ Π² ΠΎΠΊΠ½Π΅ Π΅Π³ΠΎ свойств Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ свойство ControlSource. Π’Ρ€ΡƒΡ‡Π½ΡƒΡŽ установитС Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ значСния этого свойства строку runners. photo (Рис.6).

Рис.6

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ элСмСнта ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

form1.text1.value=form1.list1.List (form1.list1.listindex)

close tables

use runners

locate for nickname=form1.text1.value

if found ()=.T.

Form1.OleBoundControl2.Refresh

Endif

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒ строк

close tables

use runners

сначала Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ Π³Ρ€ΡƒΠ·ΠΈΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ runners Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Команда

locate for nickname=form1.text1.value

выполняСт поиск записи, Π³Π΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля nickname совпадаСт с ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΡ‹ΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта списка.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹

if found ()=.T.

Form1.OleBoundControl2.Refresh

ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚, Π½Π°ΠΉΠ΄Π΅Π½Π° Π»ΠΈ запись, ΠΈ Π² ΡΠ»ΡƒΡ‡Π°Π΅ успСха ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ содСрТимоС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° OleBoundControl. ОбновлСниС содСрТимого выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

Form1.OleBoundControl2.Refresh.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ использования Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° для события Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΠ° Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π΅ списка Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΎΠΊΠ½ΠΎ прилоТСния, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ΅ Π½Π° Ρ€ΠΈΡ. 7.

Рис.7

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΎΡ‡Π΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠ½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ — использования элСмСнтов ACTIVEX, созданных Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах программирования. ΠœΡ‹ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π° элСмСнта ACTIVEX — ΠΎΠ΄ΠΈΠ½ Π² DELPHI, Π²Ρ‚ΠΎΡ€ΠΎΠΉ — Π² Visual Basic. Оба эти элСмСнта Π±ΡƒΠ΄ΡƒΡ‚ вСсьма просты ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΠΊΠ½ΠΎΠΏΠΊΡƒ, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ выводится сообщСниС «Hello To participants !!!» («ΠŸΡ€ΠΈΠ²Π΅Ρ‚ участникам сорСвнования !!!»). НачнСм с DELPHI.

Для создания ACTIVEX Π² DELPHI Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сначала пустой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (Application), Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ. ПослС этого слСдуСт Π² ΠΌΠ΅Π½ΡŽ систСмы Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏ. File, Π·Π°Ρ‚Π΅ΠΌ — New. Π”Π°Π»Π΅Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ Other (для Delphi 7.0), Π° Π² ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ — элСмСнт ACTIVEXFORM. БистСма попросит ввСсти имя создаваСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ActiveX ΠΈ ΠΈΠΌΡ OCX-Ρ„Π°ΠΉΠ»Π° (Ρ„Π°ΠΉΠ»Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ). Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя элСмСнта ActiveTable1, Π° ΠΈΠΌΡ OCX-Ρ„Π°ΠΉΠ»Π° ActiveTableProj1. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ OK. На ΡΠΊΡ€Π°Π½Π΅ появится обычная Ρ„ΠΎΡ€ΠΌΠ° Delphi. РасполоТитС Π½Π° Π½Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΡƒ (рис.8) ΠΈ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Рис.8

procedure TActiveTable. Button1Click (Sender: TObject);

begin

showmessage ('Hello To participants !!!');

end;

Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ этот Ρ„Π°ΠΉΠ». Для этой Ρ†Π΅Π»ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ клавиш CTRL+F9. Π—Π°Ρ‚Π΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· мСню File сохранитС всС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡƒΠ½ΠΊΡ‚Π° Save All. ΠŸΡ€ΠΈ сохранСнии ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ мСсто, ΠΊΡƒΠ΄Π° систСма помСстит созданныС Ρ„Π°ΠΉΠ»Ρ‹. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ описанных дСйствий созданный Π½Π°ΠΌΠΈ ACTIVEX-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ зарСгистрирован Π² Ρ€Π΅Π΅ΡΡ‚Ρ€Π΅ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ мСста сохранСния. Π‘ΠΎΠ»ΡŒΡˆΠ΅ DELPHI Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ΅Π½. ВСрнСмся ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Visual FoxPro. Наша Π·Π°Π΄Π°Ρ‡Π° — Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ созданный ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ActiveX Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅. Для этой Ρ†Π΅Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΎΠΊΠ½Ρƒ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π° Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π² ΠΌΠ΅Π½ΡŽ систСмы Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Tools, ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ Options. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ Controls. ПослС этого откроСтся ΠΎΠΊΠ½ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π³Π΄Π΅ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ окошко ActiveXControls (рис9) ΠΈ Π½Π°ΠΉΠ΄Π΅ΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅ элСмСнтов Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΡΠΎΠ·Π΄Π°Π»ΠΈ — ActiveTable.

Рис.9

НаТмСм ΠΊΠ½ΠΎΠΏΠΊΡƒ OK послС выдСлСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта (ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ΅ окошко Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Π΅Ρ‰Π΅Π½ΠΎ). Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅ элСмСнтов Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΡΠ°ΠΌΡƒΡŽ ΠΏΡ€Π°Π²ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ряду (справа ΠΎΡ‚ ΡΡ‚Ρ€Π΅Π»ΠΊΠΈ). Π—Π°Ρ‚Π΅ΠΌ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ ActiveX Controls (рис.10)

Рис. 10 Рис.11

ПослС этого появится окошко, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° Ρ€ΠΈΡ. 11. Наш элСмСнт — СдинствСнный Π² ΡΡ€Π΅Π΄Π½Π΅ΠΌ ряду (ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ курсора ΠΌΡ‹ΡˆΠΈ Π½Π° Π½Π΅ΠΌ появляСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ надпись). Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ этот элСмСнт ΠΈ ΠΏΡ€ΠΎΡ€ΠΈΡΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ (рис.12)

Рис.12

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот элСмСнт Π½Π΅ Π½Π°Π΄ΠΎ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π΄ΠΎΡΡ‚ΠΈΠ³Π»ΠΈ, ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Ρ€ΠΈΡ.13

Рис.13

Π’ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Visual Basic. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Visual Basic 6.0.

1. Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Visual Basic Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ActiveXControl. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ. ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ обычная Ρ„ΠΎΡ€ΠΌΠ°, такая ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. РазмСститС Π½Π° Π½Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊ:

Private Sub Command1_Click ()

MsgBox «Hello to participants»

End Sub

2. ИзмСним Π² ΠΎΠΊΠ½Π΅ свойств ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° имя создаваСмого элСмСнта ACTIVEX ΠΈ ΠΈΠΌΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с UserControl1 Π½Π° myCTRL (Рис.14). Окно ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° располоТСно Π² ΠΏΡ€Π°Π²ΠΎΠΉ части экрана. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ элСмСнта UserControl1 ΠΈ Π² ΠΊΠΎΠ½Ρ‚Скстном мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Properties (свойства). Π’ ΠΎΠΊΠ½Π΅ свойств (справа Π²Π½ΠΈΠ·Ρƒ) установитС Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Name — myCTRL. Аналогично ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с Project1 Π½Π° MyCTRLProj. Для этого Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° — Project1 ΠΈ Π² ΠΎΠΊΠ½Π΅ свойств Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π½ΠΎΠ²ΠΎΠ΅ имя -.MyCTRLProj.

Рис.14

2. Π‘ΠΊΠΎΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ActiveX. Для этого ΠΈΠ· ΠΌΠ΅Π½ΡŽ File запустим ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Make myCTRLProj.ocx. БистСма запросит имя Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ слСдуСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ скомилированный элСмСнт. Если сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ, Ρ‚ΠΎ Π²ΡΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

4. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» myCTRLProj. ocx ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Visual Foxpro Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π»ΠΈ для DELPHI.

1. Пэддок Π ., ΠŸΠ΅Ρ‚Π΅Ρ€ΡΠΎΠ½ Π”ΠΆ., ВэлмэйдТ Π . Visual FoxPro 6. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. М.:Π”ΠœΠš, 2006.-590с.

2. Π€Π°Ρ€ΠΎΠ½ΠΎΠ² Π’. Π’. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² Delphi 6. — Π‘Пб., ΠŸΠΈΡ‚Π΅Ρ€,-2002. -352с.

3. ΠŸΠΈΡ€ΠΎΠ³ΠΎΠ² Π’. П. MS SQL Server 2000. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. — Π‘Пб. Π‘Π₯Π’.-2005,-600с.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ