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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создания ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ полиэкрана

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

PictureBox (Окно с Ρ€ΠΈΡΡƒΠ½ΠΊΠΎΠΌ) — ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· ΡΠ°ΠΌΠΎΠ³ΠΎ названия, элСмСнт ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для отобраТСния рисунков ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ элСмСнт управлСния Ρ‚Π°ΠΊΠΆΠ΅ являСтся элСмСнтом ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ, поэтому Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для объСдинСния Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов. Как ΠΈ ΡΠΎΠ±Ρ‹Ρ‚ия Ρ€Π°ΠΌΠΊΠΈ, события элСмСнта PictureBox ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ, хотя ΠΏΡ€ΠΈ нСобходимости это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Бвойство… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создания ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ полиэкрана (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠšΡƒΡ€ΡΠΎΠ²Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠœΠ°Ρ‚СматичСскоС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²»

На Ρ‚Π΅ΠΌΡƒ «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ полиэкрана»

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π―Π·Ρ‹ΠΊ программирования Microsoft Visual Basic

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Visual Basic (вСрсии 5−6)

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Windows API, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ «Video2Bmp»

БоставныС части прилоТСния «Video2Bmp»

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ «Video2Bmp»

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ источники

Π’ Π½Π°ΡΡ‚оящСС врСмя, благодаря ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ тСхнологиям, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΡ‹Ρ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‚Π°ΠΊ ΠΈ Π½Π°ΡƒΡ‡Π½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€. ВсС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΈΡ…, ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΎΡ‚Ρ‡Π΅Ρ‚. Но Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΡ‹Ρ‚ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ проводятся. И ΠΏΠΎΡΡ‚ΠΎΠΌΡƒ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ получаСтся нСсколько Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΠ΄Π΅ΠΎΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹. Но Π΄Π»Ρ составлСния Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ провСдСния ΠΎΠΏΡ‹Ρ‚Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ просмотра Π΄Π²ΡƒΡ… Π²ΠΈΠ΄Π΅ΠΎΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

ΠžΡ‡Π΅Π½ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Π΅ΠΎΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². ΠΠ°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΠ°Π΄Ρ‘Ρ‚, ΠΈ Π²Π΅Π»ΠΈΠΊΠ° Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π½Π΅ ΡƒΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΠΏΡ€ΠΎΠΈΡΡ…одящим Π½Π° Π΄Π²ΡƒΡ… экранах.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ встаСт вопрос ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ смоТСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΊΠ°Π΄Ρ€ΠΎΠ², Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π»ΠΈΡΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ экранС, Ρ‚. Π΅. Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ полиэкрана. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΊΠΎΠ³ΠΎ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ экранС нСсколько ΠΎΠΏΡ‹Ρ‚ΠΎΠ², ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ…. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ просмотрС, Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡ‰Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Ρ‹.

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ сказанного, скаТСм ΠΎ Ρ†Π΅Π»ΠΈ ΠΌΠΎΠ΅ΠΉ курсовой: Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ· Π΄Π²ΡƒΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π΅ эти Π΄Π²Π° Π½Π°Π±ΠΎΡ€Π° Π² ΠΎΠ΄ΠΈΠ½ Π² Π²ΠΈΠ΄Π΅ полиэкрана (Ρ‚.Π΅. экрана Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ свСрху ΠΈΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡ‚ΠΎΠΊ, Π° ΡΠ½ΠΈΠ·Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ).

Для достиТСния Π΄Π°Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

1. Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ язык программирования Visual Basic.

2. ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ элСмСнты управлСния ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

3. Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Windows API Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для создания прилоТСния

4. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс

5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ элСмСнты управлСния, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: Π‘ΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ.

6. Π’Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ сТатия Π² ΡΠ»ΡƒΡ‡Π°Π΅, Ссли Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

Π―Π·Ρ‹ΠΊ программирования Microsoft Visual Basic

Microsoft Visual Basic — срСдство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠ΅ΠΉ Microsoft ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ язык программирования ΠΈ ΡΡ€Π΅Π΄Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π―Π·Ρ‹ΠΊ Visual Basic унаслСдовал Π΄ΡƒΡ…, ΡΡ‚ΠΈΠ»ΡŒ ΠΈ ΠΎΡ‚части синтаксис своСго ΠΏΡ€Π΅Π΄ΠΊΠ° — языка БСйсик, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΌΠ°Π»ΠΎ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ΠΎΠ².

Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя Visual Basic сочСтаСт Π² ΡΠ΅Π±Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков программирования. Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ VB Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ инструмСнты для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ конструирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса.

Visual Basic считаСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ срСдством быстрой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ способа создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм сСмСйства Microsoft Windows.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Visual Basic ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» послС Π²Ρ‹Ρ…ΠΎΠ΄Π° вСрсии 3 — VB3. ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ срСдства программирования для Windows — ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ вСрсии 5 — VB5. ВСрсия VB6, входящая Π² ΡΠΎΡΡ‚Π°Π² Microsoft Visual Studio 6.0, стала ΠΏΠΎ-настоящСму Π·Ρ€Π΅Π»Ρ‹ΠΌ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ. ПослС этого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ· Microsoft сущСствСнно ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ развития Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.

ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Visual Basic (вСрсии 5−6)

Π­Ρ‚ΠΎΡ‚ язык ΠΎΡ‡Π΅Π½ΡŒ сильно привязан ΠΊ ΡΠ²ΠΎΠ΅ΠΉ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows, являясь ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ инструмСнтом написания Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΡΡ€Π΅Π΄Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сущСствуСт большоС количСство срСдств, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΈ ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²Π° программирования: встроСнный ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, просмотр ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π»Π΅Ρ‚Ρƒ, ΠΎΠΊΠ½ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (IntelliSense). ВсС эти прСимущСства Π΄Π΅Π»Π°ΡŽΡ‚ бСсполСзным ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ использованиС Visual Basic Π²Π½Π΅ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.

ИмСнно Visual Basic 6-ΠΎΠΉ вСрсии [2], я ΠΈ Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ прилоТСния. НазовСм это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅: «Video2Bmp».

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

CommandButton (Кнопка) — этот элСмСнт управлСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ, ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ процСсс. Кнопка встрСчаСтся Π²ΠΎ Π²ΡΠ΅Ρ… прилоТСниях Windows. Π“Π»Π°Π²Π½Ρ‹ΠΌ событиСм для ΠΊΠ½ΠΎΠΏΠΊΠΈ являСтся Click. ΠšΡ€ΠΎΠΌΠ΅ этого события, Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ€Π΅Π΄ΠΊΠΎ.

Label (Надпись) — ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для отобраТСния тСкста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Π₯отя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ события этого элСмСнта управлСния ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ эта Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся. Π‘Π°ΠΌΡ‹ΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ свойством надписи являСтся Caption, содСрТащСС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ тСкст.

TextBox (ВСкстовоС ΠΏΠΎΠ»Π΅) — являСтся основным элСмСнтом управлСния, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ для Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π°ΠΌΡ‹ΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ являСтся свойство Text. Π­Ρ‚ΠΎ свойство содСрТит ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π² ΠΏΠΎΠ»Π΅ тСкст. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ Π²Π²ΠΎΠ΄ символов, ΠΈΠΌΠ΅ΡŽΡ‚ свойство Text, Π° ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для отобраТСния тСкста, — свойство Caption. ВСкстовоС ΠΏΠΎΠ»Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΎΠΌΡƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρƒ.

ListBox (Бписок) — позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько элСмСнтов. Π’ Π»ΡŽΠ±ΠΎΠ΅ врСмя Π² ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ элСмСнты ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅. Если Π½Π΅ Π²ΡΠ΅ элСмСнты ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠΎΠ»Π΅ списка, Ρ‚ΠΎ Π² Π½Π΅ΠΌ автоматичСски ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. ОсновноС событиС списка — Click. Π­Ρ‚ΠΎ событиС вызываСтся, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΡ‹ΡˆΠΈ ΠΈΠ»ΠΈ клавиш управлСния курсором Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ элСмСнт Π² ΡΠΏΠΈΡΠΊΠ΅. Окно списка — это элСмСнт управлСния, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ списка Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ элСмСнтов списка — добавлСния ΠΈΠ»ΠΈ удалСния. Для добавлСния Π½ΠΎΠ²Ρ‹Ρ… элСмСнтов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Addltem. Для удалСния элСмСнта ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ RemoveItem, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся индСкс удаляСмого элСмСнта. Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ элСмСнтов списка начинаСтся с -1. Для удалСния всСх элСмСнтов списка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Clear:

Timer (Π’Π°ΠΉΠΌΠ΅Ρ€) — использованиС Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ способом управлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ процСссы прилоТСния Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’Π°ΠΉΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ ΠΈ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ выполняСтся Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ΠΎ Π²Ρ€Π΅ΠΌΡ проСктирования Ρ‚Π°ΠΉΠΌΠ΅Ρ€ отобраТаСтся Π² Ρ„ΠΎΡ€ΠΌΠ΅, Π½ΠΎ Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ. Π’Π°ΠΉΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ СдинствСнноС событиС — Timer, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вызываСтся ΠΏΠΎ ΠΈΡΡ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ установлСнного Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°. Для установки ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ слуТит свойство Interval, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ устанавливаСтся Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡƒΠ½Π΄Π°Ρ…. НапримСр, Π·Π°Π΄Π°Π½ΠΈΠ΅ значСния 250 Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ событиС Timer Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 250 миллисСкунд нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ. Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° слСдуСт ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ свойству Interval Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 ΠΈΠ»ΠΈ свойству Enabled Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False.

DriveListBox (Бписок устройств) — относится ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ элСмСнтов управлСния, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для отобраТСния ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΈΡΠΊΠ°ΠΌΠΈ, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. DriveListBox слуТит для отобраТСния списка всСх доступных дисков ΠΈ ΡƒΡΡ‚ройств систСмы ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡ… Π²Ρ‹Π±ΠΎΡ€Π°.

Directory ListBox (Бписок ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²) — ΠΈΠ»ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎ DirListBox — это Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт управлСния, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ². Он ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ структуру Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ диска ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΈ ΡΠΌΠ΅Π½Ρƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

Frame (Π Π°ΠΌΠΊΠ°) — это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². Π•Π³ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ нСсколько элСмСнтов управлСния. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°ΠΌΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ, Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ. НСкоторыС элСмСнты сами Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ — Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅ всСгда ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½Ρƒ Π³Ρ€ΡƒΠΏΠΏΡƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΎΠΏΡ†ΠΈΠΉ, Π½ΡƒΠΆΠ½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅. Для объСдинСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π³Ρ€ΡƒΠΏΠΏΡƒ Π½ΡƒΠΆΠ½ΠΎ сначала ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ элСмСнт ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ элСмСнты управлСния

PictureBox (Окно с Ρ€ΠΈΡΡƒΠ½ΠΊΠΎΠΌ) — ΠΊΠ°ΠΊ слСдуСт ΠΈΠ· ΡΠ°ΠΌΠΎΠ³ΠΎ названия, элСмСнт ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для отобраТСния рисунков ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… графичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎΡ‚ элСмСнт управлСния Ρ‚Π°ΠΊΠΆΠ΅ являСтся элСмСнтом ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ, поэтому Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для объСдинСния Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов. Как ΠΈ ΡΠΎΠ±Ρ‹Ρ‚ия Ρ€Π°ΠΌΠΊΠΈ, события элСмСнта PictureBox ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ, хотя ΠΏΡ€ΠΈ нСобходимости это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Бвойство AutoSize опрСдСляСт, Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ автоматичСски ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ элСмСнта управлСния для отобраТСния рисунков Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ свойство PictureBox — Picture, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ графичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ растровоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (*.Π’ΠœΠ ), ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (*.IБО), ΠΌΠ΅Ρ‚Π°Ρ„Π°ΠΉΠ» (*.WMF) ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚Π°Ρ„Π°ΠΉΠ» (*.EMF), Ρ‚Π°ΠΊΠΆΠ΅ GIF ΠΈ JPEG Ρ„Π°ΠΉΠ»Ρ‹.

Image (Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅) — создан для отобраТСния рисунков. Но Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ PictureBox, ΠΎΠ½ Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся элСмСнтом ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ. Он Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°Π΅Ρ‚ группирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Однако Image ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ мСньшС рСсурсов ΠΈ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ PictureBox. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для отобраТСния рисунков Image ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Image — ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ рисунков, Π΅Π³ΠΎ события ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ся. Π“Π»Π°Π²Π½Ρ‹ΠΌ свойством Image Ρ‚Π°ΠΊΠΆΠ΅ являСтся Picture. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ рисунок, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ элСмСнтом управлСния, Π½Π° ΡΡ‚Π°Π΄ΠΈΠΈ проСктирования Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Бвойство Stretch опрСдСляСт, ΠΊΠ°ΠΊ отобраТаСтся рисунок. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Stretch Ρ€Π°Π²Π½ΠΎ True, Ρ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ рисунка ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² элСмСнта управлСния Image, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС элСмСнт управлСния измСняСтся Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° рисунка.

Common Dialog (Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ) — Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… стандартныС ΠΈ Ρ‡Π°ΡΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Windows (ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€.). Для Π²Ρ‹Π·ΠΎΠ²Π° ΠΎΠΊΠ½Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° Save Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ShowSave.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Windows API, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ программирования ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (ΠΈΠ½ΠΎΠ³Π΄Π° интСрфСйс ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ программирования) (Π°Π½Π³Π». application programming interface, API) — Π½Π°Π±ΠΎΡ€ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… классов, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, структур ΠΈ ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚, прСдоставляСмых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ, сСрвисом) для использования Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ программистами для написания всСвозмоТных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

API — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ [3], ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ значСния. И Π²ΡΠ΅ прилоТСния Windows ΠΈΡ… ΠΏΠΎΡΡ‚оянно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для выполнСния Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. ЀизичСски ΠΎΠ½ΠΈ находятся Π² ΠΎΡΠΎΠ±Ρ‹Ρ… исполняСмых Ρ„Π°ΠΉΠ»Π°Ρ… с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ. dll, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ динамичСской связи. По Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счСту ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ VB. Π’ΠΎΠΎΠ±Ρ‰Π΅-Ρ‚ΠΎ Π½Π΅ Π²ΡΠ΅ API ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Ρ‹ ΠΈΠ· VB, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ нСсовмСстимы с Visual Basic. ВсС API написаны Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C — Ρ‡ΡƒΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΈΠ½Ρ‚аксису ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π΅ языку VB.

ИспользованиС API начинаСтся с ΠΈΡ… ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΡ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ объявлСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ошибок. ΠžΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Public, хотя, Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ простой, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ΅.

Бинтаксис объявлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ API:

Public/Private Declare Function Имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Lib Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Alias ПсСвдоним (Бписок_Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²) As Π’ΠΈΠΏ

Public/Private — понятно, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова. Π’ ΠΊΠΎΠ΄Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ функция ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ΡΡ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Private, Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ — с Public, ΠΈΠ»ΠΈ вовсС Π±Π΅Π· ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова (Π½ΠΎ ΠΏΡ€ΠΈ этом использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅).

Declare Function — ΠΊΠΎΠΌΠ°Π½Π΄Π°, которая собствСнно ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ — опрСдСляСт Ρ‚ΠΎ ΠΈΠΌΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° — опрСдСляСт имя DLL-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (ΠΏΠΎ ΡΡƒΡ‚ΠΈ имя Ρ„Π°ΠΉΠ»Π°), содСрТащСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ПсСвдоним — ΠΊΠ°ΠΊ Π±Ρ‹ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, псСвдоним, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² VB, Ссли Имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ (Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ синтаксиса, совпадСниС с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ VB) Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использовано. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°.

(Бписок Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²) — это ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ. Π˜Ρ… ΠΈΠΌΠ΅Π½Π° для нас Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ особого значСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π²ΡΠ΅ Ρ€Π°Π²Π½ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ свои.

Π’ΠΈΠΏ — Ρ‚ΠΈΠΏ значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ наша функция, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Byte, Long, Boolean, Integer, Single, Double, Currency, Date, String, Object, Variant. Π’ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π½Π°Ρ‡ΠΊΠ° опрСдСлитСля Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΈΠΏΡƒ Integer соотвСтствуСт Π·Π½Π°Ρ‡ΠΎΠΊ %), Ρ‚ΠΎΠ³Π΄Π° сСкция Π’ΠΈΠΏ Π½Π΅ Π½ΡƒΠΆΠ½Π°. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Ρ‹ ΠΌΠΎΠΆΠ΅ΡˆΡŒ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅ «Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ VB» .

ОпишСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, самыС основныС API Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ «Video2Bmp».

AVIFileInit — функция ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ AVIFile Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Avi Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ).

AVIFileExit — функция Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ AVIFile Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ счСтчик ссылок для этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

Ѐункция AVIFileOpen — ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» AVI ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ адрСс Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для доступа ΠΊ Π½Π΅ΠΌΡƒ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° AVIFile Π²Π΅Π΄Π΅Ρ‚ подсчСт количСства ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΉ Ρ„Π°ΠΉΠ»Π°, Π½ΠΎ Π½Π΅ ΡΠΊΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π· ΠΎΠ½ Π±Ρ‹Π» освобоТдСн.

AVIFileCreateStream — функция создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ‚ интСрфСйс для Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°.

AVISaveOptions — функция ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сохранСния для Ρ„Π°ΠΉΠ»Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ… Π² Π±ΡƒΡ„Π΅Ρ€.

AVISaveOptionsFree — функция освобоТдаСт рСсурсы, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ для AVISaveOptions Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

AVIMakeCompressedStream — функция создаСт сТатый ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΡ‚ Π½Π΅ΡΠΆΠ°Ρ‚ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ сТатия, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ адрСс указатСля с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ сТатого. Π­Ρ‚Π° функция ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ сТатия.

AVIStreamSetFormat — функция устанавливаСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

AVIStreamWrite — функция позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠΎΡ‚ΠΎΠΊ.

SetRect — устанавливаСт ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. Π”Π²Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π»Π΅Π²Ρ‹Π΅ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ ΠΈ Π½ΠΈΠΆΠ½ΠΈΠ΅ ΠΏΡ€Π°Π²Ρ‹Π΅ ΡƒΠ³Π»Ρ‹ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 0 Π² ΡΠ»ΡƒΡ‡Π°Π΅ ошибки ΠΈΠ»ΠΈ 1 Π’ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ случаС.

MmioStringToFOURCC — функция ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку с Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΌ Π½ΡƒΠ»Π΅ΠΌ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Π·Π½Π°Ρ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄.

CoTaskMemFree — освобоТдаСт Π±Π»ΠΎΠΊ памяти Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² CoTaskMemAlloc ΠΈΠ»ΠΈ CoTaskMemRealloc Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Lstrcat — ДобавляСт ΠΎΠ΄Π½Ρƒ строку Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ.

SHBrowseForFolder — ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ Shell.

SHGetPathFromIDList — ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ элСмСнт списка (ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡƒΡ‚ΠΈ) Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС.

SHGetSpecialFolderLocation — ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ITEMIDLIST структуры Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ «Video2Bmp»

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° BITMAPINFOHEADER — содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимого растрового Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° (DIB).

Π§Π»Π΅Π½Ρ‹ структуры:

biSize — опрСдСляСт число Π±Π°ΠΉΡ‚ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для структуры.

biWidth — опрСдСляСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ рисунка, Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ….

biHeight — устанавливаСт высоту Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ рисунка, Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ….

biPlanes — устанавливаСт число плоскостСй Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ устройства. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ установлСно Π² 1.

biBitCount — устанавливаСт число Π±ΠΈΡ‚ΠΎΠ² Π½Π° ΠΏΠΈΠΊΡΠ΅Π»ΡŒ.

biCompression — опрСдСляСт Ρ‚ΠΈΠΏ сТатия для сТатого ΠΈΠ΄ΡƒΡ‰Π΅Π³ΠΎ снизу Π²Π²Π΅Ρ€Ρ… Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ рисунка (ΠΈΠ΄ΡƒΡ‰ΠΈΠΉ свСрху Π²Π½ΠΈΠ· Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимый растровый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (DIB) Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒΡΡ). Π­Ρ‚ΠΎΡ‚ Ρ‡Π»Π΅Π½ структуры ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΠΆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

biSizeImage — устанавливаСт Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния, Π² Π±Π°ΠΉΡ‚Π°Ρ…. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн Π² Π½ΡƒΠ»ΡŒ для BI_RGB Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Ρ… рисунков.

biXPelsPerMeter — устанавливаСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ для ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ устройства Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ рисунка, Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ… Π½Π° ΠΌΠ΅Ρ‚Ρ€. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго соотвСтствуСт характСристикам Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ устройства.

biYPelsPerMeter — устанавливаСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ для ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ устройства Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ рисунка, Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ… Π½Π° ΠΌΠ΅Ρ‚Ρ€.

biClrUsed — устанавливаСт число индСксов Ρ†Π²Π΅Ρ‚Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ†Π²Π΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ фактичСски ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΌ рисунком. Если это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ равняСтся Π½ΡƒΠ»ΡŽ, Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΉ рисунок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ максимальноС число Ρ†Π²Π΅Ρ‚ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ‡Π»Π΅Π½Π° структуры biBitCount для ΠΌΠ΅Ρ‚ΠΎΠ΄Π° сТатия, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‡Π»Π΅Π½ΠΎΠΌ biCompression.

biClrImportant — устанавливаСт число индСксов Ρ†Π²Π΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½Π΅ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΉ рисунок. Если это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ равняСтся Π½ΡƒΠ»ΡŽ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ всС Ρ†Π²Π΅Ρ‚Π°.

BITMAPFILEHEADER — эта структура содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΈΠΏΠ΅, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°, содСрТащСго Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-нСзависимый растр (DIB).

RGBQUAD — структура описываСт Ρ†Π²Π΅Ρ‚Π°, состоящий ΠΈΠ· ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ интСнсивности красного, Π·Π΅Π»Π΅Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΈΠ½Π΅Π³ΠΎ Ρ†Π²Π΅Ρ‚ΠΎΠ².

BITMAP — инкапсулируСт Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΉ рисунок GDI+, состоящий ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… пиксСлСй графичСского изобраТСния ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² рисунка. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Bitmap ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, опрСдСляСмыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ пиксСлСй.

BrowseInfo — Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для SHBrowseForFolder Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠ°ΠΏΠΊΠ΅, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

БоставныС части прилоТСния «Video2Bmp»

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ склСйка ΠΊΠ°Π΄Ρ€ Π²ΠΈΠ΄Π΅ΠΎ ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Video2Bmp» состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ„ΠΎΡ€ΠΌ. ΠŸΠ΅Ρ€Π²Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ²:

1) Π‘ΠΊΠ»Π΅ΠΉΠΊΠ° ΠΊΠ°Π΄Ρ€ΠΎΠ² — Ρ€Π΅ΠΆΠΈΠΌ для объСдинСния Π΄Π²ΡƒΡ… ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½

2) Π—Π°ΠΏΠΈΡΡŒ Π²ΠΈΠ΄Π΅ΠΎ — Ρ€Π΅ΠΆΠΈΠΌ для создания avi Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° ΠΊΠ°Π΄Ρ€ΠΎΠ² bmp.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ рСализуСтся Ρ€Π΅ΠΆΠΈΠΌ склСйки ΠΊΠ°Π΄Ρ€ΠΎΠ². На Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ рСализуСтся Ρ€Π΅ΠΆΠΈΠΌ создания Π²ΠΈΠ΄Π΅ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° ΠΊΠ°Π΄Ρ€ΠΎΠ².

ОпишСм структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊ-схСмы:

Рассмотрим самыС Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: для склСйки ΠΊΠ°Π΄Ρ€ΠΎΠ², Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ «Π‘ΠΊΠ»Π΅ΠΉΠΊΠ°» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρ€ΠΈ PictureBox. Π’ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½ΠΈ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ PictureBox с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹ΠΌΠΈ вмСстС ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ bmp.

{ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΠΈΠ· ΠΏΠ°ΠΏΠΎΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ PictureBox}

Picture1.Picture = LoadPicture (Ima1 + List1. List (i))

Picture3.Picture = LoadPicture (Ima2 + List2. List (i))

{ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ}

Shirina = ScaleX (Picture1.Picture.Width, vbHimetric, vbPixels)

Visota = ScaleY (Picture1.Picture.Height, vbHimetric, vbPixels)

Shirina2 = ScaleX (Picture3.Picture.Width, vbHimetric, vbPixels)

Visota2 = ScaleY (Picture3.Picture.Height, vbHimetric, vbPixels)

{ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΉ объСдинСнной ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ}

Picture2.Height = Visota + Visota2 — a — b

If Shirina > Shirina2

Then

Picture2.Width = Shirina

Else

Picture2.Width = Shirina2

Shirina = Shirina2

End If

{Π€Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ PictureBox ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ}

Picture2.PaintPicture Picture1, 0, 0, Shirina, Visota — b, 0, b, vbSrcCopy

Picture2.PaintPicture Picture3, 0, Visota — b, Shirina, Visota2 — a, 0, a, vbSrcCopy

{БохраняСм ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ bmp}

SavePicture Picture2. Image, sFileName + s

Для создания Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ² создаСм Π½ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡ‚ΠΎΠΊ. ΠŸΠΎΡ‚ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΡƒΡ‚Π΅ΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ структуры AVI_STREAM_INFO ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ AVIFileCreateStream. Когда эта функция выполнится, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Π΅Ρ€Π½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π²Π½ΠΎΠ²ΡŒ созданный интСрфСйс ΠΏΠΎΡ‚ΠΎΠΊΠ°:

{ЗаполняСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ для Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°}

With strhdr

.fccType = mmioStringToFOURCC («vids», 0&) {Ρ‚ΠΈΠΏ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°}

.fccHandler = 0& {ссылка ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ}

.dwScale = 1

.dwRate = k {ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρƒ}

.dwSuggestedBufferSize = bmp. SizeImage {Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π° Π² ΠΏΠΈΠΊΡΠ΅Π»Π°Ρ…}

Call SetRect (.rcFrame, 0, 0, bmp. Width, bmp. Height) {ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ для ΠΏΠΎΡ‚ΠΎΠΊΠ°}

End With

{провСряСм Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ}

If strhdr. dwRate < 1 Then strhdr. dwRate = 1

If strhdr. dwRate > 30 Then strhdr. dwRate = 30

{ΠΈ создаСм ΠΏΠΎΡ‚ΠΎΠΊ}

res = AVIFileCreateStream (pfile, ps, strhdr)

If (res <> AVIERR_OK) Then GoTo error

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° пСрСмСнная ps ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π΄Π»Ρ создания сТатого ΠΏΠΎΡ‚ΠΎΠΊΠ°, содСрТащСго всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для записи Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ». ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ΄Π΅ΠΊ для сТатия ΠΏΠΎΡ‚ΠΎΠΊΠ°:

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сТатия ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π­Ρ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ API Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ указатСля Π½Π° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ

pOpts = VarPtr (opts)

res = AVISaveOptions (Form1.hWnd, _

ICMF_CHOOSE_KEYFRAME Or ICMF_CHOOSE_DATARATE, _

1, _

ps, _

pOpts)

If res <> 1 Then 'In C TRUE = 1

Call AVISaveOptionsFree (1, pOpts)

GoTo error

End If

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ вмСстС с ΡΠ°ΠΌΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ AVIMakeCompressedStream:

{создаСм сТатый ΠΏΠΎΡ‚ΠΎΠΊ}

res = AVIMakeCompressedStream (psCompressed, ps, opts, 0&)

If res <> AVIERR_OK Then GoTo error

Когда эта функция Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, пСрСмСнная psCompressed ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΈΠ½Ρ‚СрфСйс сТатого ΠΏΠΎΡ‚ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ сТатый Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡ‚ΠΎΠΊ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, Π·Π°Π΄Π°Π½Π½ΠΎΠΌ структурами AVI_STREAM_INFO ΠΈ AVI_COMPRESS_OPTIONS. ВсС, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π°Π»Π΅Π΅ — ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ DIB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π² ΠΏΠΎΡ‚ΠΎΠΊ. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования структуры BITMAPINFO, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅Π³ΠΎΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ достаточно Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² VB. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, здСсь Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ класс cDIB. Π’ ΡΡ‚ΠΎΠΌ классС имССтся функция, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ Ρ„Π°ΠΉΠ» с Π΄ΠΈΡΠΊΠ°. Π Π°Π½Π΅Π΅ я Π²Ρ‹Π·Ρ‹Π²Π°Π» эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для считывания ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΊΠ°Π΄Ρ€Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΠ· Ρ„Π°ΠΉΠ»Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΡƒΡ„Π΅Ρ€Π° для структуры AVI_STREAM_INFO:

{ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈΠ· Ρ„Π°ΠΉΠ»Π°}

Set bmp = New cDib

Directorios = Dir (RutaOpen & «*.bmp»)

MsgBox «ΠΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ сТатия», «ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅»

Do While Directorios <> «»

If bmp. CreateFromFile (RutaOpen & Directorios) <> True Then

MsgBox «No File!», vbExclamation + vbOKOnly, «KO!»

GoTo error

End If

Directorios = Dir Loop

БСйчас ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ для установки Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π²ΠΈΠ΄Π΅ΠΎ-ΠΏΠΎΡ‚ΠΎΠΊΠ°. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ BITMAPINFO:

With BI

.biBitCount = bmp. BitCount

.biClrImportant = bmp. ClrImportant

.biClrUsed = bmp. ClrUsed

.biCompression = bmp. Compression

.biHeight = bmp. Height

.biWidth = bmp. Width

.biPlanes = bmp. Planes

.biSize = bmp. SizeInfoHeader

.biSizeImage = bmp. SizeImage

.biXPelsPerMeter = bmp. XPPM

.biYPelsPerMeter = bmp. YPPM

End With

И Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ эту структуру вмСстС с ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ AVIStreamSetFormat:

{устанавливаСм Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сТатого ΠΏΠΎΡ‚ΠΎΠΊΠ°}

res = AVIStreamSetFormat (psCompressed, 0, ByVal bmp. PointerToBitmapInfo, bmp. SizeBitmapInfo)

If (res <> AVIERR_OK) Then GoTo error

Если эта функция Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Ρ‚ΠΎ ΡΠΆΠ°Ρ‚Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ нСсколько DIB для записи. Π’Ρ‹ ΡΠ΄Π΅Π»Π°Π΅Ρ‚Π΅ это ΠΏΡƒΡ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ этого ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ запись, Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ AVIStreamWrite. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ здСсь вновь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс cDIB, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ прямой ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π±ΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

{ЗаписываСм ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€ Π²ΠΈΠ΄Π΅ΠΎ}

Static Posicion As Long

Posicion = 1

Directorios = Dir (RutaOpen & «*.bmp»)

Do

Posicion = Posicion + 1

bmp.CreateFromFile (RutaOpen & Directorios)

res = AVIStreamWrite (psCompressed, Posicion, 1, bmp. PointerToBits, bmp. SizeImage, AVIIF_KEYFRAME, ByVal 0&, ByVal 0&)

Directorios = Dir

Loop While Directorios <> «»

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этот Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ запись ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ всС рСсурсы ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. Π€Π°ΠΉΠ», созданный Π’Π°ΠΌΠΈ Π² Π½Π°Ρ‡Π°Π»Π΅ этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ содСрТит ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π²ΠΈΠ΄Π΅ΠΎ ΠΏΠΎΡ‚ΠΎΠΊ, ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ воспроизвСсти Π² Windows Media Player ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»Π΅.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ «Video2Bmp»

ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ открываСтся Ρ„ΠΎΡ€ΠΌΠ° с Π΄Π²ΡƒΠΌΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ «Π‘ΠΊΠ»Π΅ΠΉΠΊΠ° ΠΊΠ°Π΄Ρ€ΠΎΠ²» ΠΈ «Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ». Π’ ΡΡ‚ΠΎΠΌ ΠΎΠΊΠ½Π΅ выбираСтся Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π‘ΠΊΠ»Π΅ΠΉΠΊΠ° ΠΊΠ°Π΄Ρ€ΠΎΠ²» выбираСтся Ρ€Π΅ΠΆΠΈΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π²Π° Π½Π°Π±ΠΎΡ€Π° ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½. На Ρ„ΠΎΡ€ΠΌΠ΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π΄Π²Π° элСмСнта Image, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ процСсс объСдинСния ΠΊΠ°Π΄Ρ€ΠΎΠ², ΠΏΠΎ Π΄Π²Π° элСмСнта DriveListBox, Directory ListBox ΠΈ ListBox — ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°ΠΏΠΎΠΊ с ΠΊΠ°Π΄Ρ€Π°ΠΌΠΈ.

Π’Π΅Ρ€Ρ…Π½ΠΈΠ΅ DriveListBox, Directory ListBox ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°ΠΏΠΊΠΈ с ΠΊΠ°Π΄Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части полиэкрана. Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ ListBox ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния Π½Π°Π·Π²Π°Π½ΠΈΠΉ всСх ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈΠ· ΡΡ‚ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.

НиТниС DriveListBox, Directory ListBox ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°ΠΏΠΊΠΈ с ΠΊΠ°Π΄Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части полиэкрана. НиТний ListBox ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния Π½Π°Π·Π²Π°Π½ΠΈΠΉ всСх ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ.

ΠŸΡ€ΠΈ этом Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ изобраТСния Π² ΠΏΠ°ΠΏΠΊΠ°Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ bmp, ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ Π±Ρ‹Π»ΠΈ Ρ€Π°Π²Π½Ρ‹ΠΌΠΈ, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΊΠ°Π΄Ρ€Ρ‹ с ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΉ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒΡΡ.

Высота ΠΆΠ΅ полиэкрана ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ устанавливаСтся, ΠΊΠ°ΠΊ сумма высот ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ высоту ΠΊΠ°Π΄Ρ€ΠΎΠ², Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ высоту».

ПослС Π²Ρ‹Π±ΠΎΡ€Π° Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ» ΠΈ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ… ListBox отобразятся ΠΈΠΌΠ΅Π½Π° всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°ΠΏΠΎΠΊ. ИмСна Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ… ListBox ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡŽ. Если Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° Π»ΡŽΠ±ΠΎΠΉ элСмСнт списка, Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° отобразится Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π΅ Image.

Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ количСство ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ°Ρ… совпадало, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΊΠ°Π΄Ρ€Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚. Π΅. Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ объСдинСния количСство ΠΊΠ°Π΄Ρ€ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ количСству ΠΈΠ· ΡΠΏΠΈΡΠΊΠΎΠ² ListBox. Кнопки «ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ список 1» ΠΈ «ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ список 2» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для очистки ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов ListBox.

Если ΠΆΠ΅ Π² ΡΠΏΠΈΡΠΊΠ°Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ лишниС ΠΊΠ°Π΄Ρ€Ρ‹, Ρ‚ΠΎ Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΎΠΊ «Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°» ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ спискС ListBox.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π‘ΠΊΠ»Π΅ΠΈΡ‚ΡŒ» открываСтся Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°ΠΏΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ПослС Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°ΠΏΠΊΠΈ начнётся процСсс объСдинСния. Π€Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π±ΡƒΠ΄ΡƒΡ‚ соСдинятся с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ· Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ списка ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.

ΠŸΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ процСсса объСдинСния выскочит Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ объСдинСния. ПослС Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ снова Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² ΠΌΠ΅Π½ΡŽ Π²Ρ‹Π±ΠΎΡ€Π° Ρ€Π΅ΠΆΠΈΠΌΠ°, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню».

Кнопка «Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ» открываСтся Ρ„ΠΎΡ€ΠΌΠ°, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π°Ρ Ρ€Π΅ΠΆΠΈΠΌ создания avi Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΠΊΠ°Π΄Ρ€ΠΎΠ². Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ с ΠΊΠ°Π΄Ρ€Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ» сохранСния» Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π²Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠ½Π° подряд. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°ΠΏΠΊΠΈ с ΠΊΠ°Π΄Ρ€Π°ΠΌΠΈ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒΡΡ avi Ρ„Π°ΠΉΠ». Π’Ρ‚ΠΎΡ€ΠΎΠ΅ для Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ сохранСн Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ПослС этого ΠΆΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ» ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Π΅ΠΌ процСсс прСобразования Ρ„Π°ΠΉΠ»ΠΎΠ² bmp Π² Π²ΠΈΠ΄Π΅ΠΎ Ρ„Π°ΠΉΠ». ΠŸΠ΅Ρ€Π΅Π΄ запуском этого процСсса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдоставляСтся ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° Ρ€Π΅ΠΆΠΈΠΌΠ° сТатия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ способ сТатия. Бписок Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ΄Π΅ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’Ρ‹Π±Ρ€Π°Π² способ сТатия, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ запускаСт процСсс прСобразования. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ сохранСн Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

ПослС записи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ мСню с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π’ Π³Π»Π°Π²Π½ΠΎΠ΅ мСню».

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ «Video2Bmp» позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ-Ρ„Π°ΠΉΠ» ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π²Π° ряда Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Π΄Ρ€ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅, синхронизованных ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ кадрирования исходных ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ просмотра, создаваСмого видСоряда, удалСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Π΄Ρ€ΠΎΠ², Π²Ρ‹Π±ΠΎΡ€Π° исходных ΠΏΠ°ΠΏΠΎΠΊ с Π²ΠΈΠ΄Π΅ΠΎΡ€ΡΠ΄Π°ΠΌΠΈ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ назначСния. Π’. Π΅. это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт Ρ†Π΅Π»ΠΈ поставлСнной Π² ΡΡ‚ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅. Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ эффСктивно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ Ρ…ΠΎΠ΄Π° Π΄Π²ΡƒΡ… Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… процСссов, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈΡ… ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ΅ влияниС.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ источники

1. ИспользованиС Visual Basic 6.0 Π‘Ρ€Π°ΠΉΠ°Π½ Π‘Π°ΠΉΠ»Π΅Ρ€, Π”ΠΆΠ΅Ρ„Ρ„ Бпоттс Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π”ΠΎΠΌ «Π’ΠΈΠ»ΡŒΡΠΌΡ» 2009

2. Visual Basic 6.0: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (практичСскоС руководство) Π“Π°Ρ€Π½Π°Π΅Π²Π° А. BHV-БПб 2007

3. Win32 API ΠΈ Visual Basic для профСссионалов Dan Appleman Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ 2006

4. http://ru.wikipedia.org/wiki/Visual_Basic

5. http://manuals-ot-slona.narod.ru/visualb_faq_rus/faqindex.html

6. http://hpc.name/thread/2154/p1.html

7. http://msdn.microsoft.com/en-us/library/windows/desktop/dd756817

8. http://www.answers.com/topic

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