You are on page 1of 254

¨´°²É˱²

¯ ©±¹¯˜ –Ú¢µÁ¯
²›©°É¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯.

2/4/2010
¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

À³¢¶

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 2


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

§¤ª°¶–
¯ ¨
–Ú¢µÁ¯ ²›©°É¯ ÀÌ妃 µ¤½©³§¶ ¨´°²É˱²
¯ ©±¹¯˜
£±´¸¶´ –©°¶¯ §Î¶¯µ±ªá £¤¸° ÀÌ妃 ²É¯¸¶
(Computer Programming) µ¤½©³§¶É°. ²¨´
¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ©¯³Óö²´¯ 6.0 §° ¦É¯ £»Â´É¯ ²•.
µå±À±ÌÉ µ¤½©³§¶¯ (Enterprise Application)
©±È¤¶á¨³ ²¨´ ²¿±²§±¯²©¯´°¶¯ ¾µ§Á¯²µ´°.

²¨´ ––Û µ¥à²´¯ ¨âÎɱ»Â ¾¸± ²Á²§©°²´¶¯


À°ò°²´Á ɰ̨ £¸°¶¯ ¾¸± ¾ª°Ì²´¶¯ ©°™´°. ¸µª £¤É¯™µ¢
¦É¯©¯ (Active X) ´¶ ¸±íÚ¶´ ð±–¸²´¶¯ £²¶É¡¸¯
¨âÎɱ»Â ©¨Â ©§²´±¯Â²´¶¯ ɳ´¢¸¡ Éò §¤É° ÔÀ±»Â §±
£¸¯¸¥à¼±Á §± ©ˆ¿¶¯Û ––Û µ¥à²´¯ ¨â΢ɱ»Â ¶°¥¨
à ±ç´
É°¬¨³ §¤É°²µ´°. –¶¯²½±¯©¯ ¦¯.Àá.£´°. (Windows API-
Application Programming Interface) ¦É ©¨ì
¨¢©¢µÓ–³ ¾¸± ²Á²§©°²´¶¯ §¤©°¥–´ §¤É° ¾¸± ¿Á¸¡ µÓ
ÀÌÂçÉ µ¤½©³§¶¯ ¶°¥à¨±ç´ ɰ̨³ ²¨¨Â°¶¯ §¤É°´±µ
Á¤²›. ²¨´ Basic ´¶ ð±Ú±²• ²É¯¸¶ É˨´ ð±–¸ É¥´°
¶¨¢¸¯ £µØå À̪° ¾¶¯³¥à²¹¯©¯ ©É©¯É°Ì²ˆ §¤É°´±µ £¤¸°
¿¤–¶¯ ¦´ µ½±¸¯ À§©¢– £¤¸.

ÀÌ妃 ¨âÎɱ»Â ¶°¥¨


à ±ç´ À°ò°¿ß ©°ªÛ
¯ ±¶¯¸
–Ú¢µÁ¯ ²›©°É¯ ¾²Â¶á¨³ ²À¥ £À° ÀÌÂçÉ ¨âÎɱ»Â µÁ
¨ÓÁ°É ©°ªÛ
¯ ±¶¯¸ À°ò°¿ß ©Áɱ¿Á¨Ó. ÀÌÂçÉ µ¤½©³§¶É¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 3


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

´¶¢ É°´±¸¯¨É É°¬²ˆªá ÀÌÂçɴɳ ÉÁ°¶¯ ¸á¥ç´ ÉÁ


²Á© µ¤½É°Ì¨³ ©É©¯É¥çÁª ©»–Û±¶±¸¯¨É –Û±¶
Á´°©¸
¯ ¡µÉ°. ÀÌÂçÉ µ¤½©³§¶¯ ²¶±¨¤¸°µ ÀÌÂçɴɳ
¸¶°µ É°Ë´±É°Ì¨ £À§©¢²•. ¦¨¶°©± ÀÌÂçÉ µ¤½©³§¶¯
¶°¥¨
à ±ç´ ´¶¢ †¶°©¢¶³
¯ ÉÁ ²¶±§¤É° ²•Â²´¶¯ ɱ¥à´´¶¯
ÀÌÂçɲ´¶¯ ɰ̨³ §¤É°µ¶²Á© –Û±¶ Á´°©¸
¯ ¡µÉ¯
¶°¥¨
à ±ç´ É°¬¨ ²•.

²¿±²§±¯ †¶°©¢¶¯ ©°¸¶¯²¶¯ ÀÌÂçÉ CPU (Central


Processing Unit) ´¶¢ ¾¸± ¿¢ªŠ
¯ ¨¸¯ ²ª´É¯ ²Á©´° ¶¨¢¸¯
£¤¸¯¸³¨ ¦´ †¶°©¢¶²
¯ ¯ Ôªµ¢µÉ¯ ²¶±¨¤¸°µ É°©µ
° ɯ ɥ¸
²¶±§¤É° ÔÀÉ¥¶´É°. ÀÌÂçɲ´¯ ¨´°É˱¯ ²À˱©©¥´³
§Î¶±Â¸ §¤É° µ¶¯²¶¯ –ªå¢¸¯ ©»Ý± ²ªÉɯ À¨ç° ¦¶ˆ on
§± off ²§±¯ ª¯–¨´ ©»Éå±µÁ 0 §± 1 ´¶ ²É¯¸´¶¯ ²•. ²¨¨
²É¯¸´¶¯³ £À° machine language ²Á© §Î¶¯µ´°. ²¨¨
ð±Ú±µ ¾²Â¶á¨³ ¾¸± £À§©¢²• ¶¨¢¸¯ £À³ ªíÚ ÀÌÂçÉ
µ¤½©³§¶¯ ¶°¥¨
à ±ç É¥¤µ¶¯ †¶°©¢¶¯ ð±–¸ É¥¶ ð±Ú±µ³
©¨±¶ ð±Ú±µÉ ©°³ ´±¶¯¸Ë°É ð±Ú±µÉ³ (machine
language) §¤¥–´§¤É° interpreters §± compilers Á°´±
£¤¸ machine language ¦É³ primitive ð±Ú±µÉ¯ ´¤´°
§Î¶¯µ¶¢ Á¿¶ £¸¥ –Ú¢µÁ¯ ²›©°É¯ µ¤¶° interpreters §±
compilers µÁ³ high level language ´¤´° ð±–¸ É¥´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 4


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨µ¤¶° ð±Ú± ©¨§¥É¯ ¶ˆ. Cobol, Java, C, C++, Turbo


Pascal ²•.

–Ú¢µÁ¯ ²›©°É¯ ¨Â°¶¯ ׿³ ©±È¸ §¤É° ¨âÎɱ»Â ²¨±¶µ±ª?

–Ú¢µÁ¯ ²›©°É¯ ¨Â°¶¯ ׿³ ײ› £µØ帱µ´³ £ÈÁ µ¶


²Á© ÀÌ妃 µ¤½©³§¶¯ ©±È¸ §¤É. Ôȧ¥ç ²Á©
׿³ –ªå±µ. Âç°¸´, ð±Ú±µ¶¯, ¾¸°ð±©´ µ¤¶° £ªå±À¶°É
µ¤½©³§¶¯ ¶°¥¨
à ±ç´³. °碈 §± ¨ÓÁå ɳ´¢¸¡ ©ˆ¿¶¯Û
µ¤½©³§¶¯ ¶°¥¨
à ±ç´³. ÀÌÂçÉ ÉËá½± ¶°¥¨
à ±ç´³ µ¤¶á
²¿±²§±¯ªÕ ©ª§± ²´±È¸ §¤É.

²¨¨ ²À±¸ ɱ ©ß§±ª?


²¨¨ ²À±¸°¶¯ ׿³ –Ú¢µÁ¯ ²›©°É¯ ÀÌÂçÉ ²É¯¸¶
ð±Ú±²• ²¿±²§±¯ª¤ ¾²Â¶á¨³ Á¤²›, ¦¶ˆ À̶É
¨âÎɱ»Â ¶°¥¨
à ±ç²´¯ªá £µØå ©°´ ªÕ ¨¢Á©°³ ©¥òµ ¾²Â¶
¤¶á¨ ©ª§± ÔÀɱ¬²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 5


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ÀÁ¨¢ ÀÌ•²Ü¯ª´ - –Ú¢µÁ¯ ²›©°É¯ £´°.ö.ï.


(Visual Basic Interrogated Development
Environment))
Environment
²¨¨ ÀÌ−²Ü¯ª²´¯ªá £À° ¨¢Á°¶¨
¯ –Ú¢µÁ¯ ²›©°É¯
£´°.ö.ï. ¦É ¤¶ ¾²Â¶ ¶°¨¢. ¶¨¢¸¯ ÀÁ¨¢µ £À° •Ú¢µÁ¯
²›©°É¯ –µâ¸¯¸ É¥ ¶°¨.¢ ¦¯ ©ß§± Start ► Programs
► Visual Studio 6.0 ► Visual Basic 6.0
Á¿±Â¶¯¶.
¦–³ ׿³ À§¸ ¥ÕÀ²´¯ À̪° ¸°¥²´¯ ª°©²
¯ •.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 6


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° µå±À⸰ µ¥à ª¤É¯²•. ¦¯µ±´°¶¯ ©¨§¥É¯ Active X


EXE, Standard EXE, Active X DLL, Active X
Control ²•. ª¤¶³ £À° ²¨µ±²Â¶¯ Standard EXE ²¸±¥±
¶°¨¢.

¦–³ À§¸ ¥ÕÀ²´¶¯ £±É±¥²´¯ –Ú¢µÁ¯ ²›©°É¯ £´°.ö.ï. §°


¥ÕÀ©³§¶É¯ ª¤É¯²µ´°.

1
4

2
3
5

1. –Ú¢µÁ¯ ²›©°É¯ ³ÓÁ¯ ¿±¥à. (Visual Basic Tool Bar)


2. –Ú¢µÁ¯ ²›©°É¯ ³ÓÁ¯ ²¿±É¯©.¯ (Visual Basic Tool
Box)

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 7


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

3. –¶¯²½±¯©¯ ²¹±¯¥à¨´ (Windows Form)


4. ²À˱²
¯ ¼É¯˜ ¼²¶¯Á´ (Project Window)
5. ²À˱À™ ¼²¶¯Á´ (Property Window)
6. ²Á¯£µ¢˜ ¼²¶¯Á´ (Layout Window)

׿ ª¤¶¯ –Ú¢µÁ¯ ²›©°É¯ §° ²É±³©¯ §Î¶±Â¶¯¶±Áª°. ª¤¶¯ ¦¨


²É±³©¯ ¦É°¶¯ ¦É ²Â¶ ©±É−ܱɥ¨¢.

1. –Ú¢µÁ¯ ²›©°É¯ ³ÓÁ¯ ¿±¥à.

²¨µ± ¨Â°¶¯ –Ú¢µÁ¯ ²›©°É¯ §° ––Û ÉË°´±É±¥Éˆ


ɥ¸ §¤É ¶µ ²¹±¯¨´É¯ Á¿±Â¤¶á¨, ²¨¶¢ ¦ö³¥´
Á¿±Â¤¶á¨, ²É±À° ɰ̨, ɘ ɰ̨, ²À¯©˜
¯ , ɰ̨, µå±À⸰´
(Project) ²©¯• ɥ¤¶á¨, µ¤½©³§¶ Û±µ¶´ (Run) É°¬¨.
µ¤¶° ²¿±²§±¯ª¤ ɥ¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 8


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

2. –Ú¢µÁ¯ ²›©°É¯ ³ÓÁ¯ ²¿±É¯©.¯


(Visual Basic Tool Box).
–Ú¢µÁ¯ ²›©°É¯ ³ÓÁ¯ ²¿±É¯©´ ¨¸ ––Û
ÔÀ±»Â ªÉ¯¶³ Á¤²›. ²ˆµ± –¶¯²½±¯©¯
¨âÎɱ»Â ©É©¯É°Ì²ˆªá ÔÀɱ̲•.
²¨¨ ÔÀ±»Â ²¹±¯¨´³ ª¨±Â¤¶á¨ ©ß§±
³ÓÁ©
¯ ¯ §° ÔÀ±»Â´ ¨¸ ½¿Á¯ ɯÁ°É¯
É¥¶¯¶ ¶¤¸¯¶¨ ÔÀ±»Â´ ¨¸ ɯÁ°ÉÉ
¯ ¥
²¹±¯¥¨
à ´¨¸ ¨µ¢©´ ¸¿± ªÉ¡ç¢ ¨µ¢©¯
²¿±¸¯¸¨ ¸ªÉ¥²Â¶ £µØå À¥°ª°
£¤ª²Â¶´±²¨¶¯ ²¹±¯¥¨
à ´ ¨¸³ ª¨± ¸§¤É.

²¨§° ––Û £±É±¥²´¯ ÔÀ±»Â Àµ¸°´°. ª¤¶¯ £À° ¦¯ ¦É¯ ¦É¯


ÔÀ±»Â´ ©Áɱ ¿Á¨¢.

¾»ÂËá©° A £É¡¥É £±É±¥²´¶¯ Àµ¸°¶²


¯ ¶¯ ²Á¯¿Á¯
ÔÀ±»Â´´°. ²¨´ ´ˆ´ˆ ªÕ ¶†É¥Â¤¶á¨³ ÔÀ²´±¯Âá É¥
¶°´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 9


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

À°É«
¯ ¥à ²¿±É¯©¯ ÔÀ±»Â´ ²• ²¨´ £À³ À°¶¯¸Ò¥
²¹±¯¥¨
à ´ ¨¸ ª¨± ¤¶á¨³ ÔÀɱ̲•.

²³É¯©¯ ²¿±É¯©¯ ÔÀ±»Â´ ²•. ²¨´ ¨Â°¶¯ £À³ À̶É


µ¤½©³§¶³ £µÚå £Â´¶¯ §± £É¡¥¤ Á¿±ªá¨³ ÔÀɱ̲•.

¹¯²¥àˆ ÔÀ±»Â´, ÔÀ±»Â É°§°À´É¯ ²¹±¯¥¨


à ´ ¨¸ ¦É³
²Â±¶¢ ɰ̨ ©ß§± ÔÀɱ̲•.

–Û±¶ ²¿±¸¯¸¨ (Command Button), ²¹±¯¥¨


à ´ ¨¸
´ˆ´ˆ –Û±¶ É°Ë´±¸¯¨É ɰ̨ ©ß§± ÔÀɱ̲•.

²«É¯ ²¿±É¯©¯ ÔÀ±»Â´ ²¹±¯¥¨


à ´ ¨¸ £¤¸° ¦Éɳ ²µ¶©¯
²¸¯Ìˆ É°§°À´É¯ ɥ¤¶á¨ ©ß§± ð±–¸ É¥´°.

×À¯Ú¶¯ ¿³¶¯ ÔÀ±»Â´ ²¹±¯¥¨


à ²´¯ ¨¸ ²µ¶©¯Éˆ
É°§°À´É°¶¯ ¦Éɯ ²¸±¯¥±Â¤¶á¨ ©ª§± ð±–¸ É¥´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 10


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²É±ˆ²¿±¯ ²¿±É¯©¯ ÔÀ±»Â´, ²¨´ª ²¹±¯¥¨


à ´ ¨¸ £¤¸°
Á´°©¸
¯ ¡µÉ°¶¯ ²¸±¥±Â¤¶áˆµÁ°¶¯ ¦Éɯ ²¸±¥±Â¤¶á¨³ £µØå
£µ©¯é±²•ªá ð±–¸ É¥´°.

Á°©˜
¯ ²¿±É¯©¯ ÔÀ±»Â´, ²¨´ª ²¹±¯¥¨
à ²´ ¨¸ £¤¸°
Á´°©¸
¯ ¡µÉ°. ¦´°¶¯ ²¸±¥± ¤¶áˆ ©ß§± ²´±È¶á.

©¯²É˱Á
¯ ¯ ¿±¥à©,¯ ²¨µ± ¨Â°¶¯ ´†´†ªÕ ¦§±²¨§±
ɰ̨³ £½¢ µ¤ö ɰ̨³ µ¤¶° ªÕ ©ª§± ð±–¸ É¥´°.

³´°¨¥à ÔÀ±»Â´, ²¨´ ´¨É°©° ²ª´É¯ ´ˆ ɱÁ


À˱¶¯¸¥´Éªá ¶¤µ¸ ¶¤µ¸ ɰ̨³ ÔÀ²´±¯Âá ɥ¶°´°.

½¥´°• Á°©™
¯ ²¿±É¯©,¯ ²¨´ ¨Â°¶¯ ÀÌÂçɲ´¯ £¤¸°
½¥´°•©¯ Á¿± ¤¶á¨ ©°ÎÉ¥§¤É.

ö²¥É¯³Ì Á°©˜
¯ ²¿±É¯©¯, ²¨´ ¨Â°¶¯ ÀÌÂçɲ´¯
½¥´°• ¦ÉÉ £¤¸° ²Â±¶¢ (Folders) Á¿± ¤¶á¨ ©°ÎÉ¥´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 11


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¹´°Á¯ Á°©˜
¯ ²¿±É¯©¯ ÔÀ±»Â´, ²¨´ ¨Â°¶¯ ÀÌÂçɲ´¯
²Â±¶¢µÉ £¤¸° ¹´°Á©
¯ ¯ Á¿±Â¤¶á¨³ ÔÀɱ̲•.

¾²ˆ¼¯ ÔÀ±»Â´, ²¹±¯¥¨


à ´³ À°¶¸
¯ Ò¥´É¯ ª¨±Â¤¶á¨
©ß§± ÔÀɱ̲•.

²½³± ÔÀ±»Â´, ²¹±¯¥¨


à ³ §± ²µ¶¸¯ ¿±§°¥ ª¸¯¸
À±ª´É¯ (Database) ©ˆ¿¶¯ª ɰ̨ ©ß§± ÔÀɱ̲µ´°.

1. –¶¯²½±¯©¯ ²¹±¯¥¨
à ´ (Windows Form)

¾§¸ ¥ÕÀ²´¶¯ ²¹±¯¥¨


à ´É¯ ª¤É¯²• ²¨´ ¨¸ ––ª ÔÀ±»Â
ª¤†²¨¶¯ §± ¦¯µ± ²É¯¸¶´ ɰ̲¨¶¯ £À³ £µØå À̶É
µ¤½©³§¶ ¶°¥¨
à ±ç´ É¥Â¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 12


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

2. ²À˱²¯ ¼¯É˜
¯ ¼²¶¯Á´ (Project Window)

¾§¸ ¥ÕÀ´ ¨Â°¶¯ ²À˱²


¯ ¼É¯˜ ¼²¶¯Á´É¯ ª¤É¯²•.
²¨´ ¸¡Á µå±À⸰´ (Project ) §± ¦´³ ©ˆ¿¶¯ª £²¶É¡¸¯
¹´°Á¯ £½»Â¡²•. ¾§¸ ¥ÕÀ²´¯ Form1 ´¶¢ ²¨¨ µå±À⸰²´¯
£¤¸° ²¹±¥à¨´É°. Project1 ´¶¢ µå±À⸰²´¯ ¶¨²•. ²¨¨¸
½¿Á¯ ɯÁ°É¯ (²ªµ¥É¯ ɯÁ°É¯ ) ɰ̲¨¶¯ £ÈÁ ²¹±¯¥à¨´ ²§±¯
¦§° ªÉ¯µ¶ £´°¸¨´ Á¿±Â¸ §¤É. ¸µª ²¨§° ¾§Á
²ÉÁµ²¥à £¤¸° £´°É¶ ²ª²É¶¯ ÀÁ¨¢ £´°É¶´ ɯÁÉ
° ¯ É°¥¨
à
¨Â°¶¯ ²É±¯õ ¼²¶¯Á´/²É¯¸¶ ¼²¶¯Á´ Á¿±Â¸ §¤É. £²¶É¯
£´°É¶´ ¨¸ ɯÁ°É¯ ɰ̨ ¨Â°¶¯ ²¹±¯¥¨
à ´ Á¿±Â¸ §¤É.

µå±À⸰´É¯ ©Õªá £¤¸° £±É±¥´.


µå±À⸰´É¯ ´¶¢ –Ú¢µÁ¯ ²›©°É¯ ÀÌÂçÉ µ¤½©³§¶É¯
²É¯¸¶´ É°¬¨³ £µØå ª¸¯¸ §± ²Â±¶¢ £¤¸¡Á¸¯ µ¶
²Â±¶¢µÉ° ²¨¨ ²Â±¶¢µ ¸¡Á ¦¨ µå±À⸰´ ©ß§± ¿±–¸±

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 13


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

É¥ç ɶ¯²³Ë±Á
¯ (¯ Controls) µÁ ²´±¨¢µ¶¯ (References)
²µ´° ²¨¨ µå±À⸰´§° ¶¨ ©±¨±¶å²´¶¯ .vbp ¶¤¨¸° ª°Â¡µÉ¯
©¨Â Àµ¸°´°. Ôȧ¥ç µØ²´¶¯ Project1.vbp ²Á© ª¤É¯–
´ §¤É°´. ²¨¨ ²Â±¶¢µ ¸¡Á ¦´³ £ÈÁ ɶ¯²³Ë±Á
¯ µÁ³
£¨¸¥µ ¦´ §± ¿¤ª° ²¹±¯¥¨
à , ɯÁ±©¯ ²¨±½¢´¢Á, ©ˆ¨¸
²¨±½¢´¢Á §± ׿ –©°¶¯ ¶°Àªµ¢ ɶ¯²³Ë±Á
¯ µÁ –©¯¸¥ª Àµ¸°´°.
¦¨Â°¶¯ ¦¨ µå±À⸰´³ £ÈÁ ¦¨ ²Â±¶¢ §Î¶±²Â¶ ¦µ±
Load ɥ¤¶á¨ ©ª§± ÔÀɱ̲µ´°. µå±À⸰´É³ µ¥àÂ
É°§°À´É³ £´¸¯ ²Â±¶¢ À¤µ¸°´ §¤É°²µ´°. ¦¯µ±´°¶¯ ©¨§¥É¯
À§¸ À̪° ª¤É¯–´ §¤É°´.

Form Module
µå±À⸰´ ÀÌ妃 ¸°¥´ ¨¸ ª°©µ
¯ ¶ ²É±³© ²•. ²¨´ .frm
¶¤¨¸° ª°Âµ
¡ ©§°¸ ²Â±¶¢ ²•. ²¨´ ¸¡Á ²¨´³ ¦É¯É¥ £¤¸°
ɶ¯²³Ë±Á
¯ µÁ –©¯¸¥ §± ¦µ±²´¯ µ¸¯É†µÁ –©¯¸¥ª ²¨¨
²¹±¯¥¨²´¯ µ¸¯É† ¨Á –©¯¸¥ª £½»Â¡²µ´°. ¸µ ª ²¨´ £À³
£µØå À̪° ²É¯¸¶´ ɥ¸ §¤É. ²¨§° ––Û ¾²µ¶¯˜
Àµ¸°¶ £¸¥ ¦µ± ¨¸ ²É¯¸¶´ ɰ̨ ¨Â°¶¯ À§©¢²µ¶¯
ÀÌÂçÉ µ¤½©³§¶¯ ²Â±½¶Â± ¸ §¤É.

Class Module
²¨¨ ²¨±½¢´¢Á´ ÀÌ妃 µ¤½©³§¶ Û±µ¶´ µ¶
£µ©¯é±²•ªá ÀÌÂçÉ ¸°¥²´¯ ª°©²
¯ ¶²•. ¶¨¢¸¯ ²¨´ª
²¹±¯¥¨´ £±É±¥´³ ²É¯¸¶´ ɥ¸ §¤É ²¹±¯¥¨
à ´É¯ ²¨¶¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 14


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° –Ú±Á ¾²µ¶¯˜ Âç¶É¯ ²¶±Àµ¸°´°. ¶¨¢¸¯ ²¨¨


²¨±½¢´¢Á´ ©ß§± ׿³ £µØå À̪° ¾²µ¶¯³ ©±È ¸
§¤É°²µ´°. ²¨§° .cls ´¶ ª°Â¡µ Àµ¸°´°. ²¨§° µ¤ªÂ¸¯ ɨ
¶ˆ ²¨´ ²´±È²Â¶ ׿³ ²¨¨ Class ¦É§° Objects
¶°¥¨
à ±ç´ É°Ì²ˆ §¤É°´±µ Á¤Þ¨´°. Objects ¶°¥¨
à ±ç´
¨Â°¶¯ ׿³ ²É¯¸¶´ µ½± À§©¢²µ¶¯ ɥ¸ §¤É° µ¶ £¸¥
¦§° £¤¸° ɱ¥à´´¶¯ ¶¤µ¶ ¶¤µ¸ ɰ̨ ©ß§± ¶¤µ¸ ¶¤µ¸¸¯
²É¯¸¶´ ɰ̨ £µÚå ²¶±²•.

Standard Module
©°Í¨ ²À±Î –«Áå´¶¯ (²•Ì´¿Á¯©)¯ , ¶°´¸ (Constant) ©›
¥¤™¶ §± ØËḠ(¹¶¯ÉÚ
¯ ¶¯©)¯ ²¨¨ ²¨±½¢´¢Á´ ¨¸ ²É¯¸¶´
ɥ¸ §¤É° ²µ´°. ²ˆµ± £²¶É¡¸¯ ²Â±¶¢ ¨Â°¶¯ £µØå À̪°
Call ɥ¤¶á²ˆ §¤É°´±µ £¤¸. ¦²©¯ –¨ ©ß§± ²¨¨
©°´ÍªÕ Public ²Á© ¶ˆ É¥´¢¸¡ ²µ´°. ²¨¨ ²¨±½¢´¢Á´³
.bas ´¶ ª°Â¡µ Àµ¸°´°.

Control Module
–Ú¢µÁ¯ ²›©°É¯ §á ––Û É¶¯²³Ë±Á
¯ ¯ Àµ¸°¶ £¸¥ ¦µ± ð±–¸±
É¥ ––Û ¨âÎɱ»Â ¶°¥¨
à ±ç´ É¥Â¸ §¤É ¶¨¢¸¯ ׿³
£µØå ²ª´ ɥ¤¶á¨ ©ß§± ²¨¨ ɶ¯²³Ë±Á
¯ ¯ À˨±çµ¸¯ ²¶±–
´ §¤É. ¦–³ ׿³ ׿²Â¯ ¨ ɶ¯²³Ë±Á
¯ ¯ ¶°Àªµ±Â¤¶á¨ ©ª§±
–Ú¢µÁ¯ ²›©°É¯ §° À§©¢Éˆ ©À´± ¸°²› ¦²©¯ ɰ̨ ©ß§±
ɶ¯²³Ë±Á
¯ ²¨±½¢´¢Á ð±–¸± É¥´°. ²¨¨ ɶ¯²³Ë±Á
¯ ²¨±½¢´¢Á

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 15


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£µÚå À̪° ²É¯¸¶´ ɥ¤¶á¨ ¨Â°¶¯ ¸¨¶¯³ £µÚå À̪°


ɶ¯²³Ë±Á
¯ ¶°¥¨
à ±ç´ É°Ì²ˆ §¤É°´±µ £¤¸. ²¨´ .ctl ¶¨
ª°Â¡µ ´¢¸¡µ ª¤É¯²µ´°.

Recourse Files
²¨´³ ׿³ £µÚØ Þ˜¨¤À¯©¯ ²Â±¶¢ ²§±¯ £íÚ¥ (Text)
£¤¸¡Á¸¯ ɥ¸ §¤É. À©¢µ ÀÌÂçÉ ²É¯¸¶ ¨Â°¶¯ À©¢µ
²¨¨ £íÚ¥ ²§±¯ Þ˜¨¤À¯©¯ Á¿±Â¸§¤É. ²¨¨ ²Â±¶¢µ§°
¶¨§° .res ¶¤¨¤¸° ª°Â¡µ Àµ¸°´°.

5. ²À˱À˜ ¼²¶¯Á´. (Property Window)


ɶ¯²³Ë±Á
¯ µÁ ¾²µ¶¯˜ ²À˱©áö´¥ ²É¯¸¶´³ À˸¨ ©¨§¥
ɶ¯²³Ë±Á
¯ ÔÀ±»Â µÁ³ £Â´¶¯ ª°´´¢¸¡´. ²ˆ©ß§± ²À˱À™
¼²¶¯Á´ ð±–¸ É¥´°.

²¹±¯¥¨
à ´ ²§±¯ ¦´ ¨¸ £¤¸°
´ˆÉ°©° ÔÀ±»Â´É ©¤É¤©¯¨
²µ¶©¯ ɰ̨³ ÔÀ²´±¯Âáɥ¶á
²¨§° ¦¨ ÔÀ±»Â´§° ²À˱Àš
²À¶¯µ¶ £¸¥ ¦µ±²´¯ £Â´¶¯ ª
²À¶¯µ´°. ²¨¨ £Â´¶¯ ²µ¶©¯
ɰ̨ ¨Â°¶¯ ÔÀ±»Â´ £µØå
À̪° ©±É©± ¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 16


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¥¤À²´¯¶¯ ׿³ ²¹±¯¥¨


à ´É ²À˱À™ ¼²¶¯Á´ ²À¶¯µ´° ׿³
²¨§° Caption ²À˱À™´ ɤ¨¸° ¶¨É³ ¶ˆÉ¥Â¸ §¤É.
²¨§° Ô½²É±³²©¯ ²À¶¯µ¶¯²¶¯ £ÈÁ ɶ¯²³Ë±Á
¯ ´²•.
´³²É±³©°¶¯ ªÉ¡ç¢À©°¶¯ ²À˱À
¯ ™²´¯ ¶¨ª µˆÀ©°¶¯ ¦´¦ ª¨±
£¤¸° £Â´ª ²À¶¯¶¢ˆ²É²¥à ²¨§° £Â´¶¯ ³´°À¯ É°¬¨ ¨Â°¶¯
²§±¯ Á´°©¸
¯ ¡µÉ°¶¯ ²¸±¯¥±Â¤¶á¨ ¨Â°¶¯ ²µ¶©¯ ɥ¸ §¤É.

Ôȧ¥ç µØ²´¶¯ Caption ²À˱À™´ ²µ¶©¯É°Ì²ˆªá


Caption ¦É§° £¤¸° Form1 ´¶¯¶ highlight É¥ ¸¨¶¯³
ɤ¨¸° ¶¨É¯ ³´°À¯ ɰ̨ ¨Â°¶¯ ²µ¶©¯ÉÁ §¤É. ¦¯ µ²Â¯¨
׿³ ²¹±¯¥¨
à ²´¯ ²À¶¢¨ (appearance) 3D ©°³ flat µÁ³
²µ¶©¯É¥ ¸ §¤É. ¸µª ¦§° foreground §±
background À±³ ²µ¶©¯ÉÁ §¤É. ¸µª font type
(£É¡¥¤µÁ ©¯µð±µ´) font size (£É¡¥¤µÁ À˨±ç´) µ¤¶°²ª¯
²µ¶©¯É¥Â¸ §¤É.

¸µª ²À˱À™¶¯ ÀÌ妃 µ¤½©³§¶ Û±µ¶´ µ¶ £µ©¯é±²•ªá


––Û É±¥àå´¶¯ ɰ̨ ©ß§± ²µ¶©¯É¥Â¸ §¤É µ¥àç´,
§¤½´, §± animation µ¤¶° ª¤ ²•. Ôȧ¥ç µØ²´¶¯ À§¸
²É¯¸´¶¯ ²¹±¯¥à¨²´¯ À±³ ¥¸¡ À¤§¤´³ ¨±¥¤ É¥´°. VB
µ¥àç´¶¯ ª¤É¯—¨ ©ß§± Hexadecimal ª§©²´¯ À±ª²´¯
©»èå±µÁ°¶¯ ªÉ¯µ´°. ׿³ µ¥àç µÁ £Â´¶¯ ForeColor §±
BackColor ¨Â°¶¯ ¿Á±Â¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 17


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub Form_Load()


Form1.Show
Form1.BackColor = &H000000FF&
End Sub

¸µ¸¯ Ôȧ¥ç´É¯¶ˆ ɶ¯²³Ë±Á


¯ ²´¯ §¤½´ Û±µ¶´ µ¶
£µ©¯¸±²•ªá ²µ¶©¯É°Ì¨ ²•. ¦§° ²É¯¸¶´ À§¸°¶¯ ª¤É¯²•
²¨¨ ²É¯¸¶²´¶¯ §¤½´É¯ µâ¸¯¸´É¯ ¿µ³ Û±µ¶´ µ¶
£µ©¯¸±²•ªá À̵¥à¸¶´ É¥´°.

Private Sub Form_Load()


Shape1.Shape = 3
End Sub

Objects ²À˱À™ µÁ³ £Â´¶¯ Á¿±ªá´´¢¸¡ £±É±¥´ §±


²µÁ±µ ª¤¶Â¤¶á¨ ¾¸±¨µ¤ªÂ¸¯ ¿µ ¨¨ ª¤É¯–¨³ ɤ¨¸°
¨É¯¶°©±ª ´¸¯ ¦´ ¨Â°¶¯ ׿³ ¾¸± ²§±ß ÀÌÂçÉ
µ¤½©³§¶¯ ²É¯¸¶´ É°¬¨ ©ß§± ÔÀÉ±Ì µ¶ ¿¤–¶°.
¦¨¶°©± ¨¨ ׿³ ²¨¨ ɶ¯²³Ë±Á
¯ Objects ©¨ì µ¤ö
²•Á±µÉ¯ ¸ É¥ ¾¸± ²§±ß°¶¯ ¦µ± ÀË¡ç ɰ̨ ¾¸±
²´±¯Â岕.

²¨§°ªá ªá¥Â
à µØ²´¶¯ ²À˱À™©¯ µÁ³ £Â´¶¯ ²´ªá¨ ¤¶
©±É«Ü± É°¬¨ ¿Á± ²À±¥¸¯¸¡ ²¶±²• ¶¨¢¸¯ ¨¨ É¥¤ç¢
É°§°À´É¯ ¤¶ ׿²Â¯ £µÛ±¶´ ²´±¨¢ ɰ̨³ ɤ¨¤¸¯²¸†.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 18


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

• Caption ²À˱À™´ £¶°µ±¥àå²´¶¯¨ £Â´¶¯ ²´ª°´


´¢¸¡²•. ¦–³ ð±–¸ É¥¶¯¶± ¦¨ –Û±¶²´¶¯ É°¬¨³
¿Á±²À±¥¸¯¸¡ µ¶ ²ª¯ ¤¶ À¤§¤ª°Á° £µ²¿±¯Û´É¯ ¸
§¤É° ²µ´°. Ôȧ¥ç µØ²´¶¯ Âç¶ ´¸¯¸Ë´É £¤¸°
–Û±¶ ²¿±¸¯¸ˆ µÁ £¤¸° + , - , MC , C , MR µ¤¶°
–Û±¶ ª¤É¯–¨ ª¤É¯–´ §¤É°´ ²¨¨ –Û±¶ ²¿±¸¯¸ˆ
²ˆ £±É±¥²´¶¯ £»É¶´ ɰ̨ ¨Â°¶¯ ¦´ ²´±È¤¶áˆ
¾¸± À§©¢²•.

• ²¿±²§±¯ ÀÌÂçÉ ²É¯¸¶´ É¥¶¯¶¶¯ ²¨¨ ɶ¯²³Ë±Á


¯
µÁ ¶¨³ ´ˆÉ°©° £¥àé´É¯ ²Â¶ ²ª¶ ¶¨É¯ ð±–¸
É¥´° ¦¨Â°¶¯ ²¨¨ ɶ¯²³Ë±Á
¯ À¤§¤ª°Á°µ ¦É°²¶É³
²µ¶©¯µ §Î¶±Â¸ §¤É. ¦µ²Â¯¨ ÀÌÂçÉ
²É¯¸¶²´¯ £¤¸° µ¤¥ª° ¶°µ¥ª° É°¬¨ ©ß§± ´±²ˆ ª°
²¨´ ¨Â°¶¯ ¦¨ ɱ¥à´´ ¾¸±¨ À§©¢ ²µ´°.
• ¸µ¸¯ ¦É¯ É¥¤çɯ ¶ˆ ׿²Â¯ ɶ¯²³Ë±Á
¯ enable É¥
£¤¸°ª ²¶±¨¤¸°ª ´¶¯¶ ²•.
• £µ©±¶ µØ²´¶¯ ׿³ ɶ¯²³Ë±Á
¯ ÀÌÂçÉ µ¤½
©³§¶ Û±µ¶´ µ¶ £µ©¯¸±²•ªá visible (²À²¶¶)
²§±¯ invisible (²¶±²À²¶¶) £±É±¥´³ À¸¯É°Ì¨
²¶±¨¤¸° ¶ˆ ׿²Â¯ ɶ¯²³Ë±Á
¯ ²À¶á¨³ ²§±¯
²¶±²À¶á¨³ £µØå µ¶¯²¶¯ É¡¨¶ £µ©¯é±µÉªáª
´¶¯¶²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 19


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

6. ²Á¯£µ¢˜ ¼²¶¯Á´ (Layout Window)


Window)

²¨´ ¸¡Á ÀÌÂçÉ ¸°¥²´¯ ÀÌÂçÉ µ¤½©³§¶ Û±µ¶´


µ¶–³ ²¹±¯¥¨
à ª°©µ
¯ ¶ £±É±¥´ ²À¶¯µ´°. ¦µ± ¨¸ ¨µ¢©´
ɯÁ°ÉÉ
¯ ¥ £¤ª²Â¶´±²¨¶¯ ª°©–
¯ ¨³ £µØå ©¯é±¶²´¯ ¸¿±
¸ §¤É.
²ªµ¶ ÀÌ−²Ü¯ª´ - ÔÀ±»Â ¤¶ µ¤ö Î¥³¸¯.
²¨¨ ²¼¯ª²´¶¯ £À° –¶¯²½±¯©¯ ÔÀ±»Â ¤¶ µ¤öÎ¥³¸¯ §È¥¨¢.

–¶¯²½±¯©¯ ²¹±¯
²¹±¯¥¨
à (Windows Form)
¨¢Á°¶¨
¯ –¶¯²½±¯©¯ ²¹±¯¥¨
à (Windows Form) ¤¶
£À° ¿Á¨¢. –¶¯²½±¯©¯ §° ©°´ ¨ ÔÀ±»Â ¸¿±Â¶¯¶± ÔÀ±»Â´
–¶¯²½±¯©¯ ²¹±¯¥¨
à ²•. ²¨´ ¨¸ –Û±¶ ²¿±¸¯¸ˆ (Command
Buttons), ²³É¯©¯ ²¿±É¯©, ²Á¯¿Á µ¤¶° ––Û ªÕ ¸¿±Â¸
§¤É. –¶¯²½±¯©¯ ²¹±¯¥¨
à ¸¯ÉÁ À§¸ ª¤É¯²µ¶ £±É±¥´³
²¿È ª¤É¯–´ §¤É°´.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 20


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

4
5 6
2 3
1
7

1. ɶ¯²³Ë±Á
¯ ¯ ²¨¶Ó (Control Menu)
2. ¨±¸âɱµ (Caption/Title)
3. ³´°³Á¯ ¿±¥à (Title Bar)
4. †¶°¨´°©¯ ²¿±¸¯¸¨ (Minimize Button)
5. ¨¤É¯©°¨´°©¯ ²¿±¸¯¸¨ (Maximize Button)
6. ɯ²Á±¯©¯ ²¿±¸¯¸¨ (Close Button)
7. ¨±´°ˆ (Boder)

¨±´°ˆ (Boder)
²¹±¯¨²´¯ ¨±´°¨ ¨µ¢©¯ ¦É¸¿± £¤ªá²¨¶¯ ²¨§° ª°Â ÀòÁ
²µ¶©¯ É¥ §¤É. Û±µ¶´ µ¶ £µ©¯é±²•ªá ²¨´ ¶°´¸
ɥ¸ §¤É. ¦¶ˆ ²µ¶©¯ ²¶±µ¶ ²Á© ©±È¸ §¤É.
²¨©ª§± ²À˱À™ ¼²¶¯Á²´¯ BoderStyle ´¶ ²À˱À˜ ¦É
²´±È¸ §¤É. ²¨´ 1 - Fixed Single ²§±¯ 3 - Fixed
Dialog ´¶ ¦µ±´°¶¯ ¦Éɯ ²´ªá²¨¶¯ ¶°´¸ ɰ̨ ɰ̨³
§¤É°²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 21


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

³´°³Á¯ ¿±¥à (Title Bar)


³´°³Á¯ ¿±¥à ¦É§° ¨¤É¯©°¨´°©,¯ †¶°¨´°©¯ §± ɯ²Á±¯©¯ ´¶
²¿±¸¯¸ˆ Àµ¸°´°. ²¨µ±´°¶¯ ²¹±¯¥¨
à ´ –رÁ ɰ̨, É¡½±É°Ì¨
§± ¾µ¸¯ ɰ̨ ɥ¸ §¤É. ¸µª ²¨µ±´°¶¯ ´¨É¯ ׿³ ¾µ¸¯
ɰ̨³ £µØå ¶ˆ ²À˱À™ ¼²¶¯Á²´¯ MaxButton ¦É
False É°¬¨ ¨Â°¶¯ ¨¤É¯©°¨´°©¯ ²¿±¸¯¸¨ª MinButton ¦É
False ɰ̨ ¨Â°¶¯ †¶°¨´°©¯ ²¿±¸¯¸¨ª ¾µ¸¯ ɥ¸ §¤É.
¸µª ControlBox False ɰ̨ ¨Â°¶¯ ²¿±¸¯¸ˆ 3 ¨ª
¾µ¸¯ÉÁ §¤É.

¨±¸âɱµ (Caption)
²¨´ ³´°³Á¯ ¿±¥à ¦²É§° £¤¸° ¸µ¸¯ £´°¸¨´É¯²•. ³´°³Á¯
¿±¥à¦É§° ´¨É¯ Á°´± ª¤É¯–¨ ©ß§± ²¨´ ²´±ÈÂ¶á ²ˆ ©ß§±
Caption ²À˱À™ ¦´ ð±–¸ É¥´°. ²¨§° ªá Caption ²À˱À™
¦É §° £µØå ²ª¯ Á°–¨ ¨Â°¶¯ ²µ¶©¯É¥Â¸ §¤É. ²¨¨Â°¶¯
²¹±¯¥¨
à ´ ð±–¸± É¥¶ ɱ¥ç´ §¢½¢µ ª¤É¯–¨³ À¢ µ¶.

¿¤É¯ ÉÁ¥à (BackColor) ²À˱À™´.


²¨¨ ²À˱À™ ¦É¨Â°¶¯ ²¹±¯¥¨
à ²´¯ À±³ ¨±¥¤ ɥ¸ §¤É
²À˱À™ ¼²¶¯Á²´¯ ²¨¨ ²À˱À™´ §° ɯÁ°É¯ É¥–³ À±³ £¤¸°
£´°¸¨ Á°©™
¯ ¦Éɯ ²À¶¯µ¶¢ Á¿´° ²¨´°¶¯ ¦Éɯ ²¸±¥±Â¸¯–³
²¹±¯¨²´¯ À±³ ¦¨ À±³³ ²µ¶©¯ ²µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 22


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¶¯ˆ (Name)²À˱À˜´.
²¨¨ ²¹±¯¥¨
à ´§° ¶¨ ªÉ¯µ´° ¦¶ˆ ÀÌÂçÉ µ¤½©³§¶ªá
²¹±¯¥¨
à ´ §Î¶¯µ¶ ¶¨ ²¨¨ ²À˱À™ ¦É§° ªÉ¯µ´°. ²¨§°
©ß§¶¯ É¥ç ¶¨ ²¹±¯¥¨
à ´³ ²´²ª¯.

²¹±¶¯˜ (Font) ²À˱À™´.


²¹±¯¥¨
à ²´¯ Áá–¨³ ð±–¸ µ¶ £É¡¥¤ µ¥à´ ²¨¨ ²À˱À™ ¦É
¨Â°¶¯ ªÉ¯µ´°. ²¨§° £Â £¤¸° ²¿±¸¯¸¨ ¦Þ²¨¶¯ £É¡¥¤ £¤¸°
ɵ¢ µÉ¯ –µâ¸¯¸²•. ²¨¨Â°¶¯ ¦´ £µØå À̪° ²µ¶©¯
ɥ¸ §¤É. ²¨¨Â°¶¯ £É¡¥¤µÁ –رÁ¸¯µ´ §± £É¡¥¤
²µ¶©¯É¥Â¸ §¤É.

²¹±¯ÉÁ¥à (ForeColor) ²À˱À™´.


²¨¨Â°¶¯ ²¹±¯¨´ ¨¸ Á°´¶ £É¡¥¤ µÁ À¤§¤´ ²µ¶©¯ ɰ̨³
§¤É°´±µÁ¤²› ²¨¨ ²À˱À™ ¦É ¨¸ ɯÁ°É¯ ÉÁ –³ À±³ ©§°¸
Á°©˜
¯ ¦Éɯ Á¤²› £µØå À¤§¤´ ²¸±¥±Â¸¯–³ ¦¨ À±™¶¯
£É¡¥¤ Á°´²µ´°.

£´°É¶ (Icon) ²À˱À™´.


²¨¨Â°¶¯ ²¹±¯¥à¨²´¯ µˆ À© £¤¸° £´°É¶´ ²µ¶©¯ ɥ¸
§¤É. ²¨¨ ²À˱À™ ¦É§° ªÉ¡¶¢À© £¤¸° ²¿±¸¯¸¨ ¦¿Ó–³
ɵ¢ÍµÉ¯ –µâ¸¯¸ µ¶ £¸¥ ¦´ ¨Â°¶¯ À̶ɲ´¯ £ÈÁ
²Â±¶¢µ³ ²Â±©¯ ¦§° £¤¸° £´°É¶´É¯ ²¸±¯¥±Â¤¶á²¨¶¯ ²¨´³
£´°É¶´É¯ Á¿±ª°´ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 23


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ShowInTaskbar ²À˱À™´.
²¨¨ ²À˱À™´ ¸¯ÉÁ ¦´ True ²§±¯ False ɥ¸ §¤É
¦¨Â°¶¯ ²¹±¯¥à¨´ ³±©¯É¿
¯ ±¥à ¦É§° ²À¶¯–¨ ²§±¯ ²¶±²À¶¯—¨
É¥´°. ¦¶ˆ À̶ɲ´¯ À§¸ £¤¸° ¸á¥¤²• ²À¶¯–¨ ²§±¯
²¶±²À¶¯–¨ ¸á¥¶´É¥´°.

WindowState ²À˱À™´.
²¨´ ¨Â°¶¯ ²¹±¯¥à¨´ ÀÌ妃 ¸°¥²´¯ ª°©µ
¯ ¶–³ –رÁ ɰ̨
É¡½±É°Ì¨ ÉÁ§¤É ¦´³ 1 - Maximized ²§±¯ 2 -
Minimized Á¿±ªá¨ ¨Â°¶¯ –رÁ–¨ ²§±¯ É¡½±–¨
ɥ¸§¤¸.

¦ˆ.ö.£´°. «´°Áõ
¯ (MdiChild) ²À˱À™´.
MDI ²¹±¯¥¨
à ð±–¸ É¥´° ¶ˆ ²¨¨ ²À˱À™ ¦É True ²Á©
²´ªá²¨¶¯ ²¨¨ ²¹±¯¥à¨´ MDI ²¹±¯¨´ ¸¡Á³ ª¨±Â¸ §¤É.

À°É«
¯ ¥à (Picture) ²À˱À™´.
²¨¨Â°¶¯ ²¹±¯¥¨
à ´³ À°¶¸
¯ Ò¥´É¯ ª¨±Â¸ §¤¸ ²¨§° ªÉ¡ç¢À©
£¤¸° ²¿±¸¯¸¨ ¦Þ²¨¶¯ ɵ¢ÍµÉ¯ –µâ¸¯¸ µ¶ £¸¥ ¦´¨Â°¶¯
À̶ɲ´¯ £¤¸° À°¶¸
¯ Ò¥´¸¯ Á¿±ªá²¨¶¯ ¦´ ²¹±¯¥¨
à ³´
ª¨±Â¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 24


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¹±¯¥¨
à ³²´¯ ¾²µ¶¯˜ (Events)
¾²µ¶¯³´É¯ ´¶¢ ´ˆÉ°©° ©°Î–¨É¯ ²¹±¯¨´ ²§±¯ £ÈÁ ÔÀ±»Â´
¨¸ ©°Î—¨ ²•. ²¨–³ ¾²µ¶¯˜ ¨¸ £À³ ´ˆ ´ˆ ²É¯¸¶´
ɰ̈ ɥ¸§¤É°²µ´°. ¦¶ˆ ¦¨ ¾²µ¶¯³´ ©°Îµ¶–³ £À³
´ˆ É°©° ɱ¥å´É¯ ©°ÎÉÁ §¤É.

²¹±¯¥¨
à ´ ¨¸ ²ªÀ±¥É¯ ɯÁ°É¯ ÉÁ –³ ²É¯¸¶ ¼²¶¯Á´
(Code Window) ¦É –µâ¸¯¸ ²µ´°. ²¨§° ¾§Á°¶¨
¯ µˆÀ©
£ÈÁ ÔÀ±»Â´ §± ªÉ¡ç¢ À© ¾²µ¶¯³´ ª¤É¯²µ´°. ²¨§°
µˆÀ© Form ¸¿±²Â¶ ªÉ¡¶¢ À© ²µ¶©¯ ɰ̲¨¶¯ £ÈÁ
¾²µ¶¯³´ ²É¯¸¶ ¼²¶¯Á´ ¨¸³ Á¿± ¸ §¤É°´.

²Á±¯ö (Load) ¾²µ¶¯³´.


²¨´ ²¹±¯¥¨
à ´ ¨¢Á°¶¯¨ ¸°¥´³ À¤†¶á²ˆªá ©°Î²µ´° ¦–³ ´ˆ
Éá´±µÉ¯ ©°Îɰ̨³ £¤¸¯¶¨ ²¨¨ ¾²µ¶¯³²´¯ ²É¯¸¶´ ɰ̨
¨Â°¶¯ ¦´ ©°Îɥ¸ §¤É.

£¶¯²Á±¯õ (Unload) ¾²µ¶¯³´.


²¨´ ²¹±¯¥¨
à ´ ¸°¥²´¶¯ ¾µ¸¯µ¶–³ ©°Î²µ´° ²¨§°ªá
©°ÎÉ°¬¨³ £¤¸° ÉË°´± ²¨¸¡Á ²É¯¸¶´ ÉÁ§¤É.

¨µ¢©¯ ½µ¢¶¯ (MouseDown) ¾²µ¶¯³´.


²¹±¯¥¨
à ´ ¨¸ ¨µ¢©´ ¸ªÉÁ–³ ²¨ ¾²µ¶¯³´ ©°Î²µ´°. ¦–³
´ˆ ÉË°´±µÉ¯ ©°Î–´ ´¢¸¡¶ˆ ²¨§° ¦´ ²É¯¸¶´ ÉÁ ´¢¸¡ ²µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 25


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¨µ¢©¯ £À¯ (MouseUp) ¾²µ¶¯³´


²¹±¯¥¨
à ´ ¨¸ ¸ªÉ¥£¤¸° ¨µ¢©´ £¸§¤Ì–³ ²¨¨ ¾²µ¶¯³´
ÉË°´±¸¯¨É ²µ´°.

ɯÁ°É¯ (Click) ¾²µ¶¯³´


²¹±¯¥¨
à ´ ¨¸ ¨µ¢©´ ɯÁ°É¯ ÉÁ –³ ²¨¨ ¾²µ¶¯³´
ÉË°´±¸¯¨É ²µ´°.

½¿Á¯ ɯÁ°É¯ (Double Click) ¾²µ¶¯³´.


²¹±¯¥¨
à ´ ¨¸ ¨µ¢©§ ²ªµ¥É¯ ɯÁ°É¯ ÉÁ –³ ²¨¨ ¾²µ¶¯³´
ÉË°´±¸¯¨É ²µ´°. ²¨´ DblClick ²Á© ªÉ¯µ± £¤¸.

Éá ½µ¢¶¯ (KeyDown) ¾²µ¶¯³´.


²¹±¯¥¨
à ´ ¨¸ ´¸¡¥¤ À¢µ¥¤²• ´¸¡¥É¯ ¦¿Ó–³ ²¨¨ ¾²µ¶¯³´
ÉË°´±¸¯¨É²µ´°.

Éá £À¯ (KeyUp) ¾²µ¶¯³´.


²¹±¯¥¨
à ²´¯ ׿± £¤¸° ´¸¡¥É¯ ¾§Á³ ¦©²µ¶ –³ ¦¶ˆ
£¸§Ì¶ –³ ²¨´ ÉË°´±¸¯¨É²•.

Éá ²ÀË©¯ (KeyPress) ¾²µ¶¯³´.


²¹±¯¥¨
à ´ ¨¸ ´¸¡¥É ׿± £¸§¤Ì–³ ²¨´ ÉË°´±¸¯¨É ²µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 26


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨¸¥àõ (Methords)
²¨¸¥àõ ´¶¢ ´ˆÉ°©° ÉË°´± µÁ°´É¯ ©°Îɰ̨ ©ß§± ²É¯¸¶´
É¥ £¤¸° –Û±¶ ÉáÀ´É ¦É¸¡µÉ°. –¶¯²½±¯©¯ ÔÀ±»ÂµÁª
²¨¸¥àõ Àµ¸°´° ¦¯µ± ¨Â°¶¯ £À³ ¦¨ ÔÀ±»ÂµÁ ´ˆ ´ˆªÕ
ɥ¸ §¤É.

§´°õ (Hide) ²¨¸¥à½´.


–¶¯²½±¯©¯ ²¹±¯¥à¨´ ©¤Â–¨ ©ª§± ²´±È¶á.

²Ø±¯ (Show) ²¨¸¥à½´.


–¶¯²½±¯©¯ ²¹±¯¥à¨´ ²À¶¯–¨ ©ª§± ²´±È¶á.

MDI ²¹±¯¥¨
à (Multiple Document Interface)

MDI ²¹±¯¥¨
à ´¶¢ ¸µ¶¯ –²Ø¯Ú ²¹±¯¥ˆ
à –²Ø¯Ú´É°.
²¨§° ªá ¦É¯ ²¹±¯¥¨
à ´É¯ ¦¶ˆ MDI ²¹±¯¥¨
à ´ ¸¡Á £²¶É¯
²¹±¯¥¨
à ²Â±¶¢É¥ §¤É. ¦¶ˆ ¦É ²¹±¯¥¨
à ´É¯ ¸¡Á ¸µ¸¯
²¹±¯¥¨
à É°§°À´É¯ Àµ¸°´°.

MDI ²¹±¯¥¨
à ´É¯ Á¿± ¤¶á¨.
£ ¸¯ ²À˱²
¯ ¼É¯˜ ¦Éɯ File ► New Project ²¸±¯¥±²Â¶
¦´°¶¯ Standard EXE ²¸±¯¥±Â¶¯¶. ²¨§° ¦É¯ ²¹±¯¥¨
à ´É¯
£¤¸° £¸¥ ¦§° Name ²À˱À™´ MDIChild ²Á© ¶ˆ

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 27


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

É¥¶¯¶. ª¤¶¯ ²À˱²¼É¯˜ ¼²¶¯Á´ ¨¸ ¥´°™ ɯÁ°É¯ É¥ ¦´°¶¯


Add ► MDI Form ²¸±¯¥±Â¶¯¶ ²¨§° Name ²À˱À™´
MDIParent ²Á© ¶ˆ É¥¶¯¶.

ª¤¶¯ Project1 ¥´°™ ɯÁ°É¯ É¥ Á¤²¿¶ ²À±ÀÀ¯ ²¨¶Ó ¦²É¶¯


Project 1 Property ²¸±¯¥±Â¶¯¶. Startup Object ´¶
¸¤¶ MDIParent ´¶¯¶ ²¸±¯¥±Â¶¯¶.

ª¤¶¯ MDIChild ²¹±¯¥¨


à ´³ ²Â±©¯ ¦§° MDIChild ²À˱À™
¦É True ²Á© ²¸±¯¥±Â¶¯¶. ª¤¶¯ Tools ► Menu Editor
²¸±¯¥±Â¸¯ –³ À§¸ À̪° ²¨¶Ó ¦ö³¥à ¦É ª¤É¸ §¤É.

²¨§° Caption ²À˱À™ ¦É &File ²Á©ª Name ¦É§°


mnuFile ²Á© ª £¤¸¡Á¸¯ É¥¶¯¶. ¾¶¯À©¢ Next ²¿±¸¯¸¨
׿± Right Arrow ²¿±¸¯¸¨ ɯÁ°É¯ É¥¶¯¶. ¾¶¯À©¢ Menu

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 28


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Editor ¦É§° Caption ¦É³ &New Form §± Name


¦É³ mnuNewForm ²Á© ³´°À¯ É¥¶¯¶. ¾¶¯À©¢ OK
²¿±¸¯¸¨ ɯÁ°É¯ É¥¶¯¶.
ª¤¶¯ ׿³ MDIParent ²¹±¯¥¨
à ²´¯ File ²¨¶Ó ¦É ª¤É°´
§¤É. ¦´ ¨¸ ɯÁ°É¯ É°¬²ˆªá New Form ²¨¶Ó ¦É
–µâ¸¯¸²•. ²¨´ ɯÁ°É¯ ɰ̲¨¶¯ ²É¯¸¶ ¼²¶¯Á´
–µâ¸¯¸²•. ¦§° À§¸ ²Á© ²É¯¸¶´ É¥¶¯¶.

Private Sub mnuNewForm_Click()


Dim frm As New MDIChild
frm.Show
End Sub

µå±À⸰´ (Project) ¦É ²©¯• É¥ ²¨¶Ó ¦²É¶¯ Run ►


Start –Û±¶´ Á¿±²ª¶¯¶. ª¤¶¯ ׿³ ¶µ ²¹±¯¥¨
à –µâ¸¯¸
ɥ¸ §¤É.

²³É¯©¯ ²¿±É¯© (Text Box)


²³É¯©¯ ²¿±É¯©´É°¶¯ ÀÌ妃 µ¤½©³§¶É³ £É¡¥¤
¿Á±Â¤¶°¨³ ²§±¯ £É¡¥¤ Á¿±ªá¨³ À¢Íµ¶. ²¨´ ð±–¸±
É¥¶¯¶± ²¸±¥¸¡¥¤ £¤¸¡Á¸¯ ɰ̨¸¯ ²¸±¥¸¡¥¤ ²À¶¯–¨³¸¯
ð±–¸ É¥´°. ²¨´³ £É¯Ú¥ §± £»É Á¿±ª°´ §¤É° ¶¨¢¸¯
À°¶¸
¯ Ò¥ µ¤¶° ª¤ Á¿±ª°´ ²¶±§¤É ²¨´³ Á¿± ²ª¶ £»É
£Â´¶¯ ¿µ³ À̵¥à¸¶´ ɰ̨ ©ª§± Val(text) ´¶¯¶ ð±–

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 29


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¸ É¥´°. À§¸ ÀÌÂçÉ µ¤½©³§¶ ²¨¨ ²³É¯©¯ ²¿±É¯©


¨Â°¶¯ ª¸¯¸ Á¿± ¤¶á¨ ²À¶¯µ´°.

Private Sub Command1_Click()


txtSum.Text = Val(Text1.Text) + Val(Text2.Text)
End Sub

Text ²À˱À™´.
²¨¨Â°¶¯ ²³É¯©¯ ²¿±É¯©´³ £É¡¥¤ Á¿±ªá¨³ ð±–¸ É¥´°.

²¶¯ˆ (Name) ²À˱À˜´.


²¨§°ªá ÀÌÂçɲ´¯ ²³É¯©¯ ²¿±É¯©´³ ¶¨É¯ Á¿±ªá¨ ©ß§±
²¨¨ ²À˱À™´ ð±–¸ É¥´°.

¦²¶¯¿Á¯ (Enable) ²À˱À™´.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 30


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨¨Â°¶¯ ²³É¯©¯ ²¿±É¯©´³ £É¡¥¤ Á¿±ªá¨³ §¤É° ²§±¯


²¶±§¤É° µ¶ ²Á© ²³É¯©¯ ²¿±É¯©´ ©¤É©°´ §¤É°´. ¦¶ˆ
²¨´ True ÉÁ –³ ²³É¯©¯ ²¿±É¯©´³ £É¡¥¤ £¤¸¡ ɰ̨³
§¤É° µ¶ £¸¥ False ɰ̨ ¨Â°¶¯ ´¸¡¥¤ À¢µ¥¤²µ¶¯ £É¡¥¤
£¤¸¡Á¯ ɰ̲ˆ §¤É°´±µ ¶µ¸°´°.

¨¤É¯©¯ ²Á¶¯¸¯ (MaxLength ) ²À˱À™´.


²¨¨Â°¶¯ ²³É¯©¯ ²¿±É¯©²´¯ ª¤†´§¤É° ÔĄ̀ £É¡¥¤ ¶¶
²ª¶Áª £»É´É³ ©á¨± É¥´°.

¨Á¯™ Á´°¶©
¯ ¯ (MultiLine) ²À˱À™´.
²¨¨ ²À˱À™´ Ture ²§±¯ False ²Á© Á¿±ªá²¨¶¯ ²³É¯©¯
²¿±É¯©´ ¸¡Á ²À¯Á°É᧰À´É³ £É¡¥¤ Á°–²ˆ §¤É°´±µ Á¿±ªá¨
²§±¯ ²¶±ªá¨ ²É²¥à ²¨´ True Éò –³ ²À¯Á°É°§°À´É³
£É¡¥¤ ¦¶¯³¥à ´¸¡¥ £±È¥²´¶¯ Á¿±ª°´ §¤É.

²Á±É¯õ (Locked) ²À˱À™´.


²¨¨Â°¶¯ ²³É¯©¯ ²¿±É¯©´ ²Á±É¯ ɰ̨ɯ ɥ¸ §¤É ¦¶ˆ
¦´³ £É¡¥¤ Á¿±ªá¨³ ²¶±§¤É°²Á© ©É©±Â¸ §¤É. ¦¯ ©ß§±
²¨¨ ²À˱À™´ True É¥ç¢ Á¤²›.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 31


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

©¯²É˱Á
¯ ¯ ¿±¥à©¯ (ScrollBars) ²À±À™´.
²¨¨Â°¶¯ ²³É¯©¯ ²¿±É©²´¯ £¤¸° £É¡¥¤ ¾§Á À§Á ²§±¯ µ¨³
§± ªÉ¡ç³ ²µ¶©¯ ÉÁ §¤É°´ ²¨§° £µ©¯¸± É°§°À´É°.
0 - None
1 - Horizontal (¸°¥©¯ £¸³ ²µ¶©¯ ɰ̨ ©ß§±)
2 - Vertical (©°¥©¯ £¸³ ²µ¶©¯ ɰ̨ ©ß§±)
3 - Both ( ²ªÉ¨ ²µ¶©¯ ɰ̨ ©ß§±)

²¨µ±´°¶¯ ¦Éɯ ²¸±¯¥± ¤¶á¨ ¨Â°¶¯ £µØå²Á© ²µ¶©¯


ɥ¸ §¤É.

SelLenth ²À˱À™´.
²³É¯©¯ ²¿±É¯©²´¯ ²¸±¯¥±Â¸¯ £É¡¥¤µÁ ª°Â ¶¤¸¯¶ˆ £É¡¥¤
À˨±ç´ ²¨¨Â°¶¯ £À³ Á¿±²ª¯.

SelStart ²À˱À™´.
²³É¯©¯ ²¿±É¯©²´¯ ²¸±¯¥±Â¸¯ £É¡¥¤µÁ ¨¢Á¯ £É¡¥ £¤¸°
©¯é±¶´ ²¨¨Â°¶¯ Á¿± ²ª¯.

SelText ²À˱À™´.
²¨¨Â°¶¯ ²¸±¥±Â¶¯¶± Áª £É¡¥¤ Á¿±Â¤¶á¨³ §¤É°²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 32


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Visible ²À˱À™´.
²¨¨Â°¶¯ ²³É¯©¯ ²¿±É¯©´ ²À¶¯–¨³ ²§±¯ ©¤Â–¨³ À¢Íµ¶
²¨¨ ²À˱À™´ True ɰ̨ ¨Â°¶¯ ²¨´ ²À¶¯–¨³ §± False
ɰ̨ ¨Â°¶¯ ²¨´ ©¤ì—¨³ §¤É°²µ´°.

PasswordChar ²À˱À™´.
²¨¨Â°¶¯ ¨¢¥ µ«¶ Á¿±²ª¶ ²³É¯©¯ ²¿±É¯©´É¯ ¿µ³
À̵¥à¸¶´ ɥ¸ §¤É ²¨´³ £É¡¥É¯ Á¿±Î¶¯ –³ ¦¨
£É¡¥, ²µ¶¸¯ £É¡¥¤ Á¿±ªá²ˆªá ²³É¯©¯ ²¿±É¯©²´¯ ª°©¯²•.

²³É¯©¯ ²¿±É¯©²´¯ ¾²µ¶¯˜ (Events).


Change ¾²µ¶¯³´.
²¨´ ²³É¯©¯ ²¿±É¯©²´¯ ´ˆ ²µ¶©¯É¯ ©°ÎµÓ –³ ÉË°´±¸¯¨É²•
¦¶ˆ ²³É¯©¯ ²¿±É¯©´³ £É¡¥É¯ ª¤†¨, £É¡¥É¯ ¾µ¸¯É°¬¨
µ¤¶° £µ©¯é±µÁªá ÉË°´±¸¯¨É ²•.

Click ¾²µ¶¯³´.
²¨´ ª ²¹±¯¥¨
à ²´¯ £±É±¥´ ²•.

½¿Á¯ ɯÁ°É¯ (Double Click/DblClick) ¾²µ¶¯³´.


²¨´ ª ²¹±¯¥¨
à ²´¯ £±É±¥´ ²•.

KeyPress/KeyUp/KeyDown ¾²µ¶¯³.
²¨´ ª ²¹±¯¥¨
à ²´¯ £±É±¥´ ²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 33


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²³É¯©¯ ²¿±É¯© ²¨¸õ©¯


²¨¸õ©¯ (Text Box Methods)
SetFocus ²¨¸¥à½´.
²³É¯©¯ ²¿±É¯©´³ £µÛ±¶´ Á¿±ªá¨ ©ª§± ²¨´ ð±–¸±²•.

–Û±¶ ²¿±¸¯¸¨ (Command Button)


´ˆÉ°´° –Û±¶´É¯ ɥ¤¶á¨ ©ß§± ²¨¨ ÔÀ±»Â´ ð±–¸±
É¥´°. ²¨§° ɯÁ°É¯ (Click) ¾²µ¶¯³´ ¸¡Á £µØå ²ª¯
²É¯¸¶´ ɰ̲¨¶¯ £À³ £µØå –Û±¶ ²¿±¸¯¸¨ ɯÁ°É¯
É°¬²ˆªá ɥ¸ §¤É.

Caption ²À˱À™´.
²¨¨ ²À˱À™´ ¨Â°¶¯ –Û±¶ ²¿±¸¯¸²ˆ £É¡¥¤ Áá–¨ ©°ÎÉ¥
¸ §¤É. ¦¶¨ –Û±¶ ²¿±¸¯¸¨ ¸°¥²´¯ ª°©µ
¯ ¶ –³ ¦´ ¨¸
£É¡¥¤ µÁ°¶¯ ¦´ É¥¶ ɱ¥à´´ ©³§¶¯ ÉÁ §¤É.

–Û±¶ ²¿±¸¯¸²ˆ £²¶É¡¸¯ ²À˱À™ ²³É¯©¯ ²¿±É¯©²´¯


²Á©¨²•.

–Û±¶ ²¿±¸¯¸²ˆ ¾²µ¶¯˜/²¨¸õ©¯


/²¨¸õ©¯ (Command Buttons
Events/Methods)
²¨µ±ª ²³É¯©¯ ²¿±É¯©¯ £±É±¥²´¯ ¨ ²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 34


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²Á¯¿Á¯ (Labe
(Label) ÔÀ±»Â´
²Á¯¿Á ´¶¢ ¾¸± À˲´±¯¼¶µ¸¯ ɶ¯²³Ë±Á
¯ µ¥à´ɰ. ²¨µ± µÂ°¶¯
ð±–¸± É¥¶¯¶¶¯³ ÔÀ²ª©¯ Á¿±ªá¨³ £¨¸¥µ À°Á°¸¡¥¤ ª¤É¯–
¨³ ª ð±–¸ É¥´°. ²¨§° ¸°²¿¶ ¾¸± µ¤ªÂ¸¯ ²À˱À™´
µ¶¯²¶¯ Caption. ²¨§°ªá label.Caption ´¶¯¶
²´±È¤¶á²¨¶¯ ¦¨Â°¶¯ £ÉÚ¥ §± £»É ²À¶¯–´ §¤É. ׿³
²¨§° £Â´¶¯ ÀÌ妃 µ¤½©³§¶ Û±µ¶´ µ¶ £¸¥¸¡¥
²µ¶©¯ É¥ ¸ §¤É.

²¨¨ ÔÀ±»Â´ ´¨É¯ ²Á¯¿Á¯ ɰ̨ ¶¤¸¯¶ˆ ¶ˆ ɰ̨³


ÔÀ²´±¯ÂáÉ¥ ¶á.²¨§° ²À˱À™, ²¨¸¥àõ©¯ §± ¾²µ¶¯˜©¯ –
Û±¶ ²¿±¸¯¸²ˆ £±É±¥´¨ ²•.

×À¯Ú¶¯ ¿³¶¯ (Option Button) ÔÀ±»Â´.


²¨µ± ²¸¯Ìˆ É°§°À´É°¶¯ ¦Éɯ ²¸±¯¥± ¤¶á²ˆ ªá ð±–¸ É¥´°.
²¨¨ ÔÀ±»Â É°§°À´É¯ ¦É³ ²Â±¶¢ ɰ̨ ©ß§± ¹¯²¥àˆ
ÔÀ±»Â´ ¿±–¸ ÉÁ §¤É. ¹¯²¥àˆ ÔÀ±»Â ²ªÉÉ ²µ¶ ²µ¶¨
ª¨± £¤¸° ×À¯Ú¶¯ ¿³¶¯©¯ ²µ¶ ²µ¶¨ ÉË°´±É¥´°. ¹¯²¥àˆ
¨¸³ ×À¯Ú¶¯ ¿³¶¯ ª¨±Â¤¶á²ˆªá ¦¯µ± ¹¯²¥àˆ ¦É ¨¸ £¤ß
¸´¢¸¡ ²µ´°.

²¨§° µ¤ªÂ¸¯ ²À˱À™ ´É¯ ²Á© Value Àµ¸°´° ²¨´ True


–³ ²¨¨ ÔÀ±»Â´ ²¸±¯¥± £¤¸° £¸¥ False –³ ¦´
²¸±¯¥±²Â¶ ¶¤¸. ×À¯Ú¶¯ ²¿±É¯©´ ¨Â°¶¯ £À³ ²¸±¯¥±Â¤¶áˆ

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 35


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

É°§°À´É°¶¯ ¦Éɯ ²¸±¥± ¤¶á¨³ ÔÀɱ̲•. ²É²©¯ ²µ¸¸¯


²¨§° ªá ×À¯Ú¶¯ ²¿±É¯© ¦Éɯ ²§±¯É°§°À´É¯ ¦É³ µ¤½ÉÁ
´¢¸¡²µ´°. ¦É¯ ×À¯Ú¶¯ ²¿±É¯©´É¯ ²¸±¯¥±Â¸¯ –³ £²¶É¡¸¯
×À¯Ú¶¯ ²¿É¯© ²¸¯¥á¨ ¾µ¸¯²µ´°. ¦¶ˆ ×À¯Ú¶¯ ²¿±É¯© µÁ°¶¯
©Õ¨–³¨ ¦Éɯ À¨çɯ ²¸±¯¥±Â¸ §¤É. ×À¯Ú¶¯ ²¿±É¯©´É¯
²¸±¯¥± £¤¸°–³ ¦§° £Â´ True ²•. ¦´ ²¸±¯¥±¶¤¸°–³ ¦§°
£Â´ False ²•. À§¸ Ôȧ¥ç²´¯ Shape ɶ¯²³Ë±Á
¯ ´É¯
ª¨± £¤¸° £¸¥ ×À¯Ú¶¯ ²¿±É¯© ²µ¶©¯ ɰ̨ ¨Â°¶¯ ¦§°
§¤½´ ²µ¶©¯ –¨ ª¤É¯²•.

Private Sub Option1_Click ( )


Shape1.Shape = 0
End Sub
Private Sub Option2_Click()
Shape1.Shape = 1
End Sub
Private Sub Option3_Click()
Shape1.Shape = 2
End Sub
Private Sub Option4_Click()
Shape1.Shape = 3
End Sub
Private Sub Option5_Click()
Shape1.Shape = 4
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 36


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub Option6_Click()


Shape1.Shape = 5
End Sub

²¨§° £²¶É¡¸¯ ²À˱À™, ¾²µ¶¯˜ §± ²¨¸¥àö©¯ –Û±¶


²¿±¸¯¸¨ £±É±¥ ²•.

²«É¯
²«É¯ ²¿±É¯©¯ (Check Box) ÔÀ±»Â´.
²¨´ ¨Â°¶¯ ð±–¸± É¥¶¯¶¶¯³ –ÉÁ¯À´¶¯ ²¸±¯¥± ¤¶á¨³ §±
¾µ¸¯É°Ì¨³ §¤É°²µ´°. ²¨´ ²¸±¯¥± £¤¸°–³ ²¨§° £Â´ 1
²µ´° ²¸±¥± ²¶±¨¤¸°–³ ¦§° £Â´ 0 ²µ´° ²¨§°
Check1.Value=1 ´¶¯¶ ¨Â°¶¯ ²«É¯ ²¿±É¯©´
²¸±¥±Â¤¶á¨³¸¯ Check1.Value=0 ´¶¯²¶¶¯ ¦§° ²¸¯Ì¨
¾µ¸¯ ɰ̨¸¯ ÉÁ §¤É. ²¨´ ¨Â°¶¯ ´ˆ É°©° ɱ¥à´´É¯ À³´¶¯
¤¶á¨ É¥§¤É Ôȧ¥çµØ²´¶¯ ²«É¯ ²¿±É¯©´ ²¸±¯¥±
£¤¸°–³ ɰ̲ˆªá ²¹±¯¥¨
à ²´¯ µ¥à¶´ ¥¸¡ À¤§¤É¥á¨³ §±
²¸¯Ì¨ £¸¯§Á –³ ¶°Á¯ À¤§¤É°¬¨.

²¸±¥±Â¤¶áˆ É°§°À´É¯ ¸°²¿¶ –³ ¦¯µ±´°¶¯ É°§°À´É¯


²¸±¥±Â¤¶á¨ ©ß§± ²¨¨ ÔÀ±»Â´ ð±–¸ É¥´°. ²¨§° µ¤ªÂ¸¯
²À˱À™´É¯ ²Á© Value ²À˱À™´ ª¤É¯–´ §¤É°´ ²¨§°
£µ©¯¸± É°§°À´É¯ £¤¸.
0 - Unchecked (²¸±¯¥±¶¤¸).
1 - Checked (²¸±¯¥± £¤¸ ).

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 37


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

2 - Grayed ( ²¸¯¬¨ ¿±Â´³ É¥ £¤¸ ¶¤¸¯¶ˆ ²¨ ´³²¸¯


£¤¸° £´°¸¨ µÁ°¶¯ É°§À
° ´É¯ À¨¶É¯ ²¸±¯¥± £¤¸° –³
ð±–¸²•).
²µÉ¯ ²¿±É¯©¯ §° £²¶¯É¯ ²À˱À™, ¾²µ¶¯˜ –Û±¶ ²¿±¸¯¸²ˆ
²Á©¨ ²•.

¹¯²¥àˆ (Frame) ÔÀ±»Â´.


ÔÀ±»Â É°§°À´É¯ ¦É³ ²Â±¶¢ ɰ̨ ©ß§± ð±–¸ É¥´°.
²¨§°ª ²À˱À™ §± ¾²µ¶¯™ –Û±¶ ²¿±¸¯¸²ˆ ²Á©¨ ²•.

Á°©˜
¯ /Á´°©¸
¯ ¡µ (List) ÔÀ±»Â´.
´ˆÉ°©° Á´°©¸
¯ ¡µÉ¯ ¨âÎɱ»Â´³ Á¿±ªá¨ ©ß§± ²´±È¶á.
²¨µ± £¸Ì¶¯ ¦Éɯ ²§±¯ É°§°À´É¯ ²¸±¯¥±Â¤¶á¨ ÉÁ§¤É.
²¸±¯¥± ¤¶áˆ –رÁ µØ²´¶¯ £¤¸° –³ ²¨´ ð±–¸ É¥´°.
Á°©˜
¯ ²¿±É¯©²´¯ É°Ë´±É±Ìãµ´ µ¶¯²¶¯ £µØå É¥ç ª¤ µÁ
Á´°©¸
¯ ¡µÉ¯ Á¿±ªá¨´ ¦–´ ð±–¸±É¥¶¯¶¶¯³ Á´°©¸
¯ ¡²µ¶¯
£µØå £´°¸¨´ ²¸±¥±Â¸ §¤É. Á°©˜
¯ ²¿±É¯©´³ ´¨É¯
£¤¸¡Á¸¯ ɰ̨³ AddItem (£¤õ £´°³ˆ©¯) ´¶ ²¨¸½´
ð±–¸± É¥´°. Ôȧ¥¶ µØ²´¶¯ £´°¸¨ É°À´É¯ Á°©˜
¯
²¿±É¯©´³ £¤¸¡Á¸¯ ɰ̨ ©ª§± À§¸ ²Á© ²É¯¸¶´ ÉÁ
§¤É.

²¨§° Á´°©¸
¯ ¡µ List ²À˱À™´ ¨Â°¶¯ Á¿±Â¸ §¤É. ¦§° ÀÁ¨¢
£´°¸¨´ List(0) §± ²ªµ¶ £´°¸¨´ List(1) ²Á©

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 38


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Á¿±Â¸§¤É°´ ²¨¨¸ ɯÁ°É¯ ÉÁ–³ Á´°©¸


¯ ¡µ –µâ¸¯¸ µ¶
£¸¥ ¦§° Áá–¨ ¨Â°¶¯ Á´°©¸
¯ ¡µ³ £¤¸¡Á¸¯ ɥ¸ §¤É.

Private Sub Form_Load ( )

List1.AddItem “ITEM1”
List1.AddItem “ITEM 2”
List1.AddItem “ITEM 3”
List1.AddItem “ITEM 4”

End Sub

Á°©˜
¯ ²¿±É¯©²´¯§° £´°³¨ §Î¶±Â¤¶á¨ ©ß§± ListIndex
´¶ ²À˱À™´ ð±–¸ É¥´°. ²¨§° ÀÁ¨¢ £´°¸¨²´¯ £Â´ 0 µ¶
£¸¥ ²ªµ¶ £´°¸¨²´¯ £Â´ 1 §± ¸¡¶µ
¯ ¶ £´°¸¨´ 2 ²Á©
²•.

ListCount ²À˱À™´.
²¨¨ ²À˱À™´ ¨Â°¶¯ Á´°©¯¸¡²• £¤¸° ¨¢ £´°¸¨ Â¶ç ª¤¶
¤¶á¨³ À¢ µ¶.

ListIndex ²À˱À™´.
²¨¨Â°¶¯ £À ²¸±¯¥±Â¸¯ £´°¸¨²´¯ ©¢Æ £»É´ Á¿± ¸ §¤É.

MultiSelect ²À˱À™´.
²¨¨Â°¶¯ £´°¸¨ É°§°À´É¯ ²¸±¥±Â¤¶á²ˆ §¤É°´±µ Á¤²›.
²¨¨ ²À˱À™´ True ɰ̨ ¨Â°¶¯ ²¨¨ §¤É°´±µ Á¿±Â¸
§¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 39


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Sorted ²À˱À™´.
²¨´ ¨Â°¶¯ Á´°©¯ ¸¡µ £É±¥±ªá À°Á°²µò³ ©É©¯ ɰ̨ ɥ¸
§¤É. ¦¯ ©ß§± ²¨¨ ²À˱À™´ True ÉÁ ´¢¸¡²µ´°.

²¨¸õ©¯ (Methods )
²¨§° µ¤ªÂ¸¯¨ ²¨¸½´ ¶ˆ AddItem ²• ²¨´³ £Â´É¯
¶¤¸°¶ˆ ¶¨É¯ Á¿±ªá²¨¶¯ ¦´ Á´°©¸
¯ ¡µ³ ¦É¸¡É¥Â¸ §¤É.

¸µª RemoveItem ²¨¸½²´¶¯ Á´°©¸


¯ ¡²• £¤¸° £´°¸¨´É¯
¾µ¸¯ ɰ̨ ©°ÎÉ¥ ¸§¤É° ²•.

²É±ˆ²¿± ²¿±É¯©¯ (Combo Box) ÔÀ±»Â´.


²É±ˆ²¿±¯ ²¿±É¯©´ ¨Â°¶ª
¯ £´°¸¨ Á´°©¸
¯ ¡µÉ¯ £¸Ì¶¯ ¦Éɯ
²¸±¯¥±Â¤¶á¨³ ð±–¸ É¥´°. ¶¨¢¸¯ ð±–¸ É¥¶¯¶± ²¨§° ªÉ¢ç¢
À¤¸¯²¸¯ £¤¸° É¡½± ï¸Á´ ¨¸ ɯÁ°É¯ ɰ̨ ¨Â°¶¯ Á´°©¸
¯ ¡µ
Á¿±Â¸ ´¢¸¡²•. ²¨§°ªáª AddItem ´¶ ²¨¸½²´¯¶ £´°¸¨
²¨´³ £¤¸¡Á¸¯ÉÁ §¤É. À§¸ Ôȧ¥ç²´¶¯ ¦´ ª¤É¯²•.

Private Sub Form_Load ( )

Combo1.AddItem “ITEM 1”
Combo1.AddItem “ITEM 2”
Combo1.AddItem “ITEM 3”
Combo1.AddItem “ITEM 4”

End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 40


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨¨ ÔÀ±»Â´ Á°©˜


¯ ²¿±É¯©¯ ÔÀ±»Â´ ²Á©¨²•. ¶¨¢¸¯ ²¨´°¶¯
²¸±¥±Â¸ §¤É¯²É¯ ¦É¯ £Â´É¯ À¨¶°. ²À˱À™ §± ¾²µ¶¯˜
Á°©˜
¯ ²¿±É¯©¯ £±É±¥²´¯¨ ²–.

À°É«
¯ ¥à ²¿±É¯©¯ (Picture Box) ÔÀ±»Â´.
À°É«
¯ ¥à ²¿±É¯©´ ´¶¢ À°¶¸
¯ Ò¥ §¤©¢¥–¨³ ²´±È¶¯¶±
ɶ¯²³Ë±Á
¯ µÁ°¶¯ ¦ÉÉ°. ö©´°¶¯ É¥¶ ²•Á±²µªá ׿³
Picture ´¶ ²À±À™´ ɯÁ°É¯ ɰ̲¨¶¯ §± ¦¨Â°¶¯ À°¶¯¸Ò¥´É¯
£ÈÁ ²¹±¯Á½
¯ ¥²´¶¯ ²¸±¥±Â¤¶á²¨¶¯ À°¶¸
¯ Ò¥´É¯ À°É«
¯ ¥à
²¿±É¯©´³ ª¨±Â¸ §¤É. ¦µ²Â¯¨ ÀÌÂçÉ µ¤½©³§¶
Û±µ¶´ µ¶ £µ©¯¸±²•ªá À°É«
¯ ¥à ²¿±É¯©´³ À°¶¯¸Ò¥´É¯
LoadPicture (²Á±¯õ À°É«
¯ ¥à) ´¶ ²¨¸½´ ¨Â°¶¯ ª¨±Â¸
§¤É ²¨©ß¨± Ôȧ¥ç´É¯ À§¸ ª¤É¯²µ´°. ²¨¨Â°¶¯ cat.gif
¶¤¨¤¸° À°¶¸
¯ Ò¥´ À°É«
¯ ¥à ²¿±É¯©´³ ª¨¶¢Á¤²›.

Picture1.Picture=LoadPicture ("C:\My Images\cat.gif")

¾²ˆ¼¯ (Image ) ÔÀ±»Â´.


À°¸¸
¯ Ò¥´É¯ ÀÌ妃 µ¤½©³§¶É¯ ¨¸ ¶¤¸° ¶ˆ ²¹±¯¥¨
à ´É¯
¨¸ ª¨±Â¤¶á¨³ ÔÀɱ̲•. ²¨§° Picture ²À˱À™´ ¨Â°¶¯
£ÈÁ À°¶¸
¯ Ò¥´ Á¿±ªá²¨¶¯ ²¨¨ ÔÀ±»Â´³ À°¶¸
¯ Ò¥´ Á¿±²ª¯.
¾²ˆ¼¯ ²¿±É¯©´ ª À°É«
¯ ¥à ²¿±É¯©´ µ¤¶°¨ ²•. ²¨§° £¤¸°
ÀËÛ±¶ ²µ¶©¯É¨ ¶ˆ ¾²ˆ¼¯ ²¿±É¯©²´¯ £¤¸° À°¶¯¸Ò¥´ §°

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 41


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Size ²µ¶©¯É¥Â¸ §¤É°–¨ ²• ¦¶ˆ –رÁ ²§±¯ É¡½±


ɥ¸ §¤É° ²•. ²¨´ À°Éµ
¯ ¥à ²¿±É¯©²´¯ £¤¸¡Á¸¯ ²¶±µ¶
¡¶±»Â´É°. ²¨´³ª LoadPicture ´¶ ²¨¸½´ ¨Â°¶¯
Û±µ¶´ µ¶ £µ©¯¸±²•ªá À°¶¸
¯ Ò¥´É¯ £¤¸¡Á¸¯ ɥ¸ §¤É.

Image1.Picture=LoadPicture ("C:\My Images\cat.gif")

³´°¨¥à (Timer) ÔÀ±»Â´.


ÔÀ±»Â´.
²¨¨ ÔÀ±»Â´ ¨Â°¶¯ ´† ÉË°´±µÉ¯ ´ˆ É°©° ɱÁ À˱¶¯¸¥´Éªá
¶¤µ¸ ¶¤µ¸¸¯ ©°ÎÉ¥ ¤¶á¨³ §¤É°²•.
²¨§° ²À˱À™ ²Á© Enable ª¤É°´ §¤É°´ ²¨´ ²¨¨ ³´°¨¥´
É°´±É°¬¨ ²§± ÉË°´± –¥§°¸ ɰ̨ ©°ÎÉ¥´°.
¸µª ²¨§° Interval ²ÀËÀ™´ ¨Â°¶¯ ²¨´ ©°Îµ¶ ɱÁ
À˱¶¯¸¥´ ²ª¶¢Á¤²›. ¦–³ ¦¨ ɱÁ À˱¶¯¸¥ µÁ ª° ¦§°
Timer ´¶ ¾²µ¶¯³´ ÉË°´±¸¯¨É µ¶ £¸¥ ¦§° ªá £¤¸°
ÉË°´±µÁ°´ ¶¤µ¸ ¶¤µ¸¸¯ ©°Î²µ´°.

©¯²É˱Á
¯ ¯ ¿±¥à©¯ (ScrollBar) ÔÀ±»Â´
´ˆÉ°©° ²ª´É¯ ¾§Á À§Á, ²ªÀ©³ ɰ̨ ²§±¯ £½¢ µ¤ö ɰ̨
©ß§± ²ˆµ± ð±–¸ ²•.

²¨§° Value ²À˱À™´ ¨Â°¶¯ ª¤¶³ £¤¸° ©¯é±¶²´¯ £Â´


Á¿±²ª¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 42


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Max ²À˱À™´ ¨Â°¶¯ –رÁ £Â´ ªÉ¯µ´°. ¸µª £À³ £µØå


£Â´É¯ ªá²¨¶¯ ²¨´ £À³ £µØå £±É±¥´³ ²µ¶©¯ ɥ¸
§¤É.

Min ²À˱À™´ ¨Â°¶¯ É¡½± £Â´ ªÉ¯µ´° ²¨´ ª Max ²©¯¨


²µ¶©¯ ɥ¸ §¤É.

½¥´°• Á°©™
¯ ²¿±É¯©(Drive
¯(Drive List Box)
Box) ÔÀ±»Â´.
²¨¨Â°¶¯ ׿²Â¯ ÀÌÂçɲ´¯ £¤¸° ½¥´°•©¯ ²À¶¯µ¶¢ Á¤²›.
²¨¨ ɶ¯²³Ë±Á
¯ ´ ²¹±¯¥¨
à ´É¯ ¨¸ ª¨± Û±µ¶´ ɰ̨ ¨Â°¶¯
––Û ½¥´°•©¯ Á¿±Â¤¶á¨ ÉÁ §¤É.

²¨§° £¤¸° Drive ²À˱À™´ ¨Â°¶¯ ²¸±¥±£¤¸° ½¥´°• ¦É


ÔÀ±»Â²´¶¯ Á¿±Â¤¶á¨³ ²§± Á¿±ªá¨ ÉÁ §¤É.

²¨§° Change ¾²µ¶¯³´ ½¥´°• ²µ¶©¯ ÉÁ –³


ÉË°´±¸¯¨É²–. ¦´ ¨¸ ²É¯¸¶´ ɰ̨ ¨Â°¶¯ ²µ¶©¯µ¶–³
£ÈÁ ÉË°´±µ ɥ¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 43


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ö²¥É¯³Ì Á°©˜
¯ ²¿±É¯©¯ (Directory List Box) ÔÀ±»Â´.
²¨¨Â°¶¯ À̶ɲ´¯ £¤¸° ²Â±¶¢ ¿Á±Â¤¶á²ˆ §¤É°´±µ £¤¸.
²¨§° Path ²À˱À™´ ¨Â°¶¯ ²¸±¯¥± £¤¸° ²Â±¶¢µ Á¿±Â¤¶á¨
²§±¯ ²µ¶¸¯ ²Â±¶¢µÉ¯ Á¿±ªá¨ ÉÁ §¤É. ²¨§° ª Drive
ÔÀ±»Â´ ²¨¶¯ Change ¾²µ¶¯³´É¯ Àµ¸°´°.

¹´°Á¯ Á°©˜
¯ ²¿±É¯©¯ (File List Box)
²¨¨Â°¶¯ ÀÌÂçɲ´¯ ²Â±¶¢µÉ £¤¸° Á°À° µÁ Á´°©¸
¯ ¡µÉ¯
Á¿±Â¤¶á¨ ©ß§± ÔÀɱ̲•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 44


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° FileName ²À˱À™´ ¨Â°¶¯ Á°À°´§° ¶¨ Á¿±Â¸ §¤É.

Hidden ²¨¨ ²À˱À™´ ¨Â°¶¯ ©ìµ± £¤¸° Á°À°²Â±¶¡ ¿Á±


¤¶á¨³ §± ²¶±²À¶¯–¨ ÉÁ§¤É ²¨´ True ɰ̨ ¨Â°¶¯
Á°À°²Â±¶¢ ²À¶¯µ¶ £¸¥ False ɰ̨ ¨Â°¶¯ ©Âµ±¸¿´°.

Path ²¨¨ ²À˱À™´ ¨Â°¶¯ À̶ɲ´¯ Á°À°´ £¤¸° ©¯¸±¶´


Á¿± ¤¶°¨ ²§±¯ Á¿±ªá¨ ÉÁ§¤É°´.

System ²¨¨Â°¶¯ ©°©³


¯ ˆ Á°À°²Â±¶¢ ¿Á±Â¤¶á¨³ §¤É°²•
²¨´ True ɰ̨ ¨Â°¶¯ ©°©³
¯ ˆ Á°À°²Â±¶¢ ²À¶¯µ¶¢Á¤²›.

Pattern ²¨¨Â°¶¯ £À³ £µØå ¥³±µ Á¿±ªá²¨¶¯ £À³ £µØå


À̪° Á°À° Á´°©¸
¯ ¡µ³ Á¿± ¸ §¤É.

¸¡¶µ ª´ - ²É¯¸¶´ É°¬¨.


¯ ¶ ÀÌ−²Ü¯ª´
2 µ¶ À±½²ˆªá ©¥Á VB µ¤½©³§¶É¯ Û±µ¶´ É¥ ¤¶á¨³
§± ²É¯¸¶´ ɥ¤¶á¨³ ׿ Բ¶¶¯¶± Áª°. ²¨§°ªá £À°
²¨§° ¨ÓÁ°É ©°ªÛ
¯ ±¶¯¸ ¤¶ ©Áɱ ¿Á¨¢.

©Õ¨ VB ɶ¯²³Ë±Á
¯ ´É¨ ©±¨±¶å²´¶¯ ¾²µ¶¯³ ²§±¯
²À±©áö´¥ £¤¸. ²¨¨ ¾²µ¶¯³ ²É¯¸¶ ¼²¶¯Á²´¯ Á´°©¸
¯ ¡µÉ¯
£¤¸. ²¨´ ׿ ²Â¯ ²¹±¯¥¨
à ²´¯ £¤¸° £´°¸¨ ½¿Á¯ ɯÁ°É¯ É°¬¨

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 45


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¨Â°¶¯ Á¤²¿¶ ¾²µ¶¯³ ¼²¶¯Á²´¯ ¾§Á £¤¸° ¦Á¯Á± µ¤²³¶


(dropdown) Á´°©¸
¯ ¡²• £¤¸. ²ˆµ± £¸¥ ²¹±¯¥¨´É¯ ²Á±¯õ
ɰ̨, –Û±¶ ²¿±¸¯¸¨É¯ ɯÁ°É¯ ɰ̨, ´¸¡¥¤ À¢µ¥¤²• ´¸¡¥É¯
¦Þ¨ µ¤¶°ª¤ ²•. ׿³ ²¨¨ ²À˱©áö´¥ ¸¡Á ²É¯¸¶´ ɰ̨
¨Â°¶¯ £µØå ɱ¥à´´¶¯ ɥ¸ §¤É.

¾²µ¶¯³ ²À˱©áö´¥´É¯ ¨¸ Á°–¨³ £ÈÁ ÔÀ±»Â´É¯ ¨¸


²ªµ¥É¯ ɯÁ°É¯ ÉÁ ´¢¸¡ ²µ´°. Ôȧ¥ç µØ²´¶¯ –Û±¶
²¿±¸¯¸¨É¯ ɯÁ°É¯ ɰ̲ˆªá Á¤²¿¶ ¾²µ¶¯³´³ Á°–¨ ©ß§±
£µØå ¾²µ¶¯³´ Á¿±Â¤¶á¨³ –Û±¶ ²¿±¸¯¸¨ ¨¸ ²ªµ¥É¯
ɯÁ°É¯ É¥ ´¢¸¡ ²•. ¦–³ À§¸ À̪° ¦§° ɯÁ°É¯ ¾²µ¶¯³´
Á¤²›.

Private Sub Command1_Click


(²¨§° ײ› ²É¯¸¶´¶¯ ɥ¶¯¶.)
End Sub

¾¶¯À©¢ ׿ private Sub Command1 Click


............................. End Sub ´¶ ²ªÉ £¸¥ £ÈÁ
²É¯¸¶´ ɥ¸ ´¢¸¡²µ´°. ÀÌ妃 µ¤½©³§¶ ´ˆÉ°©°
ɱ¥à´´É¯ É°¬¨³ £µØ´ ²É¯¸¶ ²À¯Á° É°§°À´É°¶¯ ©¨¶¯–¸
²µ´°. Visual Basic §° ²É¯¸¶´ ²¿±²§±¯ –³ ¾»ÂáË©° ð±Ú±µ³
©¨±¶ ²µ´°. ¦¨¶°©± ¦´ ¾²Â¶á¨ª ¾¸± À§©¢ ²µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 46


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

´ˆÉ°©° ÔÀ±»Â´É ²À˱À™´ ɳ ´ˆÉ°©° £Â´É¯ Á¿± ªá¨


À§¸ ²Á© ²É¯¸¶´ É¥´°.
Object.Property

²¨§° ÔÀ±»Â´ §± ï³ £ÈÁ ²À˱À™´ ¸°¸ É°¶¯ ²µ¶¯É¥ £¤¸


(dot/period) Ôȧ¥¶ µØ²´¶¯ Form1.Show ´¶¢
Form1 ´¶ ¶¨ £¤¸° ²¹±¯¥¨
à ´ ²À¶¯µ¶¯¶ ´¶¯¶´°.
Label1.Visible=true ´¶¯²¶¶¯ Label1 ´¶ ²Á¯¿Á´
²À¶¯µ¶¯¶ ´¶¯¶ ªÉ¯µ´°. Text1.text=”VB For
Beginners” ´¶¯²¶¶¯ Text1 ´¶ ²³É¯©¯ ²¿±É¯©²´¯ £Â´³
=”VB For Beginners” ´¶ £É¡¥¤ £¤¸¡Á¸¯ É¥¶¯¶ ´¶¯¶
ªÉ¯µ´°. Text1.text=150.00 ´¶¯²¶¶¯ 150.00 ´¶ £Â´
²³É¯©¯ ²¿±É¯©´³ ª¤†¨ ©ß§± ÔÀɱ̲µ´°.

Private Sub Command1_click

Label1.Visible=false

Label2.Visible=True

Text1.Text=”This Is a TextBox!”

End sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 47


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§°ªá –Û±¶ ²¿±¸¯¸¨É¯ ¨¸ ɯÁ°É¯ ɰ̨ ¨Â°¶¯ Label1


²¶±²À¶á´´° Label2 ²À¶á¨³ ©¤Á²©´° TextBox1 §° This
is a TextBox ´¶¯¶ ª°©²
¯ µ´°

Private Sub Command1_click


Label1.Caption=” Welcome To Tutor”
Image1.visible=true
End sub
–Û±¶ ²¿±¸¯¸¨ ¦Þ²¨¶¯ label1 §° Caption ¦É welcome
To Visual Basic ´¶¯¶³ §± Image1 ²¶²À¶á¨³
©¤Á²©´°.

Private Sub Command1_click


Pictuire1.Show=true
Timer1.Enabled=True
Lable1.Caption=”Start Counting”
End sub

²À˱À™´É¯ ©ˆ¿¶¯Û ²¶±µ¶ ²É¯¸¶ ´¶¯ª ¾»ÂËá©° µ¤¶° ²•.


©¨§¥ ¦µ±. Print, If ... Then ... Else ... End If, For ...
Next, Select Case ... End Select, End §± Exit sub
²•. Ôȧ¥ç µØ²´¶¯ Print “Visual Basic” ¨Â°¶¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 48


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Visual Basic ´¶¯¶ ¸°¥²´¯ ª°©²


¯ µ´°. ¸µª ÀÌÂçÉ
µ¤½©³§¶ ¶¤µ¤¸¯–¨³ End ´¶¯¶ ð±–¸ ²É²¥à.

Â綴 ɰ̈ ©§°¸ ÀÌÂçÉ µ¤½©³§¶¯ Á°–¨ ¾¸±


À§©¢²µ´°. ²¨´ Á°—¨ ¶°¸²´¯ ¦¶ £±É±¥´³ ©¨±¶ ²Á©
²•. ²É²©¯ ²µ¸¸¯ Â綴 ɰ̈ ©§°¸ ¾²µ¶¯˜ ²À˱©áö´¥
Á°–²ˆªá ׿³ VB §° ©¥Á Â簸ɬ¨ ª¤¶Â¤¶á¨ £µØå
²•. ¨É¯¶°©±ª ´¸¯ + §± - ³ £¨¸¥µ £²¶É¯µ± Âç°¸¨´
£»É¶´¶¯ ²Â¶¯ ²µ¶©¯µ¶ ¿¤–¶°. ¡çɰ̨ ©ß§± *
²´±È¶á. ²¿ªá¨ ©ß§± / ²´±È¶á x µÁ n µ¶ ¿Á´³
¶¤»–¨ ©ß§± x^n µ¥à¨ÓÁ´ ²©–¨ ©ß§± sqr(x). ¸µª
VB ¸µ¸¯ ª°´¢ç¢ Âç°¸¨´ ɱ¥à´´¶¯ Sin, Cos, Tan §±
Log, ¦¯µ± À©¢µ³ ɸ± É¥ç¢ Á¿´°. ¸µª ¾¸± µ¤ªÂ¸¯µÓ
ØË°¸´¶¯ ²ªÉɯ Àµ¸°´° ¦µ±¶ˆ Val §± Str$. Val ´¶¢
²³É¯©¯ ²¿±É¯©´É £¤¸° ©»Éå±µ¶¯ £Â´¶¯ µÁ³ (Numeric)
À̵¥à¸¶´ ɰ̨³ ¿±–¸± µ¶ ØË°¸´ ²•. ¸µª Str$ ´¶¢
£Â´¶¯ £Â´¶¯ ²³É¯©¯ ²¿±É¯© µÁ³ (String) ª¤‡¨³
ð±–¸ É¥´°.

Private Sub Form_Activate()


Text3.text=text1.text+text2.text
End Sub

Private Sub Form_Activate()

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 49


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Text3.text=val(text1.text)+val(text2.text)
End Sub

²¨¨ ÀÌÂçÉ µ¤½©³§¶ Û±µ¶´ ɰ̲ˆªá TextBox1 ³ 12


§± TextBox2 ³ 3 ª Á¿± ²ª¶¯¶ ¦–³ TextBox3 §°
À°Á°¸¡¥ ²Á© 123 ª¤É¯²µ´°. ²¨´ µ¤¥ª° À°Á°¸¡¥É¯ ²µ´°. ²¨§°
ªá µ¶¯²¶¯ VB ²¨¨ ©»Éå± £É¡¥¤ ²Á© (String) ©Áɱ ¦µ±
¦É¸¡ ɰ̲¨ªá ¦Éɯ À©¢À© ¦Éɯ Á°–¨´°. ¶¨¢¸¯ £²¶É¯
µ¤½©³§²¶¶¯ ¶°µ¥ª° À°Á¸
° ¡¥ Á¿±²ª´°.

§¸¥µ¶ ÀÌ−²Ü¯ª´ - –Ú¢µÁ¯ ²›©°É¯ ª¸¯¸


À̧¥ç´ É°¬¨.
£À²Â¯ þ–¸²´¯ £À° ––Û ª¸¯¸ ´¶¯ £¤©¢¥¤É¥´°. Ôȧ¥¶
µØ²´¶¯ ¶ˆ, Á°À°¶´¶¯, ¨¢ªÁ¯, ª°¶ µ¤¶° ²¿±²§±¯ªÕ Visual
Basic §áª ²¨²Á©³¨ £À°³ ²¿±²§±¯ ª¸¯¸ §± ¶¢²ª¶¢
É°¬¨³ ©°Î²µ´° ©¨§¥ ¦àµ± ¶Ḩ´ ɥਠɰ¬¨³ §¤É° ²•.
¸µ¸¯ ¦¯µ± £ÉÚ¥ µ±Éå µ¤¶° ªÕ²• ¸¨¸¯ ¦µ± ––Û
£±É±¥µÁ°¶¯ ª¤É ¸ §¤É°²•. VB ²¨¨ ª¸¯¸ ²µ¶©¯ £±É±¥
µÁ³ ²µ¶¯É¥´°. ¦–³ ¦¯µ± ð±–¸±É°Ì¨ À§©¢²µ´°.

Visual Basic ª¸¯¸ £±É±¥


Visual Baisc ª¸¯¸ ÀËÛ±¶ £±É±¥ ²ªÉɳ ²¿È ªÉ¯µ´°
numeric (£»É¶ ) §± non - numeric (£»É¶ ²¶±µ¶).

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 50


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Numeric ª¸¯¸ µ¥àÂ


Numeric ª¸¯¸ ´¶¢ £»É £¤¸¡Á¸¯ ª¸¯¸ µ¥à²•. ²ˆµ±
²´±È¶°†¶¯ ¦É¸¡ ɰ̈, £½¢É°¬ˆ, µ¤öÉ°¬ˆ, ²¿ªáˆ µ¤¶°ª¤
ɥ¸ §¤É. Ôȧ¥ç µØ²´¶¯ Numeric ª¸¯¸ ´¶¢ –ð±Â
À˸°éÁ ÁÉ¡ç¢, Ô©, ¿¥, À¶¯¸°²´¯ ©°™¶ Á¨¢¶¯ Âç¶, ²É±³©¯
†Á, 𱶯½ µÁ †Á, ¨±©°É ÞÁ¯À¸¯ µÁ ˆÁ µ¤¶° ª¤ ²•.
Visual Basic µÁ numeric ª¸¯¸ ¦µ±²´¯ ª¸¯¸ µÁ
À¥±©´ £¶¢µ ²É±³©¯ 7 ɳ ²¿È ª¤É¯–´ §¤É°´. ªØ¨´
©»Éå± £µØå ²¶±µ¶ £µ©¯¸± µÁªá Integer ²§±¯ Long
Integer ð±–¸ É¥ §¤É. ªØ¨´ ©»Éå± £µØå µ¶
£µ©¯é±²•ªá Single ²§±¯ Double µ¤¶° µ¥à 𱖸 É¥
§¤É. ²ˆµ±³ Floating point ©»Éå± ²Á©ª §Î¶¯µ´°.
–¶°¨´ ²§±¯ ¨¢ªÁ¯ µÁ ¶°¸ ɥਠµÁ³ Currency ´¶
µ¥à´ª ²´±È ¸§¤É. –رÁ ªØ¨´ ©»Éå± ©ª§±
decimal ´¶ µ¥à´ª ¿±–¸ É¥´°.

µ¥à´
´ ۱̸±µ £Â´¶¯ À¥±©´

Byte 1 byte 0 ©°³ 255

Integer 2 bytes -32,768 ©°³ 32,767

Long 4 bytes -2,147,483,648©°³ 2,147,483,648


-3.402823E+38 ©°³ -1.401298E-
45 óⶠ©»Éå±µÁ³
Single 4 bytes
1.401298E-45 ©°³ 3.402823E+38
Û¶ ©»Éå±µÁ³

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 51


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

-1.79769313486232e+308 ©°³
-4.94065645841247E-324
óⶠ©»Éå±µÁ³
Double 8 bytes
4.94065645841247E-324 ©°³
1.79769313486232e+308
Û¶ ©»Éå±µÁ³

-922,337,203,685,477.5808 ©°³
Currency 8 bytes
922,337,203,685,477.5807
+/-
79,228,162,514,264,337,593,543,
950,335 ªÚ¨ ©»Éå± ²´±ª± ²¶Â¶á
Decimal 12 bytes ¶ˆ.
+/-
7.92281625142643375935439503
35 (ªÚ¨ ©»Éå± 28 É°.).

©»Éå± ²¶±µ¶ (non-


(non-numeric) ª¸¯¸
©»Éå± ²¶±µ¶ ª¸¯¸ ´¶¢ Âç°¸¨´ ɥਠµÁ³ ¿±¼¶´ ÉÁ
²¶±§¤É° £±É±¥²´¯ ª¸¯¸ ²•. ²¨¨± Text ²§±¯ String, ª°¶
§± ɱÁ´¶¯ ¸¿± ¤¶á¨ ©ª§± Date, Boolean ²¨´ £Â´¶¯
²ªÉɯ À¨¶É¯ ²• ¦¶ˆ True §± Fales ²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 52


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

µ¥à´ ۱̸±µ £Â´¶¯ À¥±©´


String(¶°©Æ
¯ ¸ String ¦É
£É¡¥¤ 1 ©°³ 65,400
ª°Â) §° ª°Â
String(²µ¶©¯ µ¶ ª°Â + 10 £É¡¥¤ 0 ©°³ 2 ÞÁ°´¶´É¯
ª°Â) ¿´°˜. À¨¶

Date 8 bytes 1- 1-100 ©°³ 31-12- 9999

Boolean 2 bytes True ²§±¯ False


Object 4 bytes §Õ¨ Object ¦Éɯ
Variant(£»É) 16 bytes Double ²Á© ²•.
¿©°˜©¯ 22+ ²µ¶©¯ µ¶ ª°Â String ²Á©
Variant(text)
ª°Â ²•.

(Á°³¥Á¯©)¯ Literals
Literals ´¶¢ ª¸¯¸ µÁ³ Á¿± ²ª¶ £Â´¶¯ ²•. ©¨§¥
£µ©¯¸±µÁªá ²¨µ± À°³¢À©°¶¯ £É¡¥¤ ª¨± ¸ ´¢¸¡²•. ¦–³
VB ²¨¨ Â綴 ɰ̨ ¾¸± –Š¨¸¯µ É¥ç¢Á¿´°. Ôȧ¥ç
µØ²´¶¯ £À°³ num=1.345# ´¶¯²¶¶¯ ²¨´ Double
µ¥à²´¯ ª¸¯¸´É¯ ²Á© ²À¶¯–´ §¤É.

²É¯¸´ ª¸¯¸ µ¥à´


& Long
! Single
# Double
@ Currency

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 53


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

†³ £¨¸¥µ £É¡¥¤ String ª¤É¯–¨ ©ª§± ²ªÀ©³


quotations ¿±–¸ É¥ §¤É. ¸µª Date (ª°¶) time
(²•Á±µ) ©ß§± # ÁÉ¡çª ð±–¸ É¥´°. ¸µª String ´¶
ª¸¯¸ µ¥à²´¯ ×ᶤ¨ £É¡¥É¯ §± ×á¶Õ¨ ©»É屪 £¤¸¡Á¸¯µ
À¤µ¸°´ §¤É.

memberName="Amila,Prera."
TelNumber="0714-987654"
LastDay=#31-Dec-00#
ExpTime=#12:30 am#

²•Ì´¿Á¯©¯
²•Ì´ ¿Á¯©¯ ´¶¢ À̶ɴ ¨Â°¶¯ ª¸¯¸ ª¨±Â¤¶á¨ ©ª§±
ÀÌÂçÉ ¨¸É²´¯ ²µ¶¯É¥ £¤¸° ²É±³©¯ ²•. §¤¨
²•Ì´¿Á´É³¨ ¶¨É¯ £¤¸. ²•Ì´¿Á´É¯ Visual Basic §°
¶ˆ ɰ̨ À§¸ À̪° ²•.

Visual Basic §° ²µÌ´¿Á´É¯ ¶ˆ ɰ̨§° ¶á¸° À§¸


À̪°²•.

• £É¡¥¤ 255 ³ £½¢–´ ´¢¸¡´.


• £É¡¥¤ ¨¤ª³ §°©¸
¯ ¤¶¯ ª¤†¨ ÉÁ ²¶±§¤É.
• £»É´É°¶¯ À³¶¯Â¸ ²¶±§¤É.
• ¸°¸ ²´ªá¨ ÉÁ ²¶±§¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 54


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Ôȧ¥ç µØ²´¶¯ µÁ»Â¡ §± µÁ»Â¡ ²¶±µ¶ ²µÌ´¿Á¯ ¶ˆ


À§¸ ª¤É¯²•.

µÁ»Â¡¶¨ µÁ»Â¡ ²¶±µ¶ ¶¨


My_Home My.Home
MyName 1stMonth
He&HisWife
Long_Name_Can_beUS
E *& ´¶¯¶ ²´±È¸
²¶±§¤É.

–Ú¢µÁ¯ ²›©°É¯ §á ª¸¯¸ µ¥à´ɯ ²•Ì´¿Á´É³ Á¿±ªá¨³


²À¥ ¦´ declare É¥´¢¸¡²µ´°. ¶¤¸¯¶ˆ §Î¶¯µ±ª°´´¢¸¡
²µ´°. ©±¨±¶å²´¶¯ ²¨´ Dim ´¶ –Û±¶´ ð±–¸ É¥†¶¯
É¥¶¢ Á¿´°. ¦´ À§¸ ª¤É¯²µ´°.

Dim Variable Name As Data Type

Dim password As String


Dim yourName As String
Dim firstnum As Integer
Dim secondnum As Integer
Dim total As Integer
Dim doDate As Date

²¨²Á©¨ ¦¯µ± À§¸ À̪° ¦É¨ ²À¯Á°²´¯ Á°´± ª¤É¯–¨³ª


À¢ µ¶.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 55


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Dim password As String, yourName As String,_


firstnum As Integer,.............

²•Ì´¿Á´É³ ª¸¯¸ µ¥à´ɯ ªá ²¶±¨¤¸° £µ©¯¸±µÉªá ¦´³


Variant(²•Ì´¶¯˜) §¶ µ¥à´ •Ú¢µÁ¯²›©°É¯ ¨Â°¶¯
Á¿±²ª¯. String µ¥à´ §Î¶¯µ±ªá²ˆªá ¦´ µ¥à²ªÉÉ°¶¯
ª¤É¯–´ §¤É°²•. ¦¶ˆ ²µ¶©¯µ¶ ª°Â°¶´
¯ ¢¸(¯ Variable
Length) §± ¶°©Æ
¯ ¸ ª°ÂÉ°¶¯ ´¢¸¯ (fixed length). ²¨§°
¾§¸°¶¯ ª¤É¯µÓ £±É±¥´ ²µ¶©¯µ¶ ª°Â°¶¯ ´¢¸¯ µ¶ £¸¥.
¶°©Æ
¯ ¸ ª°Â°¶¯ ´¢É¸
¯ µ¶ £±É±¥´ À§¸ À̪° ²–.

Dim <VariableName> as String*n ²¨§° n ´¶¢ £µØå


£É¡¥¤À˨±ç´ ²•.

Dim MyAddress String*20

¾§¸ Ôȧ¥ç²´¯ ׿³ £É¡¥¤ 20 ɳ µ½± MyAddress ³


¸¿±Â¸ ²¶±§¤É.

Constants
Constant ´¶¢ ²µ¶©¯ µ¥à²´¯ ²•Ì´¿Á –²Ø¯Ú´É°. ²¨§°
£Â´¶¯ ÀÌÂçÉ´ Û±µ¶´ µ¶ £µ©¯¸±µ¶¯ §áªá ²µ¶©¯
²¶±²•.

Constant ²•Ì´¿Á´É¯ §Î¶¯µ±ªá¨ À§¸ À̪°²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 56


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Const <Constant Name> as <Data Type>=<Value>

Const Pi As Single=3.142

Const Speed As Single=37

Const MaxMarks As Double=130.00

User Define Data types

Visual Basic §á Àµ¸°¶ ––Û ª¸¯¸ µ¥à ¤¶ ²¨¨


À¥°−²Ü¯ª²´¶¯ ׿ ¾²Â¶ ¶¯¶±Áª° ª¤¶¯ £À° ²¨¨ ª¸¯¸
µ¥à 𱖸± É¥ £À³ £µØå ²µ¶¸¯ ª¸¯¸ µ¥à´ɯ ©±È
¶°¨¢. ¦¶ˆ ª¸¯¸ µ¥à ɰ§°À´É¯ ¦É¯ É¥ ¦É¯ ª¸¯¸
µ¥à´ɯ ²Á© ð±–¸ ɰ̨³ £À³ –Ú¢µÁ¯ ²›©°É¯ §° §¤É°´±µ
£¤¸.

¦§° £±É⸰´ À§¸ ª¤É¯²•.

Private|Public Type <TypeName>


<DataName1> as <DataType1>
<DataName1> as <DataType2>
…………………………………….
…………………………………….
…………………………………….
End Type

Ôȧ¥ç´É¯ ²Á©

Public Type Employee

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 57


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

F_Name as String *20


L_Name as String *20
Age as Integer
Address as String
End Type

´¶¯¶ ª¤É¯–´ §¤É. ²¨¨Â°¶¯ ²µÌ´¿Á´É¯ ©±È¤¶°¨


©ß§±. À§¸ ²Á© declare ÉÁ ´¢¸¡ ²µ´°.

Dim Emp As Employee

²¨¨ ²µÌ´¿Á´³ ª¸¯¸ ª¤†¨ ©ß§± À§¸ ²É¯¸¶´ ð±–¸±


ÉÁ §¤É.
Public Sub Command1_Click()
Emp.F_Name=”Nimal”
Emp.L_Name=”Kumara”
Emp.Age=30
Emp.Address=”Kelaniya”
End sub

²¨²©¯ £±²ª¯Úɥ¸¯ ª¸¯¸ ¿Á±Â¤¶á¨ ©ª§± À§¸ ²É¯¸¶´


ð±–¸ ÉÁ §¤É.

Public Sub Command2_Click()


Dim Name as String
Name=Emp.F_Name + “ “ + Emp.L_Name
Form1.Print Name
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 58


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

À©¯µ¶ ÀÌ−²Ü¯ª´ - ²•Ì´¿Á ©¨Â µ¤½ ɰ̨.

²µÌ´¿Á ©ª§± £Â´¶¯ Á¿±ªá¨.


Dim ´¶ –Û±¶ ²´¶¯ ²•Ì´¿Á´É¯ §Î¶¯µ±Î¶¯ À©¢ ¦´³
À§¸ À̪° £Â´¶¯ £±²ª¯Ú ɥ¸ §¤É

Variable=<Expression>

Number=150
myNumber=Number-99
yourName="Saman Kumara"
userpass.Text = password
Label1.Visible = True
Command1.Visible = false
Label4.Caption = textbox1.Text
yourNumber = Val(usernum1.Text)
total = Number + MyNumber+YourNumber

–Ú¢µÁ¯ ²›©°É¯ §á Âç°¸ É¥à¨.


––Û À˸°ñÁ Á¿±Â¤¶á¨ ©ª§± £À°³ Âç°¸ É¥à¨
ÔÀ²´±¯ÂᲕ. –Ú¢µÁ¯ ²›©°É¯ §á + §± - µÁ³ £¨¸¥µ ¸µ¸¯
Âç°¸ ɥਠɰ§°À´É¯ ª¤É°´ §¤É ¦¯µ± À§¸ µÂ¡ ¨Â°¶¯
ª¤É¯²µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 59


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

×À²¥à³¥´ Âç°¸¨´ ØË°¸´ Ôȧ¥¶


^ ¿Á´³ ¶¤»–¨ 2^4=16

* ¡¶É°Ì¨ 4*3=12, (5*6))2=60


/ ²¿ªá¨ 12/4=3

²¿È ¾¸°Ì´ 15 Mod 4=3


Mod
ª¤É¯–¨³ 255 mod 10=5
ªÚ¨´ ²¿ª°¨ ªÚ¨
\ 19\4=4
¾µ¸¯ É¥´°.
String ¦É¸¡ "Visual"&"Basic"="Visual
+ or &
ɰ̨ ©ß§± Basic"

Dim firstName As String


Dim secondName As String
Dim yourName As String

Private Sub Command1_Click()


firstName = Text1.Text
secondName = Text2.Text
yourName = secondName + " " + firstName
Label1.Caption = yourName
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 60


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨¨ Ôȧ¥¶²´¯ ²•Ì´¿Á¯ ¸¡¶É¯ £¤¸° £¸¥ firstName §±


secondName µÁ³ À°Á°²µÁ°¶¯ Text1 ´¶ ²³É¯©¯
²¿±É¯©²´¯ §± Text2 ´¶ ²³É¯©¯ ²²¿±É¯©²´¯ Text ²À˱À™´
§° £Â´¶¯ Àµ¥± £¤¸. À©¢µ ¦¯µ± ¦É¸¡É¥ yourName ³
Àµ¥± £¤¸. ¾¶¯À©¢ yourName §° £Â´ Label1 ¶ˆ
²Á¯¿Á²´¯ ²À¶¯–¨³ ©Á©¯µ± £¤¸.

Dim number1, number2, number3 as Integer


Dim total, average as variant
Private sub Form_Click
number1=val(Text1.Text)
number2=val(Text2.Text)
number3= val(Text3.Text)
Total=number1+number2+number3
Average=Total/3
Label1.Caption=Total
Label2.Caption=Average
End Sub

²¨¨ Ôȧ¥ç´ ¨Â°¶¯ ²µÌ´¿Á¯ ¸¡¶É³ ²³É¯©¯ ²¿±É¯©


¸¡¶É°¶¯ £Â´¶¯ ²´±È£¤¸° £¸¥ ¦¯µ± ¦É¸¡É¥ Total §¶
²•Ì´¿Á³´ Àµ¥± £¤¸. ¾¶¯ À©¢ ¦¯µ±²´¯ ©±¨±¶å´
Avarage ´¶ ²µÌ´¿Á³´ ¤¶á¨ ©ª§± Total ¸¡²¶¶¯
²¿È £¤¸ ¾¶¯À©¢ ¦¯µ±²´¯ £Â´¶¯ Label1 §± Label2 ¨¸
ªÉ¯µ± £¤¸.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 61


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

§´µ¶ ÀÌ−²Ü¯ª´ - ¸á¥¶ ¤¶á¨


†³ ²À¥ ÀÌ«²Ü¯ª²´¶¯ ׿ –Ú¢µÁ¯ ²›©°É¯ µÁ°¶¯ Inputs
Á¿±²Â¶ À˸°È¶ Á¿±ªá¨ ¤¶ ¾²Â¶ ¶¯¶±Áª°. ²¨¨
ÀÌ«²Ü¯ª²´¶¯ ¸á¥¶ ¤¶á¨ ©ª§± ÀÌÂçÉ µ¤½©³§¶¯
¶°¥¨
à ±ç´ ¾²Â¶ ¶°¨¢. ¸°¥ç ¤¶á¨ ¨Â°¶¯ –²Ø¯Ú°¸ µÓ
¤³ –©ß±Â¤¶á¨³ ÔÀɱ̲µ´°. £µØå ª¸¯¸ Á¿±²Â¶
¦¨Â°¶¯ ¾¸± £¸å±µØå À˸°ÀÁ Á¿± ¤¶á¨³ ÔÀɱ̲•.

²É±¶¯²ª¯©° µÁ³ ²´±ª±Â¶¯¶± ¶°¸ É¥à¨.


VB §° µ¤½©³§¶¯ §° ¤ÁᨠÀ±Á¶´ ɰ̨³ £À°³ ––Û
£±É±¥²´¯ ¸°¥ç ¤¶á²ˆ ¶Ḡɥਠ(Conditional
Operators) ²´±È¸ §¤É. ²¨µ± ¾¸± µ¤ªÂ¸¯ ÔÀ±»Â²•.
²¨µ± ¨Â°¶¯ VB µÁ ªá£¤¸° ª¸¯¸ ©¤©¤ªá¨ ¨Â°¶¯ É¡¨¶
ÉË°´±É±¥É¨ ÉÁ´¢¸¡ª¤´° ¸á¥ç´ ÉÁ §¤É. É¡¨É¯ ÉË´
° ±¸¯¨É
ÉÁ ´¢¸¡ª µ¤½©³§¶ ¶°¨±ÉÁ ´¢¸¡ª µ¤¶°ª¤ ɥ¸ §¤É.

×À²¥³¥´ ²¸¯¥¤¨
= ©¨±¶´°
> –رÁ´°
< É¡½±´°
>= –رÁ ²§±¯ ©¨±¶´°
<= É¡½± ²§±¯ ©¨±¶´°
<> £©¨±¶´°

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 62


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

×À²¥³¥´ ²¸¯¥¤¨
²ªÀ©¨ ©¸å(true) –´
And
´¢¸¡´.
²ªÀ©°¶¯ ¦É¯À©É¯ ©¸å
Or
(true) –´ ´¢¸¡´.
²ªÀ©°¶¯ ¦É¯À©É¯ À¨çɯ
Xor
©¸å –´´¢¸¡´.
©¸å ¶ˆ £©¸å ²•
Not
£©¸å¶ˆ ©¸å ²•.
²ªÀ©¨ ©¸å ²§±¯ £©¸¯å
Eqv
µ¶–³ ©¸å ²•
ÀÁ¨¢ ÀËɱڴ ©¸å –
²ªµ¤¶¯¶ £©¸å µ¶–³ §¤¥
Imp
£¶¯©°´Í £µ©¯é± µÁªá
©¸å²•.

²¨¨ Âç°¸ ɥਠ¨Â°¶¯ Strings ª ©¤©ª°´§¤É° ²µ´°. ²¨§°


ɤÀ°³Á¯ £É¡¥¤ ©°ˆÀÁ¯ £É¡¥¤ µÁ³ µ½± É¡½± £Â´É¯ ¶á.
“A”<”B”<”C”<”D”……………….<”Z”

If......Then......Else ÀËɱڶ´ Âç°¸ ɥਠ©¨Â


²´±È¤¶á¨
VB §° ¤ÁᨠÀ±Á¶´ ɰ̨ ©ª§± ²¨¨ ÀËɱڶ´ ²´±È¶á
²¨§° ©±¨±¶å £±É±¥´ À§¸ ª¤É°²•.

If <conditions> Then
<Expressions>

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 63


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Else
<Expressions>
End If

©°´Í¨ IF... Then... Else ÀËɱڶ End IF ¨Â°¶¯ ¶°¨–´


´¢¸¡ ²µ´°.

Ôȧ¥ç:-
Private Sub OK_Click()

IF Check1.Value=1 then
FistName=”Saman”
LastName=”Kumara”
Flag.Visible=True
Hello.Visible=False
Else
FistName=”Nimal”
LastName=”Disanayake”
Flag.Visible=True
Hello.Visible=False
End IF
End Sub

²¨§°ªá IF ... Then ÀËɱڶ´ End IF ¨Â°¶ª


¯ ¶°¨ÉÁ§¤É.

IF <Condition> then
<Statements>
End IF

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 64


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Ôȧ¥ç:-

IF Check2.Value=1 then
FistName=”Nalin”
LastName=”Amaresinghe”
Flag.Visible=True
Hello.Visible=True
End IF

¸µª IF... Then ÀËɱڶ´ À§¸À̪° Nest ɥ¸§¤É. ¦¶ˆ


¦É¯ IF ... Then ÀËɱڶ´É¯ £¤¸¡Á¸ ¸µ¸¯ IF ... Then
ÀËɱڶ´É¯ £¤¸¡Á¸¯É¥ ¸§¤É.

IF <Conditions> then
<Statements>
ElseIF <Conditions> Then
<Statements>
ElseIF <Conditions> Then
<Statements>
........................
........................
........................
Else
<Statements>
End IF

Ôȧ¥ç:-

Private Sub Command1_Click()


IF Text1.Text>75 then
Result.Text=”A”
ElseIF Text1.Text>65 Then
Result.Text=”B”
ElseIF Text1.Text>55 Then
Result.Text=”C”
ElseIF Text1.Text >40 Then

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 65


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Result.Text=”S”
Else
Result.Text=”F”
End IF
End Sub

µ¶ ÀÌ−²Ü¯ª´ - Select Case À±Á¶ µå¢§´.


§¸¯µ¶
¾§¸ ÀÌ−²Ü¯ª²´¯ ªá £À° µ¤½©³§¶É ¤ÁᨠIF ElseIF
¨Â°¶¯ À±Á¶´ ɰ̨³ ¾²Â¶ ¶¯¶±Áª° ²¨¨ ÀÌ−²Ü¯ª²´¯ªá
׿ ¸µ¸¯ É˨´É¯ ¾²Â¶ ¶¢ £¤¸. ¦¶ˆ Select Case
´¶¯¶´°. ¶¨¢¸¯ ²¨§° ¦É¯ ²µ¶©É¯ £¤¸ ¦¶ˆ Select Case
´¶¯¶ ¦É¯ £Â´É¯ ¨¸ À¨çɯ ÉË°´±É¥ç £¸¥ IF ElesIF
¦²©¯²¶±²•. ¦¶ˆ Select Case §° ¦É¯ £Â´É¯ ¨¸
²É±¶¯²ª¯©° ²´±È ¤ÁሠÀ±Áç´ É¥¶ £¸¥ IF ElseIF
£Â´¶¯ É°§°À´É¯ ¨¸ ¤ÁሠÀ±Áç´ É¥§¤É.

À§¸°¶¯ Select Case À±Á¶ µå¢§´ ª¤É¯–´ §¤É.

Select Case <expression>

Case <value1>
<statements>
Case <value2>
<Statements>
Case <value3>
<statements>
Case <value4>
.
.
.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 66


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Case Else
<Statements>

End Select

ÔÈ:-
Dim grade As String

Private Sub Compute_Click( )

grade=txtgrade.Text

Select Case grade

Case "A"
result.Caption="Excellent"

Case "A-"
result.Caption="Good"

Case "B"
result.Caption="Above Average"

Case "C"
result.Caption="Average"

Case Else
result.Caption="Poor"

End Select

End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 67


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ÔÈ:-

Dim mark As Single

Private Sub Command1_Click()


'Examination Marks
mark =Text1.Text

Select Case mark


Case Is >= 85

comment.Caption = "A”
Case Is >= 70

comment.Caption = "B"

Case Is >= 60
comment.Caption = "C"

Case Is >= 50
comment.Caption = "S"

Case Else
comment.Caption = "F"

End Select

End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 68


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ÔÈ:-

Dim mark As Single

Private Sub command1_Click()

mark = mrk.Text

Select Case mark


Case 0 to 49

comment.Caption = "F"

Case 50 to 59

comment.Caption = "S"

Case 60 to 69
comment.Caption = "C"

Case 70 to 84
comment.Caption = "B"

Case Else
comment.Caption = "A"

End Select

End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 69


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£³µ¶
£³ À©
µ¶ ÀÌ−²Ü¯ª´ - ÁÓÀ¯ ¯ ¯ (Loops)
–Ú¢µÁ¯ ²›©°É¯ §° ´ˆÉ±¥à´´É¯ ¶¤µ¸ ¶¤µ¸ ɰ̨³ §¤É°´±µ
£¤¸ ²¨´³ Looping ²Á© É°´¶¢ Á¤²›. –Ú¢µÁ¯ ²›©°É¯ §á
ÀËÛ±¶ µÚ²´¶¯ Loops µ¥à ²ªÉɯ ª¤É¯´ §¤É ¦¯µ±¶ˆ

• Do Loops
• For Next Loop

Do Loop

Do Loops ¶¤µ¸¸¯ ²É±³©¯ É°§°À´É³ ²¿È ª¤É¯–´ §¤É°´


¦µ± À§¸°¶¯ ª¤É¯²µ´°. ²¨´ ²¿±²§±¯–³ ´ˆÉ°©° ²ª´É¯
²¶±ª¶¯¶± µ±¥Âç¶É¯ ɥ¤¶á¨ ©ß§± ¦¶ˆ ÉÁ°¶¯ ¶°©«
¯ ´
ɥ¸ ²¶±§¤É° µ±¥Âç¶É¯ ɥ¤¶á¨ ©ª§± ¿±–¸ É¥´°.

a) Do While <condition>
<statements>
Loop

²¨§°ªá ªá £¤¸° ²É±¶¯²ª¯©°´ ²§±¯ ²É±¶¯²ª¯©° ©¸å –


Àµ¸°¶¸¡¥¤ ²¨¨ Do While Loop ¦É ¶¤µ¸ ¶¤µ¸¸¯
É°Ë´±É¥´°.

b) Do
<statements>
Loop While <condition>

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 70


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨´ª Do While Loop ¦É ²Á©¨ ²•. ¶¨¢¸¯ ²¨´ ²§±ª°¶¯


¶°ÌíÚ¶´ÉÁ –³ ¦§° while ´¶¯¶ §± ²É±¶¯²ª¯©° £Â°¶¯
©ª§¶¯ – £¤¸° ¿µ ²À²¶¯ ¦¶ˆ Do Loop While ´¶¯¶
¨¢Á°¶¯ –Û±¶ ÉË°´±¸¯¨ÉÉ¥ À©¢µ ²É±¶¯²ª¯©° ©¸å ª¤´°
ÀÌíڱɥ ¿Á´° ¦²©¯ ©¸å ¶ˆ ¶¤µ¸¸¯ ¦¨ –Û±¶
ÉË°´±¸¯¨É É¥´°

c) Do Until <condition>
<statements>
Loop

²¨¨ Do Until Loop ´¶¯¶ ¾§¸ ²ªµ¥à´³¨ µ½± ²µ¶©¯


²µ´° ¦¶ˆ ²¨§° ª° ´ˆ ²É±¶¯²ª¯©°´É¯ ©¸å µ¶¸¡¥¤ À¨çɯ
²¨¨ –Û±¶ ÉË°´±¸¯¨É (Execute) É¥´°. ¦¶ˆ ²É±¶¯²ª¯©°´
©¸å µÓ–³ –Û±¶ Û±µ¶´ ¶µ¸± Loop ¦²É¶¯ ¦Á°´³
À¤†²¶´°.

d) Do
<statements>
Loop Until condition

²¨´ª Do Until Loop ¦É µ¤¶°¨ ²• ²¨§°ªá ²µ¶© µ¶¯²¶¯


–Û±¶ ÉË°´±¸¯¨É É¥ À©¢µ ²É±¶¯²ª¯©° ©¸å ª¤´° ©Áɱ ¿Á´°.

Ôȧ¥ç :-
Do while counter <=800
List1.Additem counter
counter =counter+1
Loop

* counter >800 µ¶¸¡¥¤ ¦É¸¡²µ†¶¯ Àµ¸°´°.

¾§¸ Ôȧ¥ç´ À§¸ ²Á© ¶¤µ¸ Á°–´ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 71


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Do
List1.AddItem counter
counter=counter+1
Loop until counter>800

Ôȧ¥ç :-

Dim Total, no As Integer


Private Sub Command1_Click()
List1.AddItem "no" & vbTab & "Total"
Do
no = no + 1
Total = Total + no
List1.AddItem no & vbTab & Total
If no = 20 Then
Exit Do
End If
Loop

End Sub

Do Loop µÁ°¶¯ ´ˆ ²É±¶¯²ª¯©°´É¯ ¨¸ ¾µ¸¯ –¨³ Exit Do


§±–¸± É¥´°.

For....Next Loop
For Next Loop À§¸ £±É±¥²´¶¯ ª¤É¯–´ §¤É°²•. ´†É°©°
²ª´É¯ ª¶¯¶± µ±¥´É¯ ¶¤µ¶ ¶¤µ¸ ɰ̨³ ð±–¸ É¥´°.
²¨´°¶¯ ¾µ¶¯–¨³ Exit For ð±–¸ É¥´°

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 72


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

For <counter>=<startNumber> to <endNumber>


(Step <increment>)
< statements>
Next
For Next Loops ª ––Û µ¥à²´¶¯ ²• ¦µ± À§¸°¶¯
ª¤É¯²µ´°.

ÔÈ:-

For counter=1 to 10
List1.Additem counter
Next
²¨§°ªá Counter ¦É³ ¦É¿¤Â°¶¯ ¦É¸¡– ¦´ 10 µÓ –³
Loop ¦²É¶¯ ¦Á°´³ À¤†²¶¯.

For counter=800 to 5 step -5


List1.AddItem counter
Next

²¨§°ªá Step ´¶ Àª´ for §° £Â°¶¯ ²´±È £¤¸ ²¨²©¯ Step


´¶¯¶ ²´±È¶¯²¶¯ ¦É¯ µ³´É¯ À´ ¸¡Á ¨¶¯É¥ç–³
Counter ´¶¯¶ ²É±À¨¶ À˨±ç´É°¶¯ ²µ¶©¯ –´´¢¸¡ ª
´¶¯¶ ª¤É¯–¨³ ²•. ¦¶ˆ ²¨§°ªá ¦É¯ µ³´É¯ ¨¶¯É¥¶–³
¦§° £Â´ 5 É°¶¯ £½Ó²µ´°

For counter=1 to 800 step 10


List1.AddItem counter

Next

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 73


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§°ªá step 10 ´¶¯²¶¶¯ ¦É¯ µ³´É¯ ¨¶¯ ɰ̲ˆªá 10


¿¤Â°¶¯ ²µ¶©¯ µ¶ ¿µ ª¤É¯²µ´°.

Private Sub Form_Activate( )


For n=1 to 10
If n>6 then
Exit For
End If

Else
Print n
End If
End Sub

For Next Loop µÁ°¶¯ ¦Á°´³ À¤†¶á¨³ Exit For ð±–¸ É¥´°.

†³ £¨¸¥µ ´† Collection ¦Éɯ ¨Â°¶¯ ª¸¯¸ Á¿± ¤¶á¨


©ª§±ª for Next Loop ð±–¸ É¥´°. ²¨©ß§± À§¸ ²É¯¸¶´
ð±–¸ ÉÁ §¤É° ²µ´°.

For Each Obj in ColObj


<Statements>
Next Obj

²¨§° Obj ´¶¢ ´ˆÉ°©° Class ¦ÉÉ Object Type ¦Éɯ µ¶ £¸¥
¦´ ColObj ¶¤¨¸° Collection ¦É§° £¤¸.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 74


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¶¨µ¶
¶¨ µ¶ ÀÌ−²Ü઴ - –Ú¢µÁ¯ ²›©°É¯ §° Functions
MsgBox() Function
MsgBox ¨Â°¶¯ pop-up ¨¤²©¯¼¯ ²¿±É¯©´É¯ Á¿± ¸ §¤É.
²¨¨¸ £¤¸° –Û±¶ ²¿±¸¯¸ˆ ¦Þ¨ ¨Â°¶¯ £µØå À˸°ñÁ´
µ¤½©³§¶³ Á¿±ª°´§¤É. ¦²¨¶¯¨ µ¤ªÂ¸¯ À¶°–½ ²À¶¯–¨
©ª§±ª ²¨´ ð±–¸ É¥´°. ²¨´ À§¸ £±É±¥²•.
yourMsg=MsgBox(Prompt, Dialog Type, Title)

²¨§° ÀÁ¨¢ argument ¦É ¨Â°¶¯ (µ¥§¶¯ £¤¸¡Á¸ £¤¸°


Prompt ´¶¯¶ ¨Â°¶)¯ £µØå À¶°–½´ ª°´´¢¸¡ ²µ´°.
²ªµ¤¶¯¶ ¨Â°¶¯ ²À¶¯–´ ´¢¸¡ –Û±¶ ²¿±¸¯¸ˆ µÁ £±É±¥´ ª
²¸µ¤¶¯¶ ¨Â°¶¯ ¾§Á ²ÉÁµ¥§° ²À¶¯–´´¢¸¡ ¨±¸âɱµ ª
ª°´ ´¢¸¡²µ´°. ²À¶¯–´ ´¢¸¡ –Û±¶ ²¿±¸¯¸ˆ £±É±¥Á¿± ¤¶á¨
©ª§± À§¸ ©ª§¶¯ £Â´¶¯ Á¿±ª°´ ´¢¸¡²µ´°.

£Â´ ¶¨ ²À¶¯µ¶ –Û±¶

0 vbOkOnly Ok –Û±¶ ²¿±¸¯¸¨


1 vbOkCancel Ok ©§ Cancel –Û±¶ ²¿±¸¯¸ˆ

Abort, Retry ©§ Ignore


2 vbAbortRetryIgnore
–Û±¶ ²¿±¸¯¸ˆ

3 vbYesNoCancel Yes, No ©§ Cancel –Û±¶ ²¿±¸¯¸ˆ

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 75


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

4 vbYesNo Yes ©§ No –Û±¶ ²¿±¸¯¸ˆ

5 vbRetryCancel Retry ©§ Cancel –Û±¶ ²¿±¸¯¸ˆ

Example:
yourMsg=MsgBox( "Click OK to Next", 1, "Startup
Menu")

yourMsg=Msg("Click OK to Next".
vbOkCancel,"Startup Menu")

yourMsg ´¶ ²•Ì´¿Á´³ Á¤²¿¶ £Â´¶¯ §± ¦¯µ± Á¤²¿¶


£µ©¯¸± À§¸ £±É±¥²´¯ ²•.

¦¿Ó
£Â´ ¶¨
²¿±¸¯¸¨

1 vbOk Ok button

Cancel
2 vbCancel
button
Abort
3 vbAbort
button
Retry
4 vbRetry
button
Ignore
5 vbIgnore
button

6 vbYes Yes button

7 vbNo No button

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 76


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub Command1_Click()

Dim ClickMe As Integer


ClickMe = MsgBox("Click Me", 1, "Click Me")
If ClickMe = 1 Then
Text1.Text = "OK Clicked"
Else
Text1.Text = "Cancel Clicked"
End If

End Sub

¨¤²©¯¼¯ ²¿±É¯©´ µ¥à¶µ¸¯ ɰ̨ ©ß§± ¦´³ £´°É¶ Á¿± ª°´


§¤É. ¦´³ Á¿± ª°´ §¤É° £´°É¶ À§¸ ª¤É¯²µ´°.

£Â´ ²É±¶¯©³
¯ ¶¯˜ ¶¨ £´°É¶´

16 vbCritical

32 vbQuestion

48 vbExclamation

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 77


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

64 vbInformation

Private Sub test2_Click()

Dim testMsg2 As Integer


testMsg2 = MsgBox("Click ME", vbYesNoCancel _
+ vbQuestion, "Click")
If testMsg2 = 6 Then
display2.Caption = "Yes Clicked"
ElseIf testMsg2 = 7 Then
display2.Caption = "NO Clicked”
Else
display2.Caption = "Cancel Clicked"
End If

End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 78


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

InputBox( ) Function
µ¤½©³§¶³ £Â´É¯ Á¿±ªá¨ ²¨¨Â°¶¯ ÉÁ §¤É. ¦´ À§¸
£±É±²´¶¯ ²•.

myMessage=InputBox(Prompt, Title,
default_text, x, y)

²¨§° myMessage ¨Â°¶¯ InputBox ¨Â°¶¯ Á¤²¿¶ £Â´¶¯


Àµ¥¶¢Á¤²›.

• Prompt ´¶¢ ²À¶¯–´´¢¸¡ À¶°–½´ ²•.


• Title ¨Â°¶¯ ¾§Á £¤¸° ¨±¸âɱµ ªÉ¯µ´°.
• default_text ¨Â°¶¯ £±¥ˆð²´¯ Àµ¸°¶ £Â´
ªÉ¯µ´°.
• X ¨Â°¶¯ ¸°¥²´¯ ª°©–
¯ ´´¢¸¡ x ɶ¯½±»É ²´¯ £Â´ ª
• Y ¨Â°¶¯ y ɶ¯½±»É ²´¯ £Â´ ª Á¿± ²ª¯.

Private Sub OK_Click()

Dim userMsg As String


myMsg = InputBox("What is your message?",
"Message Entry Form", "Enter your messge
here", 500, 900)
If myMsg <> "" Then
mylabel.Caption = myMsg
Else

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 79


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

mylabel.Caption = "No Message"


End If

End Sub

ª§µ¶
ª§ µ¶ ÀÌ−²Ü¯ª´ - ¶°¸¨´ ذ˸(Functions)

¶°¸¨´ Functions (ØË°¸) ²É¯¸¶²´¯ªá ¾¸±¨¸¯


À˲´±¯¼¶µ¸¯ µ¶ ²ª´É¯ ²•. ¨É¯¶°©±ª´¸¯ £À° ²¿±²§±¯ –³
Âç°¸¨´ ©»ÉÁ¯À ²É¯¸¶´ ©ß§± ²´±È¶¯¶± ¿¤–¶°
©ˆ¿±–¸±µ´ , Â綴ɰ̈, ²µÁ±µ¶¯ ²Â¯ ²µ¶© µ¤¶°ª¤
£À° ²¿±²§±¯–³ ð±–¸±É¥´° –Ú¢µÁ¯ ²›©°É¯ §° ¶°¸¨´ ØË°¸
Rnd, Sqr, Int, Abs, Exp, Log, Sin, Cos, Tan, Atn,
Fix §± Round ²µ´°.

(i) Rnd Function

Rnd ©ˆð±–¸±µ µ¤¶° ª¤µÁ³ ¾¸± ÔÀɱ̲•. ²¨¨


ØËḲ´¶¯ £§Ù¢²Á© 0 ¸¯ 1 ¸¯ £¸¥ £Â´¶¯ ²¸±¯¥± ²ª¯ À§¸

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 80


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ÀÌ妃 µ¤½©³§¶ ¨Â°¶¯ £§Ù¢²Á© £Â´¶¯ 10 ɯ Á¿± ²ª¯


²¨§° Randomize Timer ´¶¯¶ ¾¸± µ¤ªÂ¸¯ ²•. ¦¨Â°¶¯
²¨¨ µ¤½©³§¶ £§Ù¢²Á© ©»èå± ²¸¯Ì¨³ ÔÀɱ̲•.

Dim num as integer


Private Sub Command1_Click( )
Randomize Timer
Num=Int(Rnd*15)+1
Label1.Caption=Num
End Sub

(ii) Int Function

Int ´¶¢ ©»èå± µ¶¯ §° ªØ¨ ¾µ¸¯ É¥ ÀÓ¥¶


à ©»É屵ɯ Á¿±
²ª¶ Function ¦Éɯ ²•. Ôȧ¥¶ µØ²´¶¯ Int(2.4)=2,
Int(4.8)=4, Int(-4.6)= -5, Int(0.032)=0 ²Á© ²•.

(iii) Sqr Function

Sqr ¨Â°¶¯ ©»Éå±µÉ µ¥à ¨ÓÁ´ ²©±´±Â¤¶á¨³ ¿±–¸ ²•.


Ôȧ¥¶ µØ²´¶¯ Sqr(4)=2, Sqr(9)=3 ²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 81


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

(iv) Abs Function


Function

Abs ¨Â°¶¯ ¨±À±»É £Â´ Á¿± ²ª¯ ¦¶ˆ ¦§° Û¶ £Â´ Á¿±
²ª¯ Ôȧ¥ç µØ²´¶¯ Abs(8)=8 §± Abs(-8)=8 ²•.

(v) Exp Function

Exp(x) ²¨§° x ´¶¢ ex §° x ²•. ²¨¨Â°¶¯ ex ØË°¸²´¯ £Â´¶¯


Á¿± ²ª¯.

(vi) Fix Function

Fix §± Int ¦É²Á© §¤©°²¥à ¶¨¢¸¯ óⶠ©»Éå± µÁªá ²¨´


À§¸ ²Á© ²µ¶©¯²•. , Fix(-6.34)= -6 Int(-6.34)=-7

(vii) Round Function

Round ¨Â°¶¯ ¶°©Æ


¯ ¸ ªÚ¨ ©»Éå±Â¶¶É³ ²¨´
£½¢É¥¶¢Á¤²›. Ôȧ¥ç²Á© Round (7.2567, 2) =7.26

(viii) Log Function

²¨¨Â°¶¯ Áó¢Â¶É £Â´¶¯ Á¿± ²ª¯ Ôȧ¥¶ µØ²´¶¯


Log(10)=2.302585

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 82


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub Form_Activate ()

n=1
Print " n", " x", "Int(x)", "Fix(x)",
"Round(x, 4)"
Do While n < 11
Randomize Timer
x = Round (Rnd * 7, 7)
Print n, x, Int(x), Fix(x), Round(x, 4)
n=n+1
Loop
End Sub

µ¶
¦²É±²Á±©¯µ¶ ÀÌ−²Ü¯ª´ - ²¹±¯¥¨
à ¤™¶¯
(Formatting) Functions

Outputs Format ɰ̨ ¾¸± µ¤ªÂ¸¯ ɱ¥à´´É¯ ²•. ¦–³


À°Á°²µÁɯ £¤¸°µ ª¸¯¸ ©É©¯É¥ ð±–¸±É¥¶¯¶¶¯³ Á¿±ª°´
§¤É.

(i) Tab function

Tab(n) ¨Â°¶¯ Tabs n ¶¶É¯ Print ɥ¸ §¤É. Tab(n)


³ À©¢µ “;” ²´±È¤¶á²¨¶¯ £´°¸¨ ¦ÉÁì Print ɰ̨³
§¤É°´±µ Á¤²›.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 83


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub Form_Activate


Print "Welcome"; Tab(5); "to"; Tab(8); "VB";
Tab(12); "6.0"
Print
Print Tab(15); "Welcome"; Tab(35); "to";
Tab(20); "VB"; Tab(25); ); "6.0"
End sub
(ii) Space function
²¨¨Â°¶¯ £±©¶¯¶ £´°¸¨ ²ªÉɯ £¸¥ £¤¸° ¾½ Á¿±ª°´ §¤É.
Private Sub Form_Activate()
Print "Visual"; Space(10); "Basic"
End Sub

(iii) Format function

¾¸±¨¸¯ µ¤ªÂ¸¯ Funcion ¦Éɯ ²•. ©»Éå± ––Û £±É±¥´³


²µ¶©¯ ɰ̨ ©ß§± ²´±È ¶á. ²¨´ À§¸ £±É±¥²´¶¯
ª¤É¯•´ §¤É°²•.

Format (number, “argument”)

£Â´ À¤§¤ª°Á° ɰ̨ Ôȧ¥ç´


General ª§²©¯ ©»Éå± £¸¥
Number ²µ¶¯É¥ ²¶±¨¤¸°µ

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 84


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²À¶¯–¨³ Format(8972.234,
“General
Number”)=8972.234
Fixed ª§²©¯ ©»Éå± ²µ¶¯
É¥ ²¶±ª¤É¯–¨ §±
£µ©±¶ ªÚ¨ ©»Éå± Format(8972.2,
²ªÉɳ µ¤³´á¨³. “Fixed”)=8972.23

Standard ª§²²©¯ ©»Éå±


²µ¶¯É¥ ª¤É¯–¨ §±
£µ©±¶ ªØ¨ ©»Éå± Format(6648972.265
²ªÉɳ µ¤³´á¨³. , “Standard”)=
6,648,972.27
Currency ¾ª°¥²´¶¯ $ ÁÉ¡¡¶
²´ªá¨ §± ª§²©¯
©»Éå± ²µ¶¯É¥ Format(6648972.265
ª¤É¯—¨ª ªÚ¨ , “Currency”)=
©»Éå± ²ªÉɳ $6,648,972.27
µ¤³´á¨ª É¥´°.
Percent ©»Éå±µ À˸°Ú¸´É¯
²Á© ªÉ¯µ´° £Â³ %
ÁÉ¡¶ ²´±ª´°. ªÚ¨ Format(0.58324,
©»Éå± ²ªÉɳ “Percent”)=58.32 %
µ³´´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 85


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub Command1_Click()


Print Format (8972.234, "General Number")
Print Format (8972.2, "Fixed")
Print Format (6648972.265, "Standard")
Print Format (6648972.265, "Currency")
Print Format (0.56324, "Percent")
End Sub
¸µª Format ¨Â°¶¯ ª°¶ §± ²•Á±µ¶¯ £µØå À̪° ©É©¯É¥
¸ §¤É
£Â´ À¤§¤ª°Á° ɰ̨ Ôȧ¥ç´
y £µ¢¥¤ª¯ª Format(Now,”yyyy”)
Á¿±Â¤¶á¨³ ¿±–¸ =2010
É¥´°
M ²§±¯ m ¨±©´ ²§±¯ †¶°¸¸
¯ ¡ Format(Now,”mm”)
=02 ‘Month
Âç¶ Á¿±Â¤¶á¨ Format(Now,”hh:mm
©ß§± ð±–¸ É¥´° ”)=8:55

d ª°¶´ Á¿±Â¤¶á¨³ Format(Now,”dd”) =


03
¿±–¸ É¥´°
h ²¨¨Â°¶¯ À¤´ ¶¶ Format(Now,”hh:mm
”)=12:45
Á¿±²ª¯
s ²¨¨Â°¶¯ ¸¸¯À¥ Format(Now,”hh:mm
:ss”)=10:02:43

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 86


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Âç¶ Á¿±Â¸
§¤É
µ¶ ÀÌ−²Ü¯ª´ - String Manipulation
²È²Á±©¯µ¶
Functions

²¨¨ ÀÌ−²Ü¯ª²´¶¯ £À° String §° ²µ¶©¯Éˆ ɰ̨³ £µØå


Functions ¤¶ ¾²Â¶ ¶°¨¢.

(i)Len Function

²¨¨ Function ¦²É¶¯ Integer £Â´É¯ Á¿± ²ª¯ ¦´ ²¨´³


Á¿± ²ª¶ String ¦É§° ª°Â ²–.

Len (“String”)

Len (“VisualBasic”) = 11
Len (“welcome to VB tutorial”) = 22

(ii) Right Function

²¨¨Â°¶¯ ªá£¤¸° String ¦ÉÉ°¶¯ ªÉ¡ç°¶¯ £¤¸° £É¡¥¤


É°§°À´É¯ Á¿±Â¤¶á¨³ ÔÀɱ̲•.

Right (“String”, n)

²¨§° n ´¶¢ ªÉ¡²ç¯©°³ Á¿±Â¤¶á¨³ £µÚå £É¡¥¤ À˨±¶´§°


À³¶¯Â¤¶¯¨ ²•.

Right(“Visual Basic”, 4) = asic

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 87


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

(iii)Left Function

²¨¨Â°¶¯ ªá£¤¸° String ¦ÉÉ°¶¯ µ†¶¯ £¤¸° £É¡¥¤ É°§°À´É¯


Á¿±Â¤¶á¨³ ÔÀɱ̲•.

Left(“String”, n)

²¨§° n ´¶¢ µ²ˆ©°³ Á¿±Â¤¶á¨³ £µÚå £É¡¥¤ À˨±¶´§°


À³¶¯Â¤¶¯¨ ²•.

Left (“Visual Basic”, 4) = Visu

(iv)Ltrim Function

²¨¨Â°¶¯ String ¦ÉÉ µˆÀ© £¤¸° §°©¸


¯ ¤¶¯ ¾µ¸¯ É¥´°

Ltrim(“String”)

Ltrim (“ Visual Basic”)= Visual basic

(v) Rtrim Function

²¨¨Â°¶¯ String ¦ÉÉ ªÉ¡ç¢ À© £¤¸° §°©¸


¯ ¤¶¯ ¾µ¸¯ É¥´°

Rtrim(“String”)

Rtrim (“Visual Basic ”) = Visual basic

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 88


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

(vi)Trim function

²¨¨Â°¶¯ String ¦ÉÉ ²ªÀ©¨ £¤¸° §°©¸


¯ ¤¶¯ ¾µ¸¯ É¥´°

Trim(“String”)

Trim (“ Visual Basic 6.0 ”) = “Visual basic 6.0”

(viii)Mid Function

²¨¨Â°¶¯ String ¦ÉÉ £¤¸° £É¡¥¤ É°§°À´É¯ (Sub string)


Á¿±Â¤¶á¨³ ð±–¸ É¥´°.

Mid(String, Start position, Length)

²¨§°Start position ´¶¢ String ¦É§° £¤¸° À³¶¯ ¤¶¯¨


µ¶ £¸¥ Length ´¶¢ £É¡¥¤ ©»Éå±µ ²•.

Mid(“Visual Basic”, 3, 6) = ual Bas

(ix)InStr function

²¨¨Â°¶¯ String ¦ÉÉ £¤¸¡Á¸ ªá £¤¸° ¸µ¸¯ String ¦Éɯ


Àµ¸°´°ª´° ¿¤Áᨳ ÔÀɱ̲•.

Instr (Starting Point, string To Search, String to


Find)

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 89


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° Starting Point ´¶¢ À³¶¯Â¶¯¶± ©¯é±¶´ ²•. String


To Search ´¶¢ £À³ ²©±´¶¢Á¿¶ String ¦É ²µ´°
String To Find ´¶¢ ²©±´±Â¸ ´¢¸¡ String ¦É²•.
²¨¨Â°¶¯ ¦¨ Sub String ¦É Àµ¸°¶ ©¯é±¶´ Á¿± ²ª¯.

Instr(1, “Visual Basic”,” Basic”)=8

(x) Ucase §± Lcase functions

Ucase ¨Â°¶¯ ©°´ ¨ £É¡¥¤ ɤÀ°³Á¯ £É¡¥¤ ¿µ³


À̵¥à¸¶´ É¥ç £¸¥ Lcase ¨Â°¶¯ ©°´Í £É¡¥¤ ©°ˆÀÁ¯
¿µ³ À̵¥à¸¶´ É¥çÓ Á¤²›.

Ucase(“Visual Basic”) =VISUAL BASiC

Lcase(“Visual Basic”) =visual basic

(xi) Str §± Val functions

Str ¨Â°¶¯ ©»Éå± String ¿µ³ À̵¥à¸¶´ É¥´°. Val ¨Â°¶¯


String ©»Éå±µÁ³ À̵¥à¸¶´ É¥¶¢ Á¿´°.

(xii) Chr §± Asc functions

Chr ¨Â°¶¯ A
à SCII ²É¯¸¶ £É¡¥¤ ¿µ³ À̵¥à¸¶´ É¥´°
Asc ¨Â°¶¯ £É¡¥¤ £ÈÁ ASCII ²É¯¸¶ ¿µ³ À̵¥à¸¶´
É¥´° ASCII ´¶¢ American Standard Code for

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 90


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Information Interchange ²•. ²¨§° Code 255 ɯ £½»Â¡


²µ´°.

Chr(charcode)

Asc(Character)

Chr(65)=A, Chr(122)=z, Chr(37)=% , Asc(“B”)=66,


Asc(“&”)=38

(xiii) Replace function

²¨¨Â°¶¯ String ¦ÉÉ £¤¸° £É¡¥¤ µÁ £¤¸° ´ˆ Àª´É¯


²¸±¥± ¦´ ªá £¤¸° Àª´É¯ ¨Â°¶¯ Replace É¥´°.

Replace("Visual Basic 5.0", "5", "6")=Visual Basic 6.0

(xiv) InStrRev function

²¨¨Â°¶¯ ªá £¤¸° string ¦ÉÉ £¤¸° Àª´É¯ À©¢À© ©°³ ²©´¶¢


Á¤²› ÀÁ¨¢ §¨¢–²ˆªá ¦´ Àµ¸°¶ ©¯é±¶²´¯ £Â´ Á¿±²ª¯.

InStrRev("Visual Basic", "Ba")=8

(xv) StrComp function

²¨¨Â°¶¯ ª° £¤¸° String ²ªÉɯ ©©ß± ¿Á´° ÀÁ¨¢ String


¦É ²ªµ¤¶¯¶³ µ½± –رÁ ²•¶† 1 ª ²ªµ¤¶¯¶ ÀÁ¨¢

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 91


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

µ¤¶¯¶³ µ½± –رÁ²•¶† -1 ª ²ªÉ¨ ©¨±¶²• ¶ˆ 0 ª ´¶


£Â´¶¯ Á¤²›.
StrComp("Visual", "visual", vbBinaryCompare)=-1

StrComp("visual", “Visual", vbBinaryCompare)=1

StrComp("Visual", "Visual", vbBinaryCompare)=0

²¨§°ªá vbBinaryCompare ¨Â°¶¯ £É¡¥¤µÁ Ascii £Â´¶¯


©©ß±¿¤Áᨠɥ´° ¦–³ V < v µ¶¿¤–¶¯ ²¨¨ £Â´¶¯ Á¤²›.
²¨§° ª° vbTextCompare ²´ªá¨ ¨Â°¶¯ ²¨´ £É¡¥¤ ²Á©
©¤©ßᨠɥ´° ¦–³ £Â´¶¯ ©¨±¶²•.

ª§¸¡¶µ
¯ ¶ ÀÌ−²Ü¯ª´ - £¤²¥à©¯ (Arrays)

£¤²¥à©¯ (Arrays) ´¶¢ ²•Ì´¿Á µÁ Á´°©¸


¯ ¡µÉ°.
©¨±¶å²´¶¯ £À° ¦É £´°³¨´É¯ ©¨Â µ¤½É¥á† É¥¸¯
©¨§¥ £µ©¯¸±µÁªá £´°¸¨ É°§°À´É¯ ©¨Â ɱ¥å´¶¯ ɰ̨³
©°Î²µ´° ¦–³ £À°³ Arrays ÔÀɱ̲• ²¨µ±²´¯ ¦É¨
µ¥à²´¯ ²•Ì´¿Á É°§°À´É¯ £½»Â¡²•. Ôȧ¥ç µÚ²´¶¯
¶ˆ 100ɯ ¦É¯ String Array ¦Éɳ ª¨±Â¸ §¤É. £À³
²µ¶ ²µ¶¨ ¶ˆ 100 ª¨±Â¤¶á¨³ ²•Ì´¿Á Á°–¨³ µ½±

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 92


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¦Éµ¥ Array ¦Éɯ ²´±È²Â¶ ¶ˆ 100 £¤¸¡Á¸¯ ɰ̨ À§©¢


²µ´°.

Arrays ¸¯ ÉÁ ¦´³ ––Û ¨±¶ (dimensions) £¤¸ ¦µ±


¨±¶ 1, ¨±¶ 2, ¨±¶ 3 ... ²Á© ª¤É¯–´ §¤É. ÀÁ¨¢¨±¶²´¯
Arrays ArrayName(x) ²Á©ª ²ªµ¶ ¨±¶²´¯ Arrays
ArrayName(x,y) ²Á©ª ²¸µ¶ ¨±¶²´¯ Arrays
ArrayName(x,y,z) ²ˆµ±´°¶¯ ²¿²§±–³ ÀÁ¨¢ ¨±¶²´¯ §±
²ªµ¶ ¨±¶²´¯ Arrays À¨çɯ ð±–¸ ²•. ÀÁ¨¢ ¨±¶²´¯
Arrays ¨Â°¶¯ ²À¯Á°´É¯ ª ²ªµ¶ ¨±¶²´¯ Arrays ¨Â°¶¯ ²À¯Á°
§± ¸á¥ £¤¸° µÂ¡µÉ¯ª ²À¶¯¶¢ˆ É¥´°.

׿³ Arrays Public ²§±¯ Dim ²´±ª±²Â¶ –Ú¢µÁ¯ ²›©°É¯


µÁ §Î¶¯µ±ª°´§¤É. ²¨¨ ²µÌ´¿Á´É £±É±¥²´¯¨ ²•.
Public ²Á© §Î¶¯µ±Î¶¯ Arrays ¨¢ µ¤½©³§¶ À¢¥±¨
²´±È¸ §¤É° £¸¥ Dim ²´±È ¶¯¶± Arrays ¦¨
²¨±½¢´¢Á´ ¸¡Á À¨çɯ ð±–¸± ÉÁ §¤É.

Dim arrayName(n) as dataType

Ôȧ¥ç:-
Dim EmpName(10) as String
Dim EmpMarks(10,10,10) as Double

Dim EmpName(10) As String


Dim number As Integer
Private Sub addName()

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 93


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

For number = 1 To 10
EmName(number) = InputBox("Enter the
employee name", "Enter Name", "", 500, 500)
If EmpName(number) <> "" Then
Print EmpName(number)
Else
End
End If
Next
End Sub

Dim EmpName(10) As String


Dim number As Integer

Private Sub addName( )


For number = 1 To 10
EmpName (number) = InputBox("Enter the
employee name")
empList.AddItem EmpName(number)
Next

End Sub

Private Sub Start_Click()


addName
End Sub

£¤²¥à©¯ ²¨²©¯ ª ¶ˆÉ¥Â¸ §¤É ¦¶ˆ


Dim StName(10 To 20)
²¨–³ ¦§° Elements 10 ©°³ 20 ªÉ¯µ± À¨çɯ Àµ¸°
²¨²Á© –ÚÓµÁ¯ ²›©°É¯ §° £¤²¥à©¯ À³¶¯ ¶¯¶± ©¯é±¶´
²µ¶©¯ ÉÁ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 94


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¸µª £¤²¥à©¯ µÁ Elements ²µ¶©¯ µ¶ £±É±¥²´¶¯ª Àµ¸°


²¨ ©ª§±
Dim StName()
ReDim StName(20)
.......................
.......................
.......................
ReDim Preserve stName(50)

²¨§° ªá ¨¢Á°¶¯ ¨ §°©¯ £¤²¥à ¦Éɯ §Î¶¯µ±ª°´ ´¢¸¡ ²µ´° À©¢µ


ReDim ¨Â°¶¯ ¦´³ Elements ¶¶É¯ ª¨± ²µ¶©¯ ɥ¸
§¤É.
²¨§° Preserve ´¶¯²¶¶¯ ²¨§° Elements ²µ¶©¯ µ¶ –³
¦µ±²´¯ £Â´¶¯ ²µ¶©¯ ²¶±µ¶ ²Á©³ Àµ¸¯µ± ¤¶á¨³
Ôªµ¢²•.

ȧ¸¥µ¶
ȧ¸¥ µ¶ ÀÌ−²Ü¯ª´ - ©›¥Õ™¶¯©¯ (Sub
Routines) §± ¹¶¯ÉØ
¯ ¶¯ (Function)
ÀÌÂçÉ µ¤½©³§¶¯ ¶°¥¨
à ±ç´ À°ò°¿ß ²¿±²§±¯ ªÕ ׿ ²ˆ
µ¶–³ Բ¶ ¶¯¶± Áª°. ²¨¨ ÀÌ«²Ü¯ª²´¶¯ ©›¥Õ™¶¯©°
§± ¹¶¯ÉØ
¯ ¶¯ ²É¯¸¶´ É¥ç £±É±¥´ £À° Բ¶ ¶°¨¢.
ÀÌÂçÉ µ¤½©³§¶¯ ¶°¥¨
à ±ç²´¯ªá £À³ ´ˆ´ˆ ªÕ ¶¤µ¸
¶¤µ¸¸¯ ɰ̨³ £µØå ²µ´°. ¦–³ £À°³ ¦´ ¶¤µ¸ ¶¤µ¸¸¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 95


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ÀÌÂçÉ ²É¯¸¶ ¼²¶¯Á²´¯ ²É¯¸¶´ ɥ¸ ´¢¸¡²µ´°.


²¨¶°©± ²É¯¸¶´ ɰ̨³ ²¿±²§±¯ ɱÁ´É¯ ¸²µ´°. ²¨´
µÁɯµ± ¤¶á¨³ £À³ ©› ¥Õ™¶¯©¯ §± ¹¶¯ÉÚ
¯ ¶¯©¯ ð±–¸± ÉÁ
§¤É. ´† É°©° ²É¯¸¶ Á´°©¸
¯ ¡µÉ¯ ¦É³ ²Â±¶¢É¥ ¦Éɯ ²¨¶¯
²´±È¤¶á¨³ ©›¥Õ™¶¯©¯ §± ¹¶¯ÉØ
¯ ¶¯©¯ ÔÀɱ̲•. ¦¶ˆ
²É¯¸¶ ¼²¶¯Á´¸¡Á ©›¥Õ™¶¯©¯ ²§±¯ ¹¶¯É©
¯ ¶¯©¯ µÁ ¶†¶¯
ɸ±É°Ì¨ (Call) ¨Â°¶¯ ¦´ ¶¤µ¸ ¶¤µ¸¸¯ ²É¯¸¶ µÁ³
²´±È¸ §¤É.

©›¥Õ™¶¯ (Sub Routine)


²¨§° £±É⸰´ À§¸ À̪° ²•.

private|public Sub <Name>(argList)


//׿²Â¯ ²É¯¸¶´ ²¨§° Á°´± ªÉ¯µ¶¯¶
<Statements>
[Exit Sub]
End Sub

²¨§° private ²§±¯ public ð±–¸²´¶¯ ²¨¨ ©›¥Õ™¶´ Á°´±


£¤¸° ²¨±½¢´¢Á´³ À°³¸°¶¯ £¤¸° ²¨±½´¢Á ¨Â°¶¯ ²¨´³ ɸ±
ɰ̨³ §¤É°´±µ £¤¸¯ª ²¶±¨¤¸°ª ´¶¯¶ ªÉ¯µ´°. ¦¶ˆ ¦´
public ²Á© Á°´± ªÉ¯µ± £¤¸¯¶ˆ ¦–³ ¦¨ ©›¥¤™¶´³ ¦´
Á°´± £¤¸° ²¨½´¢Á²´¯ À°³¸°¶¯ £¤¸° ²¨±½´¢Á ¨Â°¶¯ ɸ±É¥
§¤É. Private ²Á© ²´±È £¤¸¯¶¨ ¦²©¯ ÉÁ ²¶±§¤É.

©›¥Õ™¶´ ©Õ¨ –³¨ End Sub µÁ°¶¯ £µ©¶¯²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 96


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° Sub ´¶ Àª²´¶¯ ²¨´ ©›¥Õ™¶´É¯ ¿µ ªÉ¯µ´°.

²¨§° Name ´¶¢ ©›¥Õ™¶´³ ª°´ ´¢¸¡ ¶¨ ²•. ©›¥Õ™¶´


¸¤¶É ²´±ª± ¤¶á²ˆªá ¦´³ ²¨¨ ¶¨ ²´±È ɸ±ÉÁ
´¢¸¡²µ´°. ¶¨ Á°–²ˆª° ¾½¸¤Þ¨ ÉÁ ²¶§¤¸ ¦¶ˆ
Emp Name ²Á© Á°–´ ²¶±§¤É. ¶¨¢¶¯ “_” ¿±–¸²´¶¯ ¦´
Emp_Name ²Á© Á°–´ §¤É. ²µÌ´¿Á Á°–²ˆªá ¿ÁÀÕ
©°´Í ¶á¸á¶¯ ²¨´³ª ¿ÁÀ±´°.

²¨§° argList ´¶¢ ²¨´ ³ £¤¸¡Á¸¯ ÉÁ ´¢¸¡ £Â´¶¯


Á´°©¸
¯ ¡µ²• ²¨´ ³ ²µÌ´¿Á Á©°©¸
¯ ¡µÉ¯ £¤¸¡Á¸¯ ÉÁ §¤É.
¦µ± <Name> as <dataType> £±É±¥²´¯ ²• ²¨§° Name
´¶¢ ²µÌ´¿Á²´¯ ¶¨ µ¶ £¸¥ dataType ¨Â°¶¯ ¦§° ª¸¯¸
µ¥à´ Á¿± ²ª¶¢ Á¤²›. ©›¥Õ™¶´ £¸¥ ¨ìªá ¦´°¶¯ ¾µ¸¯
–¨ ©ß§± Exit Sub ð±–¸ É¥´°.
²¨´³ Ôȧ¥ç´É¯ À§¸°¶¯ ª¤É¯²µ´°.

Public Sub AddNumbers(num1 as Integer,num2 as Integer)


Dim Total as Integer
Total=num1+num2
Print “Total” ; Total
End Sub

¾§¸°¶¯ ©»Éå± ²ªÉɯ ¦É¸¡ ɰ̨³ §¤É° µ¶ ²Á© Á°´± £¤¸°


©›¥¤™¶´É¯ Á°´± ªÉ¯µ± £¤¸. ²¨´ ¨Â°¶¯ num1 §± num2
´¶ ²µÌ´¿Á ²ªÉ ¦É¸¡É¥ ¦§° ¦É¸¡µ ¸°¥²´¯ ª°©–
¯ ¨³

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 97


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

©Á©¯µ´°. ¦©ª§± num1 §± num2 ³ £Â´¶¯ £¤¸¡Á¸¯


ɥ¸ ´¢¸¡²µ´°. ²¨¨ ©›¥Õ™¶´³ ɸ±É°Ì¨ ²¨²©¯ ª¤É¯–
´ §¤É°´.
Public Sub Command1_Click()
//–Û±¶ ²¿±¸¯¸²ˆ ɯÁ°É¯ ¾²µ¶¯³´
AddNumbers 5, 10 //©Þ¥Õ™¶´³ ɸ± ɰ̨.
End Sub

¹¶¯ÉØ
¯ ¶¯ (Function)
¹¶¯ÉØ
¯ ¶¯ ¦ÉÉ £±É⸰´ À§¸ ª¤É¯²µ´°.

Private|Public Function <Name>(argList)


as <dataType>
//׿ ²Â¯ ²É¯¸¶´ ²¨§° ©ß§¶¯ É¥¶¯¶.
<Statements>
[Exit Function]
<Name>=Result
End Function

²¨´ª ©› ¥Õ™¶¯ £±É±¥´ ²• ²¨´ End Function ²Á©


£µ©¶¯²•. ÀËÛ±¶ ²µ¶© µ¶¯²¶¯ ©› ¥Õ™¶¯ ²¨¶¯ ²¶µ
¹¶¯ÉØ
¯ ¶¯©¯ ¨Â°¶¯ £Â´É¯ À°³¸³ ¸ §¤É°–¨´°. ²¨§°
À°³¸³ Á¿± ²ª¶ £Â²´§° µ¥à´ dataType ¨Â°¶¯ ªá £¤¸.
À°³¸³ Á¿± ²ª¶ £Â´ Result ¨Â°¶¯ ²À¶¯µ´° ¦¶†
Name=Result ¨Â°¶¯ Result ´¶¯¶ À°³¸³ Á¿±Â¸§¤É°
¿µ ªÉ¯µ´°. ²¨§°ªá ¹¶¯ÉÚ
¯ ¶¯ ¦É £¸¥ ¨Âªá ¦´°¶¯ ¾µ¸¯–¨
©ß§± Exit Function ´¶¯¶ ð±–¸ É¥´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 98


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£À° ª¤¶¯ ¾§¸ ©› ¥Õ™¶¯ µÁ Ôȧ¥¶´ ¹¶¯ÉÚ


¯ ¶¯©¯ µÁ³
²´±È²Â¶ ¿Á¨¢.
¦´ £À³ À§¸ £±É±¥´³ Á°–´ §¤É.

Public Function AddNumbers(num1 as Integer,num2


as Integer)
Dim Total as Integer
Total=num1+num2
AddNumbers=Total
End Function

²¨¨ ¹¶¯ÉÚ
¯ ¶¯ ¦É ¨Â°¶¯ num1 §± num2 µÁ £Â´¶¯
¦É¸¡É¥ Total ¶ˆ ²µÌ´¿Á´³ £±²ª¯Ú É¥´°. À©¢µ ¦´
Function ¦²É¶¯ À°³¸³ Á¿±²ª¯.

²¨´ ²´±È ¶¯¶± £±É±¥´ ª¤¶¯ £À° ©Áɱ ¿Á¨¢.

Private Sub Command1_Click()


Dim Total as Integer
Total=AddNumbers(5,10)
Print “Total : “; Total
End Sub

Values §± Reference ¨Â°¶¯ £¤¸¡Á¸¯ ɰ̨.


©±¨±¶å²´¶¯ ¹¶¯ÉÚ
¯ ¶¯©¯ §± ©› ¥Õ™¶¯©¯ µÁ³ £¤¸¡Á¸¯ É¥¶
£Â´¶¯³ ¦´¸¡Á ªá µ¶ ²µ¶©¯ Ɉ ©°Îµ¢µ²§±¸¯ À°³¸³ –¸¯
¿¤ ÉÁ ²µ¶©¯ – £¤¸° ¿µ ²À²¶¯. ²¨´ Reference ¨Â°¶¯
£¤¸¡Á¸¯ ɰ̨²•. ¦¶ˆ ¹¶¯ÉÚ
¯ ¶¯ ²§± ©› ¥¤™¶ ¸¡Áªá µ¶

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 99


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²µ¶©¯ Ɉ ¦¨ ¹¶¯É©
¯ ¶¯ µÁ°¶¯ ²§± ©›¥¤™¶¯ µÁ°¶¯ ¾µ¸¯µ¢
À©¢¸¯ ¿Á±Â¸ §¤É.
Values ²Á© £¤¸¡Á¸¯ ɰ̲ˆªá £¤¸¡Á¸¯ É¥ç ²µÌ´¿Á µÁ
£Â´¶¯ £¤¸¡Á¸ µ¶ ²µ¶©¯ –ˆ µÁ³ 𱼶´ ²¶±²•. ¦¶ˆ
¦µ± ²Â¯ £Â´¶¯ À¨çɯ £¤¸¡Áµ
¯ ¶ £¸¥ ²µÌ´¿Á´ ¦¯§±
©›¿¶¯Û ²¶±²•.

²¨§°ªá Values £¤¸¡Á¸¯ ɰ̨ ©ß§±.


Public|Private Sub|Function <Name> (byVal
<variable> as <DataType>,...)

End Sub

²¨§°ªá £¤¸¡Á¸¯ É¥ç ²µÌ´¿Á µÁ ¶¨³ ¾ª°Ì²´¶¯ byVal


´¶ –Û±¶´ ²´±È¶¢ Á¤²›.

Reference ²Á© £¤¸¡Á¸¯ ɰ̨ ©ß§±


Public|Private Sub|Function <Name>(byRef
<variable> as <DataType>,...)

End Sub

²¨§°ªá byRef ´¶ –Û±¶´ ²´±È ¶¯¶± £¸¥ ¦´ ²µÌ´¿Á


µÁ ¶¨§° ¾ª°Ì²´¶¯ ²´±È¶¢Á¤²›.

ﻱ:-

Public Sub MySub(byVal X as Integer ,byRef Y as


Integer)

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 100


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

X=X+5
Y=Y+10
End Sub

Public Sub Command1_Click()


Dim A as Integer
Dim B as Integer
A=10
B=20
MySub A, B
Print “A=”;A
Print “B=”;B
End Sub

¾§¸ Ôȧ¥¶´ §° MySub ¶ˆ ©› ¥¤™¶´É¯ Á°´± £¤¸


¦´³ X Value ²Á©³ §± Y Reference ²Á©³
arguments ²´±È£¤¸. Command1 ´¶ ²¿±¸¯¸²ˆ ɯÁ°É¯
¾²µ¶¯³´§° ¦´³ ɸ±É¥ £¤¸. ¾¶¯ À©¢ ¦µ± ²´¯ £Â´¶¯
¸°¥´³ ¨¢Ç¶´ É¥ £¤¸ ²¨§° ªá
A=10
B=30
²Á© £Â´¶¯ Á¤²› ²¨²©¯µ¶¯²¶¯ A
à £Â´É¯ ²Á© £¤¸¡Á¸¯
ɰ̨¶°©± ¦§° £Â´ ²µ¶©¯ ²¶±µ¶ ¶¨¢¸¯ B reference
²Á© £¤¸¡Á¸¯ ɰ̨¶°©± ¦´ ¸¡Á ¦´³ 10 ɯ ¦É¸¡–¨ ²•.

À§²Á±©¯µ¶ ÀÌ−²Ü¯ª´ - ¹´°Á©


¯ ¯ (Files)
ÀÌÂçÉ µ¤½©³§¶¯ ¶°¥¨
à ±ç´ ©ˆ¿¶¯ª²´¶¯ ׿ ²¨²¸É¯
¾²Â¶Â¸¯ ªÕ¸¡Á°¶¯ ÀÌÂçÉ µ¤½©³§¶ Û±µ¶´ µ¶

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 101


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£µ©¯¸±²•ªá ¦´³ ª¸¯¸ Á¿±ªá ¦¨Â°¶¯ ´ˆÉ°©° À˸°éÁ´É¯


Á¿± ¤¶á²ˆ µ¤½©³§¶¯ ¶°¥¨
à ±ç´ ÉÁ §¤É°²µ´°. ¶¨¢¸¯ ¦¨
ÀÌ妃 µ¤½©³§¶ Û±µ¶´ ¶¸¥ÉÁ –³ ¦¨ Á¿±Î¶¯ ª¸¯¸
§± ÀËé°ñÁ ©°´Á¯Á ¶¤¸°–´´°. ¨É¯¶°©±ª ´¸¯ £À³ ª¸¯¸
¿½±É°¬¨³ §¤É°´±µÉ¯ ²¶±¨¤¸° ²§´°¶°. ²¨¨
ÀÌ−²Ü¯ª²´¶¯ ׿ •Ú¢µÁ¯ ²›©°É¯ §° ª¸¯¸ ¹´°Á¯ µÁ
¿½±É¥ ¶¤µ¸ Á¿± ¶¯¶± £É±¥´ ¾²Â¶Â¶¢ £¤¸.

–Ú¢µÁ¯ ²›©°É¯ §° File Access É¥ç £±É±¥ 3 ɯ ª¤É°´


§¤É, ¦µ±¶ˆ.
1. Sequential
2. Random
3. Binary
File ¦Éɯ Open ɰ̨ À§¸ À̪° ²•.
Open <pathname>[For mode][Access access] [lock]
As #<FileNo>[Len=length]

²¨§°
• pathname ´¶¢ File ¦É§° path ¦É ²•.
• Mode ´¶¢ Binary, Input, Output, Random,
Appand ´¶ Access mode µÁ°¶¯ ¦Éɯ ²•.
• Access ´¶¢ Read, Write ²§±¯ Read Write µÁ°¶¯
¦ÉÉ°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 102


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

• Lock ´¶¢ Shared, Lock Read, Lock Write,


Lock Read Write ´¶ ¦¯µ±´°¶¯ ¦Éɯ²•. ²¨´
¨Â°¶¯ File ¦É µ¤½©³§¶¯ ¦Éɳ µ¤ö¶¶É¯
¦Éµ¥ ²´±Èɶ¯¶± –³. ¦´ £µØå ²Á© lock ɰ̨
É¥ç¢ Á¿´°.
• FileNo ´¶¯²¶¶¯ File ¦É³ Á¿±²ª¶ £»É´
§¤ª°¶²
¯ • ²¨¨ £»É´ ¨Â°¶¯ File ¦É³ ª¸¯¸ ª¤†¨
§± ª¸¯¸ ¦´°¶¯ Á¿±Â¤¶á¨ ©°ÎÉ¥ç¢ Á¿´°. FreeFile
¨Â°¶¯ £ ¸¯ File £»É´É¯ Á¿±Â¸ §¤É.
• Length ¨Â°¶¯ File ¦É Random access µ¶–³
¦§° Record µÁ ª°Â ²ª¶¢Á¤²›.
File ¦É µ¤©á¨ ©ß§± Close #FileNo ²Á© Á°´¶¢Á¤²›
²¨§° FileNo ´¶¢ File ¦É§° £»É´ ²•.

Sequential
Sequential Access
²¨´ Text File ¦Éɯ –µâ¸¯¸ ɥ¤¶á¨ ©ª§± ð±–¸
É¥´°. ²¨´ Input, Output §± Append ²Á© µ¥à ²•.
²¨§° Input ²Á© –µâ¸¯¸ ÉÁ–³ ª¸¯¸ É°´µ± ¤¶á¨³
§¤É°µ¶ £¸¥. Output ²Á© –µâ¸¯¸ ÉÁ –³ ª¸¯¸ Á°–¨³
§¤É°´±µ Á¤²›. Append ²Á© –µâ¸¯¸ ÉÁ–³ ª¸¯¸ Á°–´
§¤É° £¸¥ ¦¨ª¸¯¸ File ¦É§° £Â°¶¯ ¦É¸¡²µ´°.

Dim FileNumber As Integer


FileNumber=FreeFile()

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 103


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Open “C:\Index.txt” For Input Access Read As _


#FileNumber

²¨§° £¤¸° £É¡¥¤ ²À¯Á° É°´µ± ¤¶á¨ ©ß§± Line Input


²´±È¶á.

Dim Line as String


Line Input #FileNumber, Line

File ¦É³ ª¸¯¸ ª¤†¨ ©ß§±

Open “C:\Index.txt” For Output Access Write As _


#FileNumber
Print #FileNumber, “This Is a Test!”
Dim EName as String
Ename=”Nimal Silva”
Print #FileNumber,Ename

¸µª ²ˆ ©ß§± write –Û±¶´ ª ð±–¸± ÉÁ §¤É.


Write #FileNumber ,”Test 1”,”Test 2”,”Test3”
²¨²©¯ Write ¨Â°¶¯ Á°´¶ ª¸¯¸ É°´–¨ ©ß§± Input ð±–¸
ÉÁ §¤É.

Dim T1 As String,T2 As String,T3 As String

Input #FileNumber ,T1, T2 ,T3

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 104


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Random Access
²¨¨Â°¶¯ binary Files Access É¥ ¸ §¤É ©±¨±¶å²´¶¯
Integer, Single µ¤¶° ª¸¯¸ µ¥à ²§±¯ Records
²´±È¸§¤É. Records ´¶¢ User Define Type ¦Éɯ
²•. ¦´ À§¸ ²Á© ª¤É¯–´ §¤É°´

Private Type Customer


Name As String*12 //12 ¿´°˜©¯
Balance As Currency // 8 ¿´°˜©¯
Age As Integer // 4 ¿´°˜©¯
End Type

²¨§° ©ˆÀÓ¥ç
à ¿´°˜©¯ Âç¶ ¶°´¸´É¯ ²• ¦¶ˆ 24É°.

ª¸¯¸ É°´ µ±Â¤¶á¨ §± ª¨±Â¤¶á¨ À§¸ ²Á© ²•.

Dim FileNo As Integer


Dim CLen as Integer
Dim CurrentRecord as Long
Dim MyCustomer As Customer
CLen=Len(Customer)
FileNo=FreeFile()

CurrentRecord=1

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 105


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

MyCustomer.Name=”Nihal”
MyCustomer.Balance=2000.00
MyCustomer.Age=30
Open “C:\Index.txt” For Random as #FileNo
Len=CLen

ª¸¯¸ ª¨± ¤¶á¨ ²¨¨Â°¶¯ ɥ¸ §¤É.

Put #FileNo, CurrentRecord, MyCustomer

²¨¨Â°¶¯ CurrentRecord ´¶ Record ¦É§° £¤¸°


©¯é±¶´³ MyCustomer ´¶¯¶ Á°´± ªÉ¯µ´°.

File ¦É³ £¤¸¡Á¸¯ ÉÁ ª¸¯¸ ¶¤µ¸ É°´–¨ ©ß§±.

Get #FileNo,CurrentRecord,MyCustomer

²¨¨Â°¶¯ CurrentRecord ´¶ Record ¦É £¤¸° ¸¤¶ £ÈÁ


Record ¦É MyCustomer ³ É°´µ± Á¿±²ª´°.

Binary Access
²¨¨ µ¥à´ Text §± Binary ´¶ ²ªµ¥à´¨ É°´–¨ §±
Á°–¨ ©ß§± ð±–¸± É¥´°. ²¨¨Â°¶¯ É°©°´† ©¯é±¶´É £¤¸°

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 106


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Bytes É°´–¨³ §¤É°´±µ £¤¸. Ôȧ¥ç´É¯ ²Á© bitmap


File ¦Éɯ É°´–¨ ª¤É¯—¨³ À¢ µ¶.

Open “C:\Index.txt” For Binary as #FileNumber

Put #FileNumber, BytePosition, Data

²¨§° BytePosition ¦É ¨Â°¶¯ Á°–¨ À³¶¯Â¶¯¶± ©¯¸±¶´


ª°§´¢¸¡²µ´°. ¦¶† Á°–¨ À³¶¯Â¶¯¶± ©¯¸±¶´³ £¤¸° Byte
Â¶ç ²•. ²¨§° Data ´¶¢ Á°–¨³ £¤¸° ª¸¯¸ ²• ²¨´ ×á¶Õ¨
ª¸¯¸ µ¥à´ɰ¶¯ –´ §¤É.

Get #FileNumber, BytePosition, Data

²¨¨Â°¶¯ ª¸¯¸ É°´µ± ¦´ Data µÁ³ ª¨¶¢Á¤²›. ²¨§°ªáª


BytePosition ´¶¢ ª¸¯¸ É°´–¨ £±¥ˆð É¥¶ ©¯é±¶´´°.

È©´ µ¶ ÀÌ−²Ü¯ª´ - ©¥Á ÀÌÂçÉ µ¤½©³§¶¯


¶°¥¨
à ±ç´.
ª±©´ µ¶ ÀÌ−²Ü¯ª²´¶¯ £À° ©¥Á ÀÌÂçÉ µ¤½©³§¶¯
¶°¥¨
à ±ç´ Â¤¶ ¾²Â¶ ¶°¨¢ ׿ ª¤¶³¨¸¯ –Ú¢µ¶¯ ²›©°É¯ –
µâ¸¯¸ É¥ ¸°²›¶ˆ. File ► New Project ´¶ –Û±¶´
²¨¶Óµ ¨Â°¶¯ Á¿±ªá²¨¶¯ £ ¸¯ µå±À⸰´É¯ (Project )
Á¿±Â¶¯¶. ²¨§°ªá Á¤²¿¶ ɵ¢ ²• Standard EXE

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 107


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¸±¯¥±Â¶¯¶. ׿ ª¤¶³¨¸¯ Visual Basic –µâ¸¯¸ É¥


²Â¶ ¶¤¸°¶ˆ Start ► All Programs ► Visual
Studio 6.0 ► Visual Basic 6.0 ¨Â°¶¯ –Ú¢µÁ¯ ²›©°É¯
–µâ¸¯¸ ɥ¶¯¶.

²¨§°ªá ׿³ ²¹±¯¥¨


à ´É¯ ©§°¸ µå±À⸰´É¯ Á¤²›. ²¨´³ ³ÓÁ¯
²¿±É¯©¯ (Tool Box) ¨Â°¶¯ –Û±¶ ²¿±¸¯¸¨É¯ (Command
Button) ª¨±Â¶¯¶. –Û±¶ ²¿±¸¯¸²ˆ Caption ´¶
²À˱À™´ Click Me ²Á© ¨±¥¤É¥¶¯¶.

ª¤¶¯ ²¨¨ –Û±¶ ²¿±¸¯¸¨ Ô½ ¨µ¢©´ ²ªµ¥É¯ ɯÁ°É¯


ɰ̲¨¶¯ ¦§° ²É¯¸¶ ¼²¶¯Á´ (Code Window) Á¿±Â¸
§¤É. ²¨§° ׿³ À§¸ ª¤É¯²µ¶ ¾²µ¶¯³´ ªÉ¯¶³ Á¤²›.
Private Sub Command1_Click()

End Sub

²¨´ À§¸ £±É±¥²´¶¯ ²µ¶©¯ ɥ¶¯¶.

Private Sub Command1_Click()


MsgBox "Hello World!"
End Sub

ª¤¶¯ ׿³ À§¸ £±É±¥²´¯ ²¹±¯¥¨


à ´É¯ ª¤É¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 108


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ª¤¶¯ ²¨¶Ó £´°¸¨µÁ°¶¯ Run ► Start –Û±¶´ Á¿±²ª¶¯¶.


¦–³ À§¸ ª¤É¯²µ¶ À̪° ²¹±¯¥¨
à ´É¯ ¸°¥²´¯ ª¤É¸ §¤É.

²¨§° Click Me ´¶ ²¿±¸¯¸¨ ɯÁÉ


¯ ¯ ɰ̨ ¨Â°¶¯ À§¸
ª¤É¯²µ¶ À̪° Hello World ´¶ µª¶ ¸°¥²´¯ ª¤É ¸
§¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 109


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ª¤¶¯ ׿ ׿²Â¯ ÀÁ¨¢ ÀÌÂçÉ µ¤½©³§¶ ¶°¨É¥ £¤¸.


²¨¨ µå±À⸰´ ²©¯• ɥ¤¶á¨ ©ß§± File ► Save
Project –Û±¶´ ²¨¶Ó²µ¶¯ ²¸±¯¥±Â¶¯¶ ¦–³ ¹´°Á¯ ²©¯–
ɵ¢ µ¸¯ ׿³ ª¤É¸ §¤É. ²¨´ À̶ɲ´¯ £µØå
©¯¸±¶´³ ²´±¨¢É¥ Save ´¶ ²¿±¸¯¸¨ ¦œ²¨¶¯ ²¨¨
µå±À⸰´ ¦¨ ©¯é±¶²´¯ ²©¯• É¥ ¸ §¤É.

²©¯• ÉÁ µå±À⸰´É¯ ¶¤µ¸¸¯ –µâ¸¯¸ ɰ̨ ©ß§± File ►


Open Project ... ´¶ –Û±¶´ ²¨¶¢²µ¶¯ ²¸±¯¥±Â¶¯¶ ¦–³
¹´°Á¯ À¶¯ ɵ¢ µ ª¤É¸ §¤É ²¨¨ ɵ¢ µ ÀÌÂçɲ´¯
µå±À⸰´ £¤¸° ¸¤¶³ ²´±¨¢É°Ì¨ ¨Â°¶¯ ¦´ –µâ¸¯¸ ɥ¸
§¤É.

ª¤¶¯ £À° ©¥Á ¶ɴ¶¯¸Ë´É¯ –Ú¢µÁ¯ ²›©°É¯ ¨Â°¶¯


©±È¶°¨¢.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 110


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¨¢Á°¶¨
¯ –Ú¢µÁ¯ ²›©°É¯ µÁ ¶µ µå±À⸰´É¯ Á¿±Â¶°¨¢. À©¢µ
¦´ À§¸ À̪° ©É©± ¶°¨¢.

ª¤¶¯ ¦§° À§¸ £±É±¥²´¶¯ ÔÀ±»Â ©É©±Â¶¯¶

Text Box
Text1
Name txtFirstNo
Text 0
Text2
Name txtSecondNo
Text 0
Text3
Name txtResult
Text 0
Locked True

Label
Label1
Caption First No
Label2
Caption Second No

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 111


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Label3
Caption Result

Command Button
Command1
Name cmdAdd
Caption +
Font Set Size 18
Command2
Name cmdClear
Caption Clear
Command3
Name cmdExit
Caption Exit

ª¤¶¯ cmdAdd ¨¸ ²ªµ¥É¯ ɯÁ°É¯ ɰ̨ ¨Â°¶¯ Á¤²¿¶


²É¯¸¶ ¼²¶¯Á´ À§¸ À̪° ²µ¶©¯É¥ ¶¯¶.

Private Sub cmdAdd_Click()


txtResult.Text = Val(txtFirstNo.Text) +
Val(txtSecondNo.Text)
End Sub

À©¢µ cmdClear ²¿±¸¯¸²ˆ Click ¾²µ¶¯³´ Á¿± ¶¯¶ ²ˆ


©ª§± ²É¯¸¶ ¼²¶¯Á²´¯ Ô½ £¤¸° ²É±ˆ²¿± ²¿±É¯© ²´±È¸
§¤É. ¦´ À§¸ À̪° ²É¯¸¶´ É¥¶¯¶.

Private Sub cmdClear_Click()


txtResult.Text = 0

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 112


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

txtFirstNo.Text = 0
txtSecondNo.Text = 0
End Sub

ª¤¶¯ cmdExit ²¿±¸¯¸²ˆ Click ¾²µ¶¯³´ Á¿±Â¶¯¶. ¦´ª


À§¸ À̪° ²É¯¸¶´ É¥¶¯¶.

Private Sub cmdExit_Click()


Unload Me
End Sub

ª¤¶¯ ²¨¶¢ £´°¸¨ ¨Â°¶¯ ÀÌÂçÉ µ¤½©³§¶ Û±µ¶´


ɥ¤¶á²¨¶¯. À§¸ ©ª§¶¯ ²Á© ²¹±¯¥¨
à ´É¯ Á¤²›.

ª¤¶¯ ²¨§° Fist No §± Second No µÁ³ £Â´¶¯ Á¿±ªá +


ɯÁ°É¯ É¥¶¯¶ ¦–¦ Result §° Ô¸¯¸¥´ Á¤²›.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 113


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨¨ 妃 ´¸¯¸Ë´ ª¤¶³ ¦É¸¡É°Ì¨ À¨¶É¯ ÉÁ §¤É ª¤¶¯


£À° ¦´³ £²¶É¡¸¯ Âç°¸ ɥਠ£¤¸¡Á¸¯ É¥¨¢.

¦´ ¾§¸ À̪° ©É©±Â¶°¨.¢

Command1
Name cmdSub
Caption -
Command2
Name cmdDiv
Caption /
Command3
Name cmdMul
Caption *

ª¤¶¯ cmdSub ²¿±¸¯¸²ˆ Click ¾²µ¶¯³´

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 114


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub cmdSub_Click()


txtResult.Text = Val(txtFirstNo.Text) –
Val(txtSecondNo.Text)
End Sub

²Á© ²É¯¸¶´ ɥ¶¯¶.

cmdMul ²¿±¸¯¸²ˆ Click ¾²µ¶¯³´.


Private Sub cmdMul_Click()
txtResult.Text = Val(txtFirstNo.Text) *
Val(txtSecondNo.Text)
End Sub

cmdDiv ²¿±¸¯¸²ˆ Click ¾²µ¶¯³´.

Private Sub cmdDiv_Click()


txtResult.Text = Val(txtFirstNo.Text) /
Val(txtSecondNo.Text)
End Sub

²Á©ª ²É¯¸¶´ ɥ¶¯¶. ª¤¶¯ ÀÌ妃 µ¤½©³§¶


Û±µ¶´ ɰ̨ ¨Â°¶¯ ׿³ ©¥Á 妃 ´¶¯¸Ë´ Á¿±Â¸§¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 115


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ȧ¸¯
ȧ ¸¯ µ¶ ÀÌ−²Ü¯ª´ - ©¥Á 妃 ´¸¯¸Ë´
¶°¥¨
à ±ç´.
׿ ¾§¸ ÀÌ−²Ü¯ª²´¶¯ ©¥Á 妃 ´¸¯¸Ë´É¯ ¶°¥¨
à ±¶´
ɥ¶¯¶± Áª° ª¤¶¯ ²¨´ ¸µÎ¥³¸¯ µ¤öª°´¢ç¢ É¥¨¢.

ª¤¶¯ ¾§¸ ª¤É¯²µ¶ £±É±¥²´¶¯ À̶ɵ¤½©³§²¶¯


¨¢§¢¶¸ ©É©¯ ɥ¶¯¶. ²¨´ À§¸ À̪° ¶ˆ ɥ¶¯¶.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 116


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Text Box
Name txtDisplay

Command Buttons

Name cmdCE
Caption CE

Name cmdC
Caption C

Name cmdNo
Index 0
Caption 0

Name cmdNo
Index 1
Caption 1

Name cmdNo
Index 2
Caption 2

Name cmdNo
Index 3
Caption 3

Name cmdNo
Index 4
Caption 4

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 117


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Name cmdNo
Index 5
Caption 5

Name cmdNo
Index 6
Caption 6
Name cmdNo
Index 7
Caption 7

Name cmdNo
Index 8
Caption 8

Name cmdNo
Index 9
Caption 9

Name cmdOp
Index 0
Caption +

Name cmdOp
Index 1
Caption -

Name cmdOp
Index 2
Caption *

Name cmdOp
Index 3
Caption /

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 118


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Name cmdEq
Caption =

Name cmdDec
Caption .

²¨§° oparators §± ¾ÁɯɈ ©§°¸ –Û±¶ ²¿±¸¯¸ˆ¯ Array


¦ÉÉ Àµ¸°´° ¦¶ˆ. Index µÁ°¶¯ ²¨§° Elements ªÉ¯µ´°.
²¨µ± ¦É¯ –ȶ ²¿±¸¯¸¨É¯ ¶ˆ É¥ ¦´ Copy §± Paste
ɰ̨ ¨Â°¶¯ Á¿± ¸ §¤É. ¾¶¯À©¢ ¦µ± £µØå À̪°
²µ¶©¯É¥Â¶¯¶. ¾¶¯À©¢ À§¸ À̪° ²É¯¸¶´ ɥ¶¯¶.

Dim Value As Double


Dim Op As String

Private Sub cmdEQ_Click()


Select Case Op
Case "+"
txtDisplay.Text = Value + Val(txtDisplay.Text)
Case "-"
txtDisplay.Text = Value - Val(txtDisplay.Text)
Case "*"
txtDisplay.Text = Value * Val(txtDisplay.Text)
Case "/"
txtDisplay.Text = Value / Val(txtDisplay.Text)
End Select
bEq = True
Value = 0

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 119


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

End Sub

Private Sub cmdNO_Click(Index As Integer)


txtDisplay.Text = txtDisplay.Text + CStr(Index)
End Sub

Private Sub cmdOP_Click(Index As Integer)


Value = txtDisplay.Text
Select Case Index
Case 0
Op = "+"
Case 1
Op = "-"
Case 2
Op = "*"
Case 3
Op = "/"
End Select
txtDisplay.Text = ""
End Sub

¾§¸ ²É¯¸¶²´¶¯ ©»Éå± ²ªÉɯ À¨çɯ ¦É¸¡ ɥ¤¶á¨³


§¤É° ²µ´° ²¨§° ªá £µØå ©»Éå±µ Á¿±ªá ¶°¸ ɥ਴ ²¸±¥±
£²¶É¯ £»É´ Á¿±ª° = ´¶¯¶ ɯÁ°É¯ ɰ̨ ¨Â°¶¯ À°Á°¸¡¥ Á¿±
¸ §¤É°´.
Private Sub cmdNO_Click(Index As Integer)
txtDisplay.Text = txtDisplay.Text + CStr(Index)

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 120


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

End Sub

²¨§° ¾§¸ ²É¯¸¶´ ¨Â°¶¯ –Û±¶ ²¿±¸¯¸ˆ ¦Þ²¨ª° £ÈÁ


£É¡¥¤ ¦É°²¶É À°³¢À©°¶¯ Á°´± ªÉ¯µ´°.

Dim Value As Double


Dim Op As String
Dim bEq As Boolean
Private Sub cmdEQ_Click()
If bEq Then Exit Sub
Select Case Op
Case "+"
txtDisplay.Text = Value + Val(txtDisplay.Text)
Case "-"
txtDisplay.Text = Value - Val(txtDisplay.Text)
Case "*"
txtDisplay.Text = Value * Val(txtDisplay.Text)
Case "/"
txtDisplay.Text = Value / Val(txtDisplay.Text)
End Select
bEq = True
Value = 0
End Sub

Private Sub cmdNO_Click(Index As Integer)


If bEq Then txtDisplay.Text = ""
txtDisplay.Text = txtDisplay.Text + CStr(Index)

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 121


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

bEq = False
End Sub
Private Sub cmdOP_Click(Index As Integer)
Select Case Op
Case ""
Value = txtDisplay.Text
Case "+"
Value = Value + Val(txtDisplay.Text)
Case "-"
Value = Value - Val(txtDisplay.Text)
Case "*"
Value = Value * Val(txtDisplay.Text)
Case "/"
Value = Value / Val(txtDisplay.Text)
End Select

Select Case Index


Case 0
Op = "+"
Case 1
Op = "-"
Case 2
Op = "*"
Case 3
Op = "/"
End Select
txtDisplay.Text = ""

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 122


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

End Sub

²¨¨ ÀÌ妃 µ¤½©³§¶ ¾§¸ À̪° ²µ¶©¯É°Ì²¨¶¯ ¦´


ª°Â°¶¯ ª°Â³¨ Âç°¸ ɥਠɥ ¤¶á¨³ ¶¤¸¯¶ˆ Âç°¸ É¥à¨
É°§°À´É¯ ¦Éµ¥ É¥ ¤¶á²ˆ §¤É°´±µ Á¤²›.

Dim Value As Double


Dim Op As String
Dim bEq As Boolean

Private Sub cmdEQ_Click()


If bEq Then Exit Sub
Select Case Op
Case "+"
txtDisplay.Text = Value + Val(txtDisplay.Text)
Case "-"
txtDisplay.Text = Value - Val(txtDisplay.Text)
Case "*"
txtDisplay.Text = Value * Val(txtDisplay.Text)
Case "/"
txtDisplay.Text = Value / Val(txtDisplay.Text)
End Select
bEq = True
Value = 0
End Sub

Private Sub cmdNO_Click(Index As Integer)


If bEq Then txtDisplay.Text = ""
txtDisplay.Text = txtDisplay.Text + CStr(Index)
bEq = False
End Sub

Private Sub cmdOP_Click(Index As Integer)


If bEq Then Op = ""
Select Case Op
Case ""
Value = txtDisplay.Text

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 123


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Case "+"
Value = Value + Val(Left(txtDisplay.Text,
Len(txtDisplay.Text) - 1))
Case "-"
Value = Value - Val(Left(txtDisplay.Text,
Len(txtDisplay.Text) - 1))
Case "*"
Value = Value * Val(Left(txtDisplay.Text,
Len(txtDisplay.Text) - 1))
Case "/"
Value = Value / Val(Left(txtDisplay.Text,
Len(txtDisplay.Text) - 1))
End Select

Select Case Index


Case 0
Op = "+"
Case 1
Op = "-"
Case 2
Op = "*"
Case 3
Op = "/"
End Select
txtDisplay.Text = CStr(Value) + Op
bEq = True
End Sub

²¨¨Â°¶¯ À°³¢À©³ oprator ¦É ¦É¸¡ É¥´°. ©»Éå±µ Âç°¸


ɥ਴ ©»Éå±µ À©¢µ = ÁÉ¡¶ ª À©¢µ ¶¤µ¸¸¯ Âç°¸
ɥ਴ §± ©»Éå±µ ²Á© ª°Â°¶¯ ª°Â³¨ ²¨§° Âç°¸ É¥à¨
ɥ¸ §¤É.

Dim Value As Double


Dim Op As String
Dim bEq As Boolean

Private Sub cmdDec_Click()

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 124


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

If bEq Then txtDisplay.Text = "0."


If InStr(txtDisplay.Text, ".", vbTextCompare) = 0 Then
txtDisplay.Text = txtDisplay.Text + "."
End If
bEq = False
End Sub

Private Sub cmdEQ_Click()


If bEq Then Exit Sub
Select Case Op
Case "+"
txtDisplay.Text = Value + Val(txtDisplay.Text)
Case "-"
txtDisplay.Text = Value - Val(txtDisplay.Text)
Case "*"
txtDisplay.Text = Value * Val(txtDisplay.Text)
Case "/"
txtDisplay.Text = Value / Val(txtDisplay.Text)
End Select
bEq = True
Value = 0
End Sub

Private Sub cmdNO_Click(Index As Integer)


If bEq Then txtDisplay.Text = ""
txtDisplay.Text = txtDisplay.Text + CStr(Index)
bEq = False
End Sub

Private Sub cmdOP_Click(Index As Integer)


If bEq Then Op = ""
Select Case Op
Case ""
Value = txtDisplay.Text
Case "+"
Value = Value + Val(txtDisplay.Text)
Case "-"
Value = Value - Val(txtDisplay.Text)
Case "*"
Value = Value * Val(txtDisplay.Text)
Case "/"
Value = Value / Val(txtDisplay.Text)

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 125


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

End Select

Select Case Index


Case 0
Op = "+"
Case 1
Op = "-"
Case 2
Op = "*"
Case 3
Op = "/"
End Select
txtDisplay.Text = CStr(Value) + Op
bEq = True
End Sub

¾§¸ ²É¯¸¶ ²µ¶©¯Éˆ ¨Â°¶¯ ªÚ¨ ©»Éå± À̶É


²É¯¸¶´³ ¦É¸¡ ²• ª¤¶¯ ªÚ¨ ©»É屪 ¦É¸¡ ɰ̈ µ¤¶°
Âç°¸ ɥਠɥ¸ §¤É. ¸µª ¦Éª°Â³ ¨ ÂçḠɥà¨
É¥²Â¶ ´Õ²ˆ §¤É°´±µª ²¨¨Â°¶¯ Á¤²›.

Dim Value As Double


Dim Op As String
Dim bEq As Boolean

Private Sub cmdC_Click()


txtDisplay.Text = ""
End Sub

Private Sub cmdCE_Click()


txtDisplay.Text = ""
Value = 0
Op = ""
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 126


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub cmdDec_Click()


If bEq Then txtDisplay.Text = "0."
If InStr(txtDisplay.Text, ".", vbTextCompare) = 0
Then
txtDisplay.Text = txtDisplay.Text + "."
End If
bEq = False
End Sub

Private Sub cmdEQ_Click()


If bEq Then Exit Sub
Select Case Op
Case "+"
txtDisplay.Text = Value +
Val(txtDisplay.Text)
Case "-"
txtDisplay.Text = Value - Val(txtDisplay.Text)
Case "*"
txtDisplay.Text = Value * Val(txtDisplay.Text)
Case "/"
txtDisplay.Text = Value / Val(txtDisplay.Text)
End Select
bEq = True
Value = 0
End Sub

Private Sub cmdNO_Click(Index As Integer)


If bEq Then txtDisplay.Text = ""
txtDisplay.Text = txtDisplay.Text + CStr(Index)
bEq = False
End Sub

Private Sub cmdOP_Click(Index As Integer)


If bEq Then Op = ""

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 127


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Select Case Op
Case ""
Value = txtDisplay.Text
Case "+"
Value = Value + Val(txtDisplay.Text)
Case "-"
Value = Value - Val(txtDisplay.Text)
Case "*"
Value = Value * Val(txtDisplay.Text)
Case "/"
Value = Value / Val(txtDisplay.Text)
End Select

Select Case Index


Case 0
Op = "+"
Case 1
Op = "-"
Case 2
Op = "*"
Case 3
Op = "/"
End Select
txtDisplay.Text = CStr(Value) + Op
bEq = True
End Sub

¾§¸ ²É¯¸¶²´¶¯ ׿³ ©ˆÀÓ¥ç


à ©¥Á ÂçÉ ´¶¯¸Ë´É¯
Á¤²›.

ª§£³ µ¶ ÀÌ−²Ü¯ª´ - ©¥Á ÀÌ妃 ÉËá½±µÉ¯


׿ ÉÁ°¶¯ ÀÌ−²Ü¯ª²´¶¯ ©¥Á ¶ɴ¶¯¸Ë´É¯ ¶°Àª–¨³
¾²Â¶ ¶¯¶± Áª° ²¨¨ ÀÌ−²Ü¯ª²´¶¯ ©¥Á À̶É
ÉËá½±µÉ¯ (Tic Tac Toe) ¶°Àª–¨ ¤¶ ©Áɱ ¿Á¨¢. ¨¢Á°¶¯ ¨

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 128


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£ ¸¯ Project ¦Éɯ Á¿±Â¶¯¶ ¦´³ Class modal ¦Éɯ


¦É¸¡ ɥ¶¯¶ ¦´ TTTGameEngine ²Á© ¶† É¥¶¯¶
À©¢µ À§¸ À̪° ¦´ ²É¯¸¶´ ɥ¶¯¶

Event ComputerWins(x As Byte, y As Byte)


Event UserWins(x As Byte, y As Byte)

Private TicTacToe(3, 3) As Byte


Private isWon As Boolean
Private Type pos
x As Byte
y As Byte
End Type

Public Sub Initialize()


For i = 0 To 2
For j = 0 To 2
TicTacToe(i, j) = 0
Next
Next
isWon = False
End Sub

Function FindXwin() As Boolean


Dim win As Boolean
win = TicTacToe(0, 0) = 1 And TicTacToe(1, 0) = 1 And
TicTacToe(2, 0) = 1
win = win Or TicTacToe(0, 1) = 1 And TicTacToe(1, 1) =
1 And TicTacToe(2, 1) = 1
win = win Or TicTacToe(0, 2) = 1 And TicTacToe(1, 2) =
1 And TicTacToe(2, 2) = 1
win = win Or TicTacToe(1, 0) = 1 And TicTacToe(1, 1) =
1 And TicTacToe(1, 2) = 1
win = win Or TicTacToe(2, 0) = 1 And TicTacToe(2, 1) =
1 And TicTacToe(2, 2) = 1

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 129


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

win = win Or TicTacToe(0, 0) = 1 And TicTacToe(0, 1) =


1 And TicTacToe(0, 2) = 1
win = win Or TicTacToe(0, 0) = 1 And TicTacToe(1, 1) =
1 And TicTacToe(2, 2) = 1
win = win Or TicTacToe(0, 2) = 1 And TicTacToe(1, 1) =
1 And TicTacToe(2, 0) = 1
If win Then
FindXwin = True
isWon = True
End If
End Function

Function FindOwin() As Boolean


Dim win As Boolean
win = TicTacToe(0, 0) = 2 And TicTacToe(1, 0) = 2 And
TicTacToe(2, 0) = 2
win = win Or TicTacToe(0, 1) = 2 And TicTacToe(1, 1) =
2 And TicTacToe(2, 1) = 2
win = win Or TicTacToe(0, 2) = 2 And TicTacToe(1, 2) =
2 And TicTacToe(2, 2) = 2
win = win Or TicTacToe(1, 0) = 2 And TicTacToe(1, 1) =
2 And TicTacToe(1, 2) = 2
win = win Or TicTacToe(2, 0) = 2 And TicTacToe(2, 1) =
2 And TicTacToe(2, 2) = 2
win = win Or TicTacToe(0, 0) = 2 And TicTacToe(0, 1) =
2 And TicTacToe(0, 2) = 2
win = win Or TicTacToe(0, 0) = 2 And TicTacToe(1, 1) =
2 And TicTacToe(2, 2) = 2
win = win Or TicTacToe(0, 2) = 2 And TicTacToe(1, 1) =
2 And TicTacToe(2, 0) = 2
If win Then
FindOwin = True
isWon = True
End If
End Function

Function ComputerMove(ByRef x, ByRef y) As Boolean


Dim gpos As pos

‘This Function Is Responsible For the Logic Of the


‘Game It Finds out Whether There is a move so

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 130


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

‘computer can win the game else It finds is there is a


‘way to stop user from wining, else if will do a
‘random move

If isWon Then
GameLogic = False
Exit Function
End If
If TicTacToe(0, 0) = 2 And TicTacToe(1, 0) = 2 And
TicTacToe(2, 0) = 0 Then
gpos.x = 2
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 0) = 2 And TicTacToe(2, 0) = 2 And
TicTacToe(0, 0) = 0 Then
gpos.x = 0
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 2 And TicTacToe(2, 0) = 2 And
TicTacToe(1, 0) = 0 Then
gpos.x = 1
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 2 And TicTacToe(0, 1) = 2 And
TicTacToe(0, 2) = 0 Then
gpos.x = 0
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 1) = 2 And TicTacToe(0, 2) = 2 And
TicTacToe(0, 0) = 0 Then
gpos.x = 0
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 2 And TicTacToe(0, 2) = 2 And
TicTacToe(0, 1) = 0 Then
gpos.x = 0
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 1) = 2 And TicTacToe(1, 1) = 2 And
TicTacToe(2, 1) = 0 Then
gpos.x = 2

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 131


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 1) = 2 And TicTacToe(2, 1) = 2 And
TicTacToe(0, 1) = 0 Then
gpos.x = 0
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 1) = 2 And TicTacToe(2, 1) = 2 And
TicTacToe(1, 1) = 0 Then
gpos.x = 1
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 0) = 2 And TicTacToe(1, 1) = 2 And
TicTacToe(1, 2) = 0 Then
gpos.x = 1
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 0) = 2 And TicTacToe(1, 2) = 2 And
TicTacToe(1, 1) = 0 Then
gpos.x = 1
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 1) = 2 And TicTacToe(1, 2) = 2 And
TicTacToe(1, 0) = 0 Then
gpos.x = 1
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 2) = 2 And TicTacToe(1, 2) = 2 And
TicTacToe(2, 2) = 0 Then
gpos.x = 2
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 2) = 2 And TicTacToe(2, 2) = 2 And
TicTacToe(0, 2) = 0 Then
gpos.x = 0
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 2) = 2 And TicTacToe(2, 2) = 2 And
TicTacToe(1, 2) = 0 Then
gpos.x = 1
gpos.y = 2

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 132


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(2, 0) = 2 And TicTacToe(2, 1) = 2 And
TicTacToe(2, 2) = 0 Then
gpos.x = 2
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(2, 1) = 2 And TicTacToe(2, 2) = 2 And
TicTacToe(2, 0) = 0 Then
gpos.x = 2
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(2, 0) = 2 And TicTacToe(2, 2) = 2 And
TicTacToe(2, 1) = 0 Then
gpos.x = 2
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 2 And TicTacToe(1, 1) = 2 And
TicTacToe(2, 2) = 0 Then
gpos.x = 2
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 2 And TicTacToe(2, 2) = 2 And
TicTacToe(1, 1) = 0 Then
gpos.x = 1
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 1) = 2 And TicTacToe(2, 2) = 2 And
TicTacToe(0, 0) = 0 Then
gpos.x = 0
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(2, 0) = 2 And TicTacToe(1, 1) = 2 And
TicTacToe(0, 2) = 0 Then
gpos.x = 0
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 1) = 2 And TicTacToe(0, 2) = 2 And
TicTacToe(2, 0) = 0 Then
gpos.x = 2
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 133


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ElseIf TicTacToe(2, 0) = 2 And TicTacToe(0, 2) = 2 And


TicTacToe(1, 1) = 0 Then
gpos.x = 1
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 1 And TicTacToe(1, 0) = 1 And
TicTacToe(2, 0) = 0 Then
gpos.x = 2
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 0) = 1 And TicTacToe(2, 0) = 1 And
TicTacToe(0, 0) = 0 Then
gpos.x = 0
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 1 And TicTacToe(2, 0) = 1 And
TicTacToe(1, 0) = 0 Then
gpos.x = 1
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 1 And TicTacToe(0, 1) = 1 And
TicTacToe(0, 2) = 0 Then
gpos.x = 0
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 1) = 1 And TicTacToe(0, 2) = 1 And
TicTacToe(0, 0) = 0 Then
gpos.x = 0
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 1 And TicTacToe(0, 2) = 1 And
TicTacToe(0, 1) = 0 Then
gpos.x = 0
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 1) = 1 And TicTacToe(1, 1) = 1 And
TicTacToe(2, 1) = 0 Then
gpos.x = 2
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 134


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ElseIf TicTacToe(1, 1) = 1 And TicTacToe(2, 1) = 1 And


TicTacToe(0, 1) = 0 Then
gpos.x = 0
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 1) = 1 And TicTacToe(2, 1) = 1 And
TicTacToe(1, 1) = 0 Then
gpos.x = 1
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 0) = 1 And TicTacToe(1, 1) = 1 And
TicTacToe(1, 2) = 0 Then
gpos.x = 1
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 0) = 1 And TicTacToe(1, 2) = 1 And
TicTacToe(1, 1) = 0 Then
gpos.x = 1
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 1) = 1 And TicTacToe(1, 2) = 1 And
TicTacToe(1, 0) = 0 Then
gpos.x = 1
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 2) = 1 And TicTacToe(1, 2) = 1 And
TicTacToe(2, 2) = 0 Then
gpos.x = 2
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 2) = 1 And TicTacToe(2, 2) = 1 And
TicTacToe(0, 2) = 0 Then
gpos.x = 0
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 2) = 1 And TicTacToe(2, 2) = 1 And
TicTacToe(1, 2) = 0 Then
gpos.x = 1
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 135


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ElseIf TicTacToe(2, 0) = 1 And TicTacToe(2, 1) = 1 And


TicTacToe(2, 2) = 0 Then
gpos.x = 2
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(2, 1) = 1 And TicTacToe(2, 2) = 1 And
TicTacToe(2, 0) = 0 Then
gpos.x = 2
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(2, 0) = 1 And TicTacToe(2, 2) = 1 And
TicTacToe(2, 1) = 0 Then
gpos.x = 2
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 1 And TicTacToe(1, 1) = 1 And
TicTacToe(2, 2) = 0 Then
gpos.x = 2
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(0, 0) = 1 And TicTacToe(2, 2) = 1 And
TicTacToe(1, 1) = 0 Then
gpos.x = 1
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 1) = 1 And TicTacToe(2, 2) = 1 And
TicTacToe(0, 0) = 0 Then
gpos.x = 0
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(2, 0) = 1 And TicTacToe(1, 1) = 1 And
TicTacToe(0, 2) = 0 Then
gpos.x = 0
gpos.y = 2
TicTacToe(gpos.x, gpos.y) = 2
ElseIf TicTacToe(1, 1) = 1 And TicTacToe(0, 2) = 1 And
TicTacToe(2, 0) = 0 Then
gpos.x = 2
gpos.y = 0
TicTacToe(gpos.x, gpos.y) = 2

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 136


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ElseIf TicTacToe(2, 0) = 1 And TicTacToe(0, 2) = 1 And


TicTacToe(1, 1) = 0 Then
gpos.x = 1
gpos.y = 1
TicTacToe(gpos.x, gpos.y) = 2
Else

Dim isNotFill As Boolean


For i = 0 To 2
For j = 0 To 2
If TicTacToe(i, j) = 0 Then
isNotFill = True
GoTo ExFor
End If
Next j
Next i
ExFor:
If Not isNotFill Then
gpos.x = 4
gpos.y = 4

x = gpos.x
y = gpos.y
GameLogic = False
Exit Function
End If

Do
Randomize Now
gpos.x = Round(Rnd * 2, 0)
gpos.y = Round(Rnd * 2, 0)
x = gpos.x
y = gpos.y
DoEvents
Loop While TicTacToe(gpos.x, gpos.y) <> 0

TicTacToe(gpos.x, gpos.y) = 2
End If
If FindOwin Then RaiseEvent ComputerWins(gpos.x,
gpos.y)
x = gpos.x

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 137


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

y = gpos.y
GameLogic = True

End Function

Function UserMove(x As Byte, y As Byte) As Boolean


If isWon Then Exit Function

If TicTacToe(x, y) = 0 Then
TicTacToe(x, y) = 1

UserMove = True
If FindXwin Then RaiseEvent UserWins(x, y)
Exit Function
Else
UserMove = False
Exit Function
End If
End Function

Sub PrintTicTacToe()
Debug.Print "*********************** Tic Tac Toe
**********************"
Debug.Print TicTacToe(0, 0) & " " & TicTacToe(0, 1) & " "
& TicTacToe(0, 2)
Debug.Print TicTacToe(1, 0) & " " & TicTacToe(1, 1) & " "
& TicTacToe(1, 2)
Debug.Print TicTacToe(2, 0) & " " & TicTacToe(2, 1) & " "
& TicTacToe(2, 2)
Debug.Print
"***********************************************
***********"
End Sub

ª¤¶¯ À§¸ À̪° £¸¡¥¤ ¨¢§¢¶¸ ©±È¶¯¶

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 138


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° Picture2 ´¶¯¶§°


ScaleMode Pixel
ScaleWidth 3
ScaleHeight 3

Picture3 §± Picture4 µÁ³ À°Á°²µÁ°¶¯ ɸ°¥´É¯ §± ¥µ¢¨É¯


Paint µÁ £¤ª Pictue µÁ³ ª¨±Â¶¯¶. ¸µª Picture2
µÁ³ É¡½± ¶°Á¯ À¤§¤ ²É±³¢µÉ¯ ª¨±Â¶¯¶.

Picture1 §°
ScaleMode Pixel
SacleWidth 149
ScaleHeight 149
Command1 Command Button

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 139


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Caption New Game

¾¶¯À©¢ ¦´ À§¸ À̪° ²É¯¸¶´ ɥ¶¯¶

Public WithEvents TicTac As TTTGameEngine

Private Type pos


x As Byte
y As Byte
End Type
Private Sub Command1_Click()
Picture1.Cls
Form_Load
TicTac.Initialize
End Sub

Private Sub Form_Load()


i = 50
Set TicTac = New TTTGameEngine
Picture1.PaintPicture Picture2.Picture, 1 * i, 0, _
Picture2.Width, Picture1.Height, 0, 0, Picture2.Width,
1
Picture1.PaintPicture Picture2.Picture, 2 * i, 0, _
Picture2.Width, Picture1.Height, 0, 0, Picture2.Width,
1
'Picture1.PaintPicture Picture2.Picture, 3 * i, 0, _
Picture2.Width, Picture1.Height, 0, 0, Picture2.Width,
1

Picture1.PaintPicture Picture2.Picture, 0, 1 * i, _
Picture1.Width, Picture2.Height, 0, 0, 1,
Picture2.Height
Picture1.PaintPicture Picture2.Picture, 0, 2 * i, _
Picture1.Width, Picture2.Height, 0, 0, 1,
Picture2.Height

'Picture1.PaintPicture Picture3.Picture, 0, 0, 50, 50, 0, 0


End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 140


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub Picture1_MouseDown(Button As Integer, Shift


As Integer, x As Single, y As Single)
Dim gpos As pos

Dim isMoved As Boolean


isMoved = True
'MsgBox UserMove(0, 0)
UserMove x, y, isMoved
'TicTac.PrintTicTacToe
If Not isMoved Then
MsgBox "That Move Is Not allowed!", vbInformation,
"Tic Tac Toe"
Exit Sub
End If

If TicTac.FindXwin Then
'MsgBox "Congratulation You Won!!!", vbInformation,
"Tic Tac Toe"
Exit Sub
End If
X12 = TicTac.ComputerMove(gpos.x, gpos.y)
'TicTac.PrintTicTacToe
gpos.x = (gpos.x + 1) * 45
gpos.y = (gpos.y + 1) * 45
If gpos.x = 4 Or gpos.y = 4 Then
MsgBox "Sorry, No More Moves", vbInformation, "Tic
Tac Toe"
Exit Sub
End If

ComputerMove gpos
'If TicTac.FindOwin Then
' MsgBox "Sory, you Lost!!!", vbInformation, "Tic Tac
Toe"
'End If
End Sub

Private Sub TicTac_ComputerWins(x As Byte, y As Byte)


Dim gpos As pos
gpos.x = (x + 1) * 45

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 141


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

gpos.y = (y + 1) * 45
ComputerMove gpos
MsgBox "Sory, you Lost!!!", vbInformation, "Tic Tac Toe"
End Sub

Private Sub TicTac_UserWins(x As Byte, y As Byte)


MsgBox "Congratulation You Won!!!", vbInformation,
"Tic Tac Toe"
End Sub

Private Sub ComputerMove(gpos As pos)


If gpos.x < 50 And gpos.y < 50 Then
Picture1.PaintPicture Picture4.Picture, 0, 0, 50 - 1, 50
- 1, 0, 0
'TicTacToe(0, 0) = 1
ElseIf gpos.x < 50 And gpos.y < 100 Then
Picture1.PaintPicture Picture4.Picture, 0, 50 + 2, 50 -
1, 50 - 1, 0, 0
'TicTacToe(0, 1) = 1
ElseIf gpos.x < 50 And gpos.y < 150 Then
Picture1.PaintPicture Picture4.Picture, 0, 100 + 2, 50 -
1, 50 - 1, 0, 0
'TicTacToe(0, 2) = 1
ElseIf gpos.x < 100 And gpos.y < 50 Then
Picture1.PaintPicture Picture4.Picture, 50 + 2, 0, 50 -
1, 50 - 1, 0, 0
'TicTacToe(1, 0) = 1
ElseIf gpos.x < 150 And gpos.y < 50 Then
Picture1.PaintPicture Picture4.Picture, 100 + 2, 0, 50 -
1, 50 - 1, 0, 0
'TicTacToe(2, 0) = 1
ElseIf gpos.x < 100 And gpos.y < 100 Then
Picture1.PaintPicture Picture4.Picture, 50 + 2, 50 + 2,
50 - 1, 50 - 1, 0, 0
'TicTacToe(1, 1) = 1
ElseIf gpos.x < 100 And gpos.y < 150 Then
Picture1.PaintPicture Picture4.Picture, 50 + 2, 100 +
2, 50 - 1, 50 - 1, 0, 0
'TicTacToe(1, 2) = 1
ElseIf gpos.x < 150 And gpos.y < 100 Then

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 142


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Picture1.PaintPicture Picture4.Picture, 100 + 2, 50 +


2, 50 - 1, 50 - 1, 0, 0
'TicTacToe(2, 1) = 1
ElseIf gpos.x < 150 And gpos.y < 150 Then
Picture1.PaintPicture Picture4.Picture, 100 + 2, 100 +
2, 50 - 1, 50 - 1, 0, 0
'TicTacToe(2, 2) = 1
End If
End Sub

Private Sub UserMove(ByVal x As Integer, ByVal y As


Integer, ByRef isMoved)
If x < 50 And y < 50 Then
If TicTac.UserMove(0, 0) Then Picture1.PaintPicture _
Picture3.Picture, 0, 0, 50 - 1, 50 - 1, 0, 0 Else isMoved = _
False
'TicTacToe(0, 0) = 1

ElseIf x < 50 And y < 100 Then


If TicTac.UserMove(0, 1) Then Picture1.PaintPicture _
Picture3.Picture, 0, 50 + 2, 50 - 1, 50 - 1, 0, 0 Else isMoved
= False
'TicTacToe(0, 1) = 1

ElseIf x < 50 And y < 150 Then


If TicTac.UserMove(0, 2) Then Picture1.PaintPicture
Picture3.Picture, 0, 100 + 2, 50 - 1, 50 - 1, 0, 0 Else
isMoved = False
'TicTacToe(0, 2) = 1

ElseIf x < 100 And y < 50 Then


If TicTac.UserMove(1, 0) Then Picture1.PaintPicture
Picture3.Picture, 50 + 2, 0, 50 - 1, 50 - 1, 0, 0 Else isMoved
= False
'TicTacToe(1, 0) = 1

ElseIf x < 150 And y < 50 Then


If TicTac.UserMove(2, 0) Then Picture1.PaintPicture
Picture3.Picture, 100 + 2, 0, 50 - 1, 50 - 1, 0, 0 Else
isMoved = False

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 143


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

'TicTacToe(2, 0) = 1
ElseIf x < 100 And y < 100 Then
If TicTac.UserMove(1, 1) Then Picture1.PaintPicture
Picture3.Picture, 50 + 2, 50 + 2, 50 - 1, 50 - 1, 0, 0 Else
isMoved = False
'TicTacToe(1, 1) = 1

ElseIf x < 100 And y < 150 Then


If TicTac.UserMove(1, 2) Then Picture1.PaintPicture
Picture3.Picture, 50 + 2, 100 + 2, 50 - 1, 50 - 1, 0, 0 Else
isMoved = False
'TicTacToe(1, 2) = 1

ElseIf x < 150 And y < 100 Then


If TicTac.UserMove(2, 1) Then Picture1.PaintPicture
Picture3.Picture, 100 + 2, 50 + 2, 50 - 1, 50 - 1, 0, 0 Else
isMoved = False
'TicTacToe(2, 1) = 1

ElseIf x < 150 And y < 150 Then


If TicTac.UserMove(2, 2) Then Picture1.PaintPicture
Picture3.Picture, 100 + 2, 100 + 2, 50 - 1, 50 - 1, 0, 0 Else
isMoved = False

End If
End Sub

²¨¨ ÀÌ妃 µ¤½©³§¶ Û±µ¶´ ɰ̨ ¨Â°¶¯ ׿³ Tic


Tac Toe ´¶ É˽
á ±µ Éá½
Ë ±É°Ì¨³ §¤É°²µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 144


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ª§¶¨ µ¶ ÀÌ−²Ü¯ª´ ´-- Visual Data Manager


©¨ì ª¸¯¸ À±ª¨ ¶°¥¨
à ±ç´ É°Ì¨.
£±ªá ɱÁ²´¯ªá ª¸¯¸ À̧¥ç´ ɰ̨ ©ß§± †¶°©± Á°À°²Â±¶¢
ð±–¸± É¥ç Áª° ²ˆµ± File µÁ³ ª¨± ¥±É¯É µÁ £©¢¥±
¸¤Þ´ ´¢¸¡ £¸¥ À°Á°²µòɳ £¤©°Ì¨ ²¶±µ¢¶²§±¸¯ £µØå
ª¤ ²¸±¥± ¤¶á²ˆªá –رÁ £À§©¢¸±µ´¶¯³ À¸¯–¨³
¾½¸°²›. ¸µª †Á £ŠÉ É˨´É¯ µ¶ ²¨´ ¾¸± –Ú±Á ¾½
À˨±ç´É¯ ¶¯¶±Áª° ÀÌÂçÉ É¥Á°´³ À¤†¶á¨¸¯ ©¨Â
²¨¨ ª¸¯¸ ÀÌÂçÉ´ ¸¡Á ¿½±É¥ ¸¿±Â¤¶á¨ ©ß§±
†¶°©± Ô¶¶¯Î–´. ¨¢Á°¶¨
¯ ²ˆ ©ß§± Data Files ²¶±²§±¸¯
ª¸¯¸ ²Â±¶¢ ð±–¸± É¥ç Áª°. ²¨§° ¨ÓÁ°É¨ À©¢¿Õ¨¶ˆ
²¨µ±³ ª¸¯ ¦É¸¡ ɰ̨, £½¢ ɰ̨, ª¸¯¸ ²µ¶©¯ ɰ̨ §±
²©±´±Â¤¶á¨ µ¤¶°ªÕ ɰ̨ ©ß§± ׿ £µÚå ²É¯¸¶´¶¯
É¥´¢¸¡ –¨ ²•. ¸µª ²¨µ±²´¯ ª¸¯¸ §± ©¤É¤©¯¨ (Data &
Structure) ¦É³ ¿¤ªá £¤¸° £¸¥ ª¸¯¸ µÁ ©¤É¤©¯¨³ ´ˆ
²µ¶©É¯ ɰ̨²¨ªá ¾¸± £©á¥¤ ¸¸¯µ´É³ ¨¢§¢ç ÀÕ¨³ ©°Î–
´ ´¢¸¡ ²µ´°.
À©¢ ɱÁ²´¯ªá ²ˆ ©ß§± ª¸¯¸ À±ª¨ §Î¶¯µ± ²ª¶ Áª° ²¨µ±
¨Â°¶¯ ¾¸± §¢¥¤¿¢§¢™ ²Á© ª¸¯¸ ¿½±É°Ì¨³ §± ¶¤µ¸
Á¿±Â¤¶á¨³ §¤É°´±µ £¤¸. ²¨µ±¸¡Á Tables, Query §±
Index µ¤¶° ªÕ Àµ¸°¶ £¸¥ ¦¯µ± ¨Â°¶¯ ª¸¯¸ ²©±´±Â¤¶á¨
À§©¢ É¥´°. ª¤¶¯ £À° ª¸¯¸ À±ª¨ (Database) ¤¶ ©Áɱ
¿Á¨¢. Àò¨¢¨ £À°³ ¦´ ²©¯• ɥ¸ ´¢¸¡ ²µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 145


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¨´°²É˱²
¯ ©±¹¯˜ £É¯©©¯ §° ²¨¨ ª¸¯¸ À±ª¨ ²©¯– µ¶¯²¶¯
.mdb ¶† ª°Âµ
¡ ©§°¸µ ²•. ²¨¨± ¦É ²Â±¶¢µÉ ²©¯– µ¶
£¸¥ ª¸¯¸ µÂ¡ (Data Tables) ²µ¶ ²µ¶¨ ²©¯• ²¶±²•.
¦¶ˆ ²¨¨ ª¸¯¸ À±ª¨ ¸¡Á¨ Tables, Queries §±
Indexes ²©¯• –¨ ©°Î²•.
ª¤¶¯ £À° ²À±¸¯ ¿½±µÉ¯ ©ß§± ÀÌÂçÉ ª¸¯¸ Àª¶¨É¯
¶°Àªµ± ¤¶á¨ ©Áɱ ¿Á¨¢ ¦´ My Book Store ²Á© ¶ˆ
É¥¨¢. ²¨¨ ª¸¯¸ À±ª¨´ ¾¸± ²Á²§©°²´¶¯ ¶°¥¨
à ±ç´ Éò
§¤É° ²µ´°. ¨¢Á°¶¨
¯
Add-ins > Visual Data Manager ²¸±¥±²Â¶ Visual
Data Manager £±¥ˆð ɥ¶¯¶.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 146


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¦´ ¾§¸ £±É±¥²´¶¯ ªÉ¯¶³ Á¤²› ª¤¶¯ ²¨§°


File>New>Microsoft Access>Version 7.0 MDB
²¸±¥±Â¶¯¶ ¦–³ ª¸¯¸ À±ª¨ ¶°¥¨
à ±ç´ É¥ ²©¯– ɰ̨
©ß§± ©»µ±ª ²É±³¢µÉ¯ ªÉ¯¶³ Á¤²Þ. ²¨´ £µÚå ©¯é±¶´³
²´±¨¢É¥ File Name ´¶ Box ¦É§° MyBookStore ²Á©
Type É¥¶¯¶ ²¨§°ªá .mdb Á¿±ªá¨ £¶µØ岕. Visual
Data Manager ¨Â°¶¯ ¦´ £Â³ ¦É¸¡ É¥ç¢ Á¤²›. À©¢µ
Save ²¿±¸¯¸¨ ɯÁ°É¯ ɰ̨ ¨Â°¶¯ ²©¯– ɥ¶¯¶.
¦–³ ª¸¯¸ À±ª¨ £½»Â¡ ¼²¶¯Á´É¯ ª¤É¸ §¤É ²¨§°
¼²¶¯Á ²ªÉɯ £¤¸° £¸¥ µˆÀ© ª¸¯¸ Àª¶ˆ ¼²¶¯Á´ª
ªÉ¡ç¢ À© SQL ¼²¶¯Á´ ª ªÉ¯É¶ §¤É. ª¸¯¸ À±ª²ˆ £¤¸°
¼²¶¯Á²´¶¯ £ ¸¯ ª¸¯¸ À±ª¨§° µ¸¯Éˆ (Property)
ª¤É¸§¤É. ¦´ À§¸ ¥ÕÀ²´¯ ª¤É¯²µ´°. £ ¸¯ ª¸¯¸
À±ª¨´§° É°©°µÉ¯ ²¶±¨¤¸. ¦¶ˆ É°©°Î ª¸¯¸ µÂ¡µÉ¯ ²§±¯
SQL Query ¦Éɯ ªÉ¯¶³ ²¶±Á¤²¿´°. ¾§¸°¶¯ £¤¸°
ToolBar ¦É§° ²¨¨ ª¸¯¸ Àª¶¨³ ²µ¶©¯Éˆ ɰ̨ ©ß§±
£µØå µ¶ ²¿±¸¯¸† (Buttons) Á¿±ªá ¸°²›.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 147


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¾ª°Ì´³ ´±¨³ ²À¥ ²¨´ µ©± ¶¤µ¸ –µâ¸¯¸ É¥ç £±É±¥´


¾²Â¶ ¶°¨¢. ¦¯ ©ß§±
File >Close ²¸±¥±Â¶¯¶ ¦¨Â°¶¯ ²¨¨ £ ¸°¶¯ ¶°¥¨
à ±ç´
É¥ç Áª ª¸¯¸ À±ª¨ µ©± ¸ §¤É.

ª¤¶¯ ¶¤µ¸¸¯ File> Open Database > Microsoft


Access ²¸±¥±Â¶¯¶ ¦–³ Open Microsoft Access
Database ©»µ±ª ²É±³¢µ ª¤É¸§¤É° ²µ´°. ²¨´
MyBookStore.mdb ²©¯– ÉÁ ©¯é±¶´³ ²´±¨¢É¥
MyBookStore.mdb ²¸±¥±Â¶¯¶ À©¢µ Open ²¿±¸¯¸¨
¦Þ¨ ¨Â°¶¯ ª¸¯¸ À±ª¨´ ¶¤µ¸¸¯ –µâ¸¯¸ ɥ¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 148


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨¨ Ôȧ¥ç´ ¨Â°¶¯ ׿³ ª¸¯¸ À±ª¨É¯ ¶°¥¨


à ±ç´ É¥ç
£±É±¥´ ¤¶ Ô¶¯µ¶¢ Á¤²›. ²¨¨ ²À±¸¯ ¿½±²• ––Û
²¸±¸¯ £¤¸° £¸¥ ¾¸± –رÁ À˨±ç´É¯ §± ¾¸± Î¥àÁð ²À±¸¯
£½»Â¡ ¿¤–¶¯ ¤¶¢ˆ É¥¤µ¶¯ ²À±¸¯ ¿½±µ ²µ¸ £¤¸á ¦¶¢
£¤¸. ¶¨¢¸¯ £À° ÀÁ¨¢µ À§¸ ©ß§¶¯ ª¸¯¸ µÂ¡µ ¶°¥¨
à ±ç´
É¥ ¶°¨¢
Title Author
.............. ............................
.............. ............................
.............. ............................
.............. ............................
.............. ............................
²¨§° ɸ⠲¯ ¶¨§° ²É±³©¯ É°§°À´É¯ ª¤É¸ §¤É £À° ¦µ±
ÀÁ¨¢ ¶¨ §± £¶¯¸°¨ ¶¨ ²Á© ²µ¶¯ ɥ¶°¨¢ ¦–³ £À°³
ק¢²Â¯ £¸¯¸°¨ ¶²¨¶¯ ק¢ ²©±´± ¤¶á¨ ɥ¸ §¤É.
Title LastName FirstName
............ .................... ..................
............ .................... ..................
............ .................... ..................
............ .................... ..................
............ .................... ..................
ª¸¯¸ µÂ¡ ¶°¥¨
à ±ç´
²¨²¸É¯ ²•Á± £À° MyBookStore ª¸¯¸ À±ª¨´§° ¸°Þ´
´¢¸¡ ª¸¯¸ ¤¶ £Û嶴 É¥ç Áª° ª¤¶¯ ²¨¨ ª¸¯¸ ª¤†¨³

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 149


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£µØå À̪° ª¸¯¸ µÂ¡µÉ¯ ©É©¯ É¥ç £±É±¥´ ©Áɱ ¿Á¨¢.


²ˆ ©ß§± ª¸¯¸ À±ª¨ ¼²¶¯Á´ ¨¸ Right Click ɰ̨
¨Â°¶¯ Á¤²¿¶ ²¨¶Ó ¦É§° New Table ²¸±¥±Â¤¶á¨ ¨Â°¶¯
À§¸ À̪° ª¸¯¸ µÂ¡µÉ¯ ©±È¤¶á¨ ©ß§±µ¶ ¼²¶¯Á´
Á¤²›.

²¨´³ ¦¨ ª¸¯¸ µÂ¡µ §± ¦§° £½»Â¡ µ¶ Fields ¦É¸¡ ɰ̨


©°ÎÉ¥ç¢ Á¤²›. ²¨§° ¾§Á°¶¯ £¤¸° Table Name ¶¤¨¸°
²³É¯©¯ ²¿±É¯©²´§° ListOfBooks ²Á© ¶ˆ É¥¨¢.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 150


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ª¸¯¸ µÂ¡µÁ³ Fields ¦É¸¡ ɰ̨.


ª¸¯¸ µÂ¡µÁ³ Fields ¦É¸¡ ɰ̨ ©ß§± AddFields
¶¤¨¤¸° ²¿±¸¯¸¨ ɯÁ°É¯ É¥¶¯¶ ¦–³ À§¸ À̪° ¼²¶¯Á´É¯
׿³ ª¤É¸ §¤É.

²¨§° Name ´¶¢ Field ¦É§° ¶¨ ²•. ¦©ß§± Title ´¶¯¶


Á¿± ²ª¶¯¶. ¾¶¯À©¢ Type ´¶ comboBox ¦É ²µ¸ ¨¶¯
É¥¶¯¶ ¦´ Text ²Á© ©ß§¶¯ µ¶ ¿µ ²À²¶¯ ¦´ ²¨§°ªá
Default ²Á© Á¤²¿¶ ª¸¯¸ µ¥à´ ²•. £À³ ²¨¨ Field
¦É ©ß§± ²¨¨ ª¸¯¸ µ¥à´¨ £µØå µ¶ ¿¤–¶¯ ²µ¶©É¯
²¶±É¥¨¢. À©¢µ Size ´¶ ²¿±É¯©´ ©Áɱ¿Á¶¯¶ ¦§° 50 ´¶
£Â´ ª¤É ¸ §¤É. ¦¯ ©ß§± 60 ´¶ £Â´ Á¿±²ª¶¯¶.
ª¤¶¯ OK click ɰ̨ ¨Â°¶¯ ²¨¨ Field ¦É ª¸¯¸ ²Â±¶¢µ³
£¤¸¡Á¸¯ ɥ¶¯¶. ²¨²Á©¨

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 151


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

FistName Text 40
LastName Text 40
²Á© ª¸¯¸ £¤¸¡Á¸¯ ɥ¶¯¶.

ª¸¯¸ À±ª¨§° ª¸¯¸ µÂ¡ µÁ³ ª¸¯¸ £¤¸¡Á¸¯ ɰ̨.


²¨©ª§± –¶¯²½±¯©§
¯ ° ²¿±²§±¯ É˨²•ª £µÚز•. Àò¨¢µ
£À²Â¯ ª¸¯¸ µÂ¡µ –µâ¸¯¸ ɥ¶°¨¢. ²¨ ©ß§± ªÉ¡ç¢ À©
£¤¸° µÂ¡ Á´°©¸
¯ ¡²µ¶¯ ListOfBooks ²¸±¯¥±Â¶¯¶ À©¢µ ¦¯¨¸
Right Click É¥ Á¤²¿¶ Pop Up ²¨¶Óµ ¨Â°¶¯ Open
²¸±¯¥±Â¶¯¶. ¶¤¸¯¶ˆ ListOfBooks ¨¸ ²ªµ¥É¯ ɯÁ°É¯
É¥¶¯¶. ²¨´ À§¸ ª¤É¯ ²µ¶ ¼²¶¯Á´ –µâ¸¯¸ É¥¶ £¸¥
¦´³ ª¸¯¸ Á¿±ªá¨ ¨Â°¶¯ £µÚå µÂ¡µ³ ª¸¯¸ £¤¸¡Á¸¯ ÉÁ
§¤É. £¶¢´±¸ Text Box ¦É³ ´±¨ ©ß§±. ¦´ ¨¸ ¨µ¢©´
ɯÁ°É¯ É¥¶¯¶. ª¸¯¸ ©°´Á¯Á £¤¸¡ÁÉ
¯ ¥ £µ©¶¯ µÓ À©¢ ï Áì
Record ¦É ²µ¸ ´± ²ˆªá ª¸¯¸ µÂ¡µ ²©¯– ɰ̨³ £µØå
ª? ´¶¯¶ £©¶¢ Á¿¶ £¸¥ ¦´³ Yes Á¿± ²ª¶¯¶. ¦–³ ¦´
ª¸¯¸ µÂ¡²µ§° ²©¯• ²•. ª¤¶¯ ª¸¯¸ µÂ¡µ³ ª¸¯¸ £¤¸¡Á¸¯
ɰ̨ À°´µ²¥¶¯ À°´µ¥ ©Áɱ ¿Á¨¢. ²¨ ©ß§± £ ¸¯
²¥²É±¯õ ¦Éɯ ¦É¸¡ ɰ̨ ©ß§± Add ´¶ –Û±¶ ²¿¸¯¸¨
ɯÁ°É¯ É¥¶¯¶. ¾¶¯ À©¢µ Fields µÁ³ £µØå À̪° ª¸¯¸
Á¿± ²ª¶¯¶. ¦¨ ª¸¯¸ Á¿± ζ¯ À©¢ Update ´¶ ²¿±¸¯¸¨
ɯÁ°É¯ É¥¶¯¶ ª¸¯¸ ²©¯• ɰ̨³ £µØåª ´¶ ÀËض
¯ ´ £¤©¢µ
²§±¸¯ ¦´³ Yes ´¤´° Á¿±²ª¶¯¶. ¦–³ ׿²Â¯ ª¸¯¸ ²¨¨
ª¸¯¸ µÂ¡ ²µ§° ²©¯• µ¶¢ £¤¸.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 152


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ª¸¯¸ À±ª¨´§° Query ¶°¥¨


à ±ç´
Query ¦Éɯ ¨Â°¶¯ ª¸¯¸ µÂ¡µÉ £¤¸° ª¸¯¸ µÁ°¶¯ É°©°´ˆ
²É±³©É¯ ²§± ©°´Á¯Á ¦´³ Á¿±²ª¶ ²É±¶¯²ª¯©° £¶¢µ
Á¿±Â¸ §¤É. ¸µª ²¨©ª§± ª¸¯¸ µÂ¡µÉ £À³ £µØå
Fields À¨çɯ ²¸±¯¥±²Â¶ ¦¯µ± À¨çɯ À˪¥àض´ ɰ̲ˆ
§¤É°´±µ Àµ¸°´°. ¦²¨¶¯ ¨ ª¸¯¸ µÂ¡ É°§°À´É¯ Àµ¸°¶
£µ©¯é±²•ªá. ¦µ± £¸¥ ´ˆ ©ˆ¿¶¯Û¸±µ´É¯ ²•¶ˆ. ¦¨ª¸¯¸
µÂ¡ ©ˆ¿¶¯ÛÉ¥ ¦µ±³ £µØå ²É±¶¯²ª¯©° Á¿±ªá¨ ¨Â°¶¯
£µØå ª¸¯¸ ²¸±¯¥± Á¿±ªá¨§° §¤É°´±µ £¤¸. ª¤¶¯ £À°
Visual Data Manager ¨Â°¶¯ Query ¦Éɯ ¶°¥¨
à ±ç´
É¥¶ £±É±¥´ ©Áɱ ¿Á¨¢. ¨¢Á°¶¨
¯ ª¸¯¸ À±ª¨ ¼²¶¯Á´ ¨¸
Right Click ɰ̨ ¨Â°¶¯ Á¤²¿¶ PopUp²¨¶¢ ¦²É¶¯
New Query ²¸±¥±Â¶¯¶. ¶¤¸¯¶ˆ Visual Data
Manager §° ²¨¶Ó ¨Â°¶¯ Utility > Query Builder
²¸±¥±Â¶¯¶ ¦–³ ׿³ À§¸ ª¤É¯²µ¶ £±É±¥²´¯ ¼²¶¯Á´É¯
ª¤É¸ §¤É° ²µ´°. ª¤¶¯ ListOfBooks ª¸¯¸ µÂ¡µ µÂ¡
Á´°©¸
¯ ¡²µ¶¯ ²¸±¯¥±Â¶¯¶. ¦–³ ׿³ ²¨§° ©°´ ¨ Fields
ªÉ¯¶³ Á¤²›. ²¨§° Field Name ©ß§±
[ListOfBooks].LastName ²¸±¯¥±Â¶¯¶ ¦§° Operator
©ß§± = ÁÉ¡¶ ²´±ª¶¯¶ À©¢µ Value µÁ³ ¸¨±³
£¤¸¡ ɰ̨³ £µØå Last Name ¦É Á¿± ²ª¶¯¶. ²¨§°
Fields To Show ´¶ Á´°©¸
¯ ¡²µ¶¯ ²À¶¯–¨³ £ÈÁ Fields
¦µ±¨¸ ɯÁ°É¯ ɰ̨ ¨Â°¶¯ ²¸±¯¥±Â¶¯¶. ²¨§° Show ´¶
²¿±¸¯¸¨ ¦Þ¨ ¨Â°¶¯ SQL ÀËɱÚç´ Á¿±Â¸ §¤É ²¨´

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 153


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Message Box ¦Éɯ ¨¸ ²À¶¯µ´°. ²¨§° And Into


Criteria ¶¤¨¤¸° ²¿±¸¯¸¨ ¦Þ¨ ¨Â°¶¯ ²¨¨ ²¸±¯¥±Â¸¯
²É±¶¯²ª¯©° Criteria µÁ³ £¤¸¡Á¸¯ ɥ¶¯¶ ²¨²©¯ ׿³
£µØå À̪° ²É±¶¯²ª¯©° And Into Criteria §± Or Into
Criteria ´¶ ²¿±¸¯¸ˆ ð±–¸ É¥ ²¨§° Criteria µÁ³
£¤¸¡Á¸¯É¥ §¤É ²¨µ± ¨Â°¶¯ ²¨¨ ²É±¶¯²ª¯©° À¨¶É¯ ©À¢¥¶
ª¸¯¸ Á¿±²ª´°. £À Á°´¢ SQL ÀËɱڴ ÀÌíÚ± É¥ ¿¤Áá¨
©ß§± Run ´¶ –Û±¶ ²¿±¸¯¸¨ ð±–¸± ÉÁ §¤É. Query
¦É ¶°µ¥ª° ¶ˆ ׿ Á°´¢ ²É¶¯²ª¯©° µÁ³ £ÈÁ µ¶ Records
׿³ ª°©µ
¯ ¶¢ £¤¸. Close ²¿±¸¯¸¨ ²¸±¥± ¤¶á¨ ¾µ¸¯ µ¶¯¶
ª¤¶¯ Query Builder §° ²©¯• ²¿±¸¯¸¨ ɯÁ°É¯ É°¥¶¯¶ ¦–³
Query ¦É ²©¯• ɰ̨ ©ß§± ¶¨É¯ ¾Á¯Á¶¢ Á¤²› ²¨©ß§±
׿ ɤ¨¸° ¶¨É¯ Á¿± ²ª¶¯¶ Close ²¿±¸¯¸¨ ɯÁ°É¯ ɰ̨
¨Â°¶¯ Query Builder ¨Â°¶¯ ¾µ¸¯µ¶¯¶ ª¤¶¯ Query ¦É
ª¸¯¸ À±ª¨³ ¦É¸¡– £¤¸° £±É±¥´ ª¤É¸§¤É.

–©° µ¶ ÀÌ−²Ü¯ª´ -OOP Object Oriented


Programming
OOP ´¶¢ É¡¨É¯ª?
Object Oriented Programming ´¶¢ ¨âÎɱ»Â
¶°¥¨
à ±ç´ §± ²É¯¸¶´ ɰ̨ ©ß§± Objects ²´±È¤¶á¨
²•. ¦²§¸¯ Object ´¶¢ É¡¨É¯ª? ²¨¨ ÀËض
¯ ´³ À°Á°¸¡¥¤
©¤À´á¨ ©ß§± £À° £À²Â¯ ÀÌ©¥´ ²ª© ¿Á¨¢. £À³ £À

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 154


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ÀÌ©¥²´¯ ––Û ª¤ ªÉ¯¶³ Á¤²›. Ôȧ¥ç µØ²´¶¯ À¢³¢,


²ˆ© µ¤¶° Á´¢ ¥ÕÀµ±§°¶á, Øá¸ É¥ç µ¤¶° ÔÀÉ¥ç
©°µ¢À±µ¢¶,¯ ÀíÚᶯ µ¤¶° ©¸¡¶¯ ª¤É¯–¨³ À¢ µ¶ ²¨µ±
©°´Á¯Á³¨ ´ˆ´ˆ £»²Â±¯À±»Â ªÉ¯¶³ §¤É°²µ´°. ¦µ±¶ˆ
À¢³¢, ²¨© ©¤ÁÉÒ–³ ¦µ±³ ÉÉ¡Á¯ 4ɯ ªÉ¯¶³ Á¤²›. ¶¨¢¸¯
²¨©´³ Á±−«¢ ¸°Þ´ §¤É À¢³¢µ³ Á±−«¢ ¶¤¸. À¢³µ
¢ Á ––Û
µ¥à ª¤É°´ §¤É. ¥¤Àµ±§°¶°´ Øá¸É¥ç´ ´¶ ²¨µÁˆ µ³
ɱ¥à´´¶¯ ɰ̨³ –ÎÁ°´ £µÚå ²•. ©°µ¢À±µ¢¶³
¯ ÉÉ¡Á¯ 4 ɯ
£¤¸ ÀɯÚᶳ
¯ ÉÉ¡Á¯ ²ªÉɯ £¤¸ ²¨¨ ©°´ ¨ ©¸¡¶³
¯ £¤©¯
²ªÉɯ §± ɶ¯ ²ªÉɯª §°©É¯ ª À°§°³´°. ²¨²©¯ ªÉ¯¶³
Á¤²¿¶ ©°´ ¨ ªÕ §± £À³ ²Â±½¶¤Â°´ §¤É° ©¨§¥
©»ÉÁ¯Àª ÀÌÂçÉ ²Á±¯É²´¯ªá Object ²Á© ª¤É¯–´ §¤É°´.
¸µª ¾§¸ ªÉ¯ µ¶Áª À¢³¢ ²¨© µÁ ÉÉ¡Á¯ ©¸¡¶¯ ²Â¯ ÉÉ¡Á¯
µ¤¶° ªÕ ²¨¨ Object §° Properties (µ¸¯Éˆ) ²Á©
§Î¶¯µ±ª°´ §¤É. ²¨¨ µ¸¯Éˆ µÁ³ £¨¸¥µ Object §°
²¨¸¥àõ©¯ ª Àµ¸°´°. ¦¶ˆ ²¨¨ µ©¯¸Ò¶³
¯ ÉÁ§¤É° ɱ¥à´´¶¯
²•.
Ôȧ¥ç ²Á© †¶°©± ©Áɱ ¿Á¨¢ †¶°©± ©¸¯µ²´É° ¦¶†
†¶°©± ´¶¢ ©¸¯µ´¶¯²Â¯ ÔÀÉ¡Áɴɯ ²µ´°. †¶°©±³ ÉÉ¡Á¯
²ªÉɯ £¸¯ ²ªÉɯ £¤©¯ ²ªÉɯ Àµ¸°´°. ²¨µ± †¶°©±²Â¯
µ¸¯Éˆ ²Á© ²À¶¯µ±ª°´§¤É. ¸µª †¶°©±³ ¸¨±³ £±²•¶°É
µÓ ÁɯÚç Àµ¸°´° ¦¶† £¤©¯ µÁ µ¥àç´, §°©²É©¯ µÁ
µ¥àç´, ©²¨§° µ¥àç´, ¶¨, µ´© µ¤¶° ªÕ²•. ²¨µ±ª
†¶°©±³ £´¸¯ µ¸¯Éˆ ²•. ¸µ¸ †¶°©± ¸¯ÉÁ ק¢³ ––Û

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 155


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ɱ¥à´´¶¯ ɥ¸§¤É ¦¶ˆ, ק¢³ ªá–¨ ÉÁ §¤É° ²µ´°,


ק¢³ µ±§¶´É¯ À¤ª–¨ ÉÁ §¤É°²µ´°, Ô½ À¤¶á¨
Éò§¤É°²µ´°, ¸¨ª Æ¸Ë £¤ªá¨ ÉÁ §¤É°²µ´°. ²¨µ± †¶°©±
¶¤¨¸° Object ¦É§° ²¨¸¥àõ©¯ ²Á© ª¤É¯–´ §¤É°´. ²¨¨
©°´Á¯Á ɥ¤¶á¨ ©ß§± ÀË騲´¶¯ Objects ¶°¥¨
à ±ç´
ɥ¸ ´¢¸¡²µ´°. ²¨©ª§± Class ð±–¸± É¥´°. ¦¶ˆ
Objects §° Àµ¸°¶ ©°´ ¨ µ¸¯Éˆ §± §¤©°¬ˆ ©°´Á¯Á Class
¦É§° ²É¯¸¶´ É¥ £¤¸° £±É±¥´³ ²•. ¦¶ˆ Class ¦É´°
²¨¨ ª¤ ²É¯¸¶´ ɥ¤¶á¨ ¨´°¶¯ £À §³ ––Û É±¥à´´¶¯
Objects ¨Â°¶¯ ɥ¤¶á²ˆ §¤É°´±µ Á¤²›. ²¨µ± §° Àµ¸°¶
²¨¨ µ¸¯Éˆ §± ²¨¸¥àõ©¯ É˨ ²ªÉɳ £¥à¸ ª¤É¯–´ §¤É°
²•. ¦¶ˆ Public §± Private ²Á© ²•.
Public ²Á© £¥à¸ ªÉ¯µ± £¤¸° µ¸¯Éˆ ²§±¯ ²¨¸¥àõ©¯ ²¨¨
Object ¦²É¶¯ À°³¸°¶¯ À˲µØ–²ˆ §¤É°´±µ £¤¸ ¦¶ˆ ¦µ±
À°³¸ £¤¸° ²É¯¸¶´É¯ ¨Â°¶¯ Access ɰ̨ ÉÁ §¤É° ²µ´°.
¦¶ˆ À°³¸°¶¯ £¤¸° ²É¯¸¨Â°¶¯ µ¸¯Éˆ µÁ £Â´¶¯ Á¿±Â¤¶á¨
§± µ¸¯Éˆ µÁ³ £Â´¶¯ ªá¨ ÉÁ §¤É° £¸¥ ²¨¸¥àõ©¯
Û±µ¶´ ɰ̲ˆ §¤É°´±µ Àµ¸°´°. ¶¨¢¸¯ Private ²Á© £¥à¸
ªÉ¯µ± £¤¸° ²¨¸¥àõ©¯ ²§±¯ µ¸¯Éˆ ²¨²©¯ À°³¸°¶¯ àAccess
ɰ̨ ÉÁ ²¶± §¤É. ¦¨ ª¸¯¸ Class ¦É§° Object ¦É ¸¡Á
©¤Â– Àµ¸°´°. –Ú¢µÁ¯ ²›©°É¯ §° Àµ¸°¶ ¦É¯ Object ¦Éɯ
¶ˆ Form ²µ´°. ²¨§° Caption, Font, Name µ¤¶° µ¸¯Éˆ
Àµ¸°´°. ¸µª ¦¯µ±³ À°³¸°¶¯ À˲µÚ–²ˆ §¤É°´±µª Àµ¸°´°.
¦¶ˆ ¦µ± Public ²•. ¸µª ²¨´° Load, Unload, Show

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 156


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

§± Hide ²Á© ²¨¸¥àõ©¯ Àµ¸°´° ¦¯µ±³ª À°³¸°¶¯ À˲•Ú–²ˆ


§¤É°´±µ £¤¸° ¿¤–¶¯ Public ²•. ׿ £ ¸¯ ²¹±¯¥¨
à ´É¯
Á¿±Â¶¯¶± –³ µ¶¯²¶¯ Form Class ¦²É¶¯ Sub Class
¦Éɯ ©¤ªá¨ ²• ¦¶ˆ ¦´³ Child Class ¦Éɯ ²µ´°.

OOP £À° ²´±È¶¯¶± ²§¯¸¡.


OOP ²´±È²Â¶ ÀÌÂçÉ µ¤½©³§¶¯ ¶°¥¨
à ±ç´
ɥ¸´¢¸²
¯ ¸¯ £¤´°? ²¨¨ ÀËØç
¯ ´³ ©¥ò À°ò°¸¡¥É¯ ª°´
§¤É. ¦¶ˆ ÀÌÂçÉ µ¤½©³§¶§° ÉË°´±É±¥Éˆ ²É±³©¯É¥
²É±³©¯ µÚ²´¶¯ ¶°¥¨
à ±ç´ É°¬²ˆ §¤É°´±µ §¤É°´±µ Á¤Þ¨
²•. ²¨²©¯ ²É¯¸¶´ ɰ̨ ¨Â°¶¯ ׿²Â¯ ²É¯¸¶´¶¯ £¸¥
Àµ¸°¶ ¤™ˆ ¨Â§¥µ±Â¸ §¤É. ¦²Á©¨ ²¨§° –
Ú¯²Á¯Øç´ §± ¶°¥¨
à ±ç´ ª ²É¯¸¶´ª ¦É¨ £±É±¥²´¶¯ –¨
¶°©± ²É¯¸¶´ µ½±À§©¢²µ´°. ¸µ¸¯ µ¤ªÂ¸¯ £»Â´É¯ µ¶¯²¶¯
²¨²©¯ ¦É¯µ¥É¯ ²É¯¸¶´ ɥ¸¯ Class ¦Éɯ ¶¤µ¸
¶¤µ¸¸¯ ð±–¸ ɰ̲ˆ §¤É°´±²µ¶¯ ´¢É¸
¯ –¨´° ¦¶ˆ ¦É¨
²É¯¸¶´ ––Û £µ©¯¸±µÁªá ²´±È¤¶á¨³ ¶¤µ¸ ¶¤µ¸
²É¯¸¶´ ɰ̨ £¶µØå ²µ´°. ²¨¨Â°¶¯ ¾¸± ¾É¯¨¶°¶¯
¨âÎɱ»Â ¶°¥¨
à ±ç´³ §¤É°´±µÉ¯ Á¤²¿´°. ¸µª ²¨²©¯
Objects ¨Â°¶¯ ²É¯¸¶´ ɰ̨ ¨Â°¶¯ ÀÌÂçÉ µ¤½©³§¶É
²ÈÚ £µ¨ ²• ¦¶ˆ ׿ ð±–¸± É¥¶ Objects ª¤¶³¨¸¯
²ÈÚ¶¤¸° ¿µ ÀÌÉÚ± É¥ £¤¸° ¦–¿¤–¶ ¶¤µ¸ ¶¤µ¸
²´±È¤¶á²ˆªá ²ÈÚ ¦µ±¨Â°¶¯ £¤¸° –¨ £µ¨ ²µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 157


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²É¯¸¶´ ɰ̨.
£À° ª¤¶¯ OOP ¤¶ ¾²Â¶ ¶¯¶±Áª° ¦´ ²É¯¸¶´ É¥ç
£±É±¥´ †Áì³ ©Áɱ ¿Á¨¢ ²ˆ ©ß§± £À° ABC
Company (Pvt.) Ltd. ©Áɨ¢ ²¨´° –رÁ ²©¯µÉ
©»É屵ɯ ©°™¶ £¸¥ À§¸ ª¤É¯²µ¶ ²ªÀ±¥à¸²ˆ¶¯¸¡
Àµ¸°´°
1. £±´¸¶ ( Administration) ²ªÀ±¥à¸²ˆ¶¯¸¡µ.
2. ¨±¶µ ©ˆÀ¸¯ Éò¨ç±É¥ç ²ªÀ±¥à¸²ˆ¶¯¸¡µ
(Human Recourse Management )
3. ©¤Á©¢ˆ ²ªÀ±¥à¸ ²ˆ¶¯¸¡µ (Planning)
4. ¨ÓÁå §± °¶¢ˆ ²ªÀ±¥à¸²¨¶¯¸¡µ (Finance &
Accounts)
5. ²¸±¥¸¡¥¤ ¸±íÚç ²ªÀ±¥à¸²ˆ¶¯¸¡µ (Information
Technology)
²¨¨ ²ªÀ±¥à¸²ˆ¶¯¸¡ ¤¶ É¡½± §¤ª°¶–
¯ ¨É¯ À§¸ ª¤É¯²µ´°.

1. £±´¸¶ ²ªÀ±¥à¸²ˆ¶¯¸¡µ.
²¨¨ ²ªÀ±¥à¸²ˆ¶¯¸¡µ ¨Â°¶¯ £²¶É¡¸¯
²ªÀ±¥à¸²ˆ¶¯¸¡ ¦É¯µ µ¤½É°Ì¨³ §¤É°µ¶ À̪°
ɳ´¢¸¡ ²´ªá¨ ÀÁ¨¢ µÂÉᨠ²•. ¸µª ²¨¨
£±´¸¶²´§° ²©¯µ´ É¥ç ²©¯µÉ´°¶¯ ²Â¯ ¶°µ±½¢ §±
£²¶É¡¸¯ £±´¸¶°É ɳ´¢¸¡ ©°Îɰ̨ ²¨¨ ²ªÀ±¥à¸
²ˆ¶¯¸¡µ ¨Â°¶¯ ©°ÎÉ¥´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 158


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

2. ¨±¶µ ©ˆÀ¸¯ Éò¨ç±É¥ç ²ªÀ±¥à¸²ˆ¶¯¸¡µ.


²¨¨ ²ªÀ±¥à¸ ²¨¶¯¸¡µ ¨Â°¶¯ ²©¯µÉ´°¶¯ ²¨¨
£±´¸¶´³ ¿ßµ±Â¤¶á¨, ×µ¢¶¯ ²©¯µ²´¶¯ À§É°¬¨,
×µ¢¶³
¯ £µØå À¢§¢çµ
¢ Á¿±ªá¨ §± Ô©©¯ ɰ̨
©°Îɰ̨ ©°ÎÉ¥´°. ©°´Í¨ £±´¸¶°É –¶´ ɳ´¢¸¡
À±Á¶´ µ¶¯²¶¯ ²¨¨ ²ªÀ±¥à¸²ˆ¶¯¸¡µ §¥§±²µ´°.
²¨¨ ²ªÀ±¥¯¸²ˆ¶¯¸¡²µ§° £±´¸¶²´§° ©°´ ¨
²©¯µÉ´¶¯ ²Â¯ ²ÀŪ¯ÂÁ°É Á°À°²Â±¶¢ ¸¿± £¤¸° £¸¥
¦µ± ¨¸ ¾¸± ¥§©°Â¸µ ɳ´¢¸¡É¥´°. £²¶É¡¸¯
²ªÀ±¥à¸²ˆ¶¯¸¡µÁ ²©¯µÉ´°¶³
¯ ²¨µ± ¿¤Áᨳ Àµ±
£µ©¥ ²¶±Á¤²›.

3. ©¤Á©¢ˆ ²ªÀ±¥à¸²ˆ¶¯¸¡µ
£±´¸¶²´¯ ¾ª°Ì ª¤É¯¨ ¶¤¸¯¶ˆ ¾ª°Ì µ¥àÚ µÁªá
©°Îɰ̨³ ©¤¥²©¶ ɱ¥à´´¶¯ À°ò°¿ß ©¤Á©¢ˆ ²´ªá¨
²¨¨ ²ªÀ±¥à¸²ˆ¶¯¸¡µ –©°¶¯ ©°ÎÉ¥´°. µå±À±¥²´¯
ª¤¶³ Á¿±²Â¶ £¤¸° ª°´ç
¢ ¢µ §± ²µòȲˆ £¤¸°µ¶
²µ¶©¯Éˆ –د²Á¯Úç´ É¥ £¶±Â¸²´¯ªá ²µòȈ
ɰ̨ ©ß§± ¸¥Âɱ¥á¸µ´ £µ¨ É¥ ¸¨ ð±ç¯½ §±
²©¯µ± ¤¶ÓˆÉ¥¤µ¶¯³ Á¿± ªá¨ ©ß§± µ¤½É³´¢¸¡
©¤Á©á¨ ©°Î É¥çÓ Á¿´°.

4. ²¸±¥¸¡¥¤ ¸±íÚ¶ ²ªÀ±¥à¸²ˆ¶¯¸¡µ

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 159


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨¨ ²ªÀ±¥à¸²ˆ¶¯¸¡µ§° ²¸±¥¸¡¥¤ ¸±íÚç´ À°ò°¿ß


–²Ø¯Ú ª¤¶¢¨¤¸° ¶°ò۱̶¯ À¸¯¸¥ £¤¸ ²¨±µ¢¶²
¯ ¯
ɱ¥´´ ð±¥´ ¶ˆ ÀÌÂçÉ µ¤½©³§¶¯ ¶°¥¨
à ±ç´
¦¯µ± ´±µ¸¯ ɱÁᶠɰ¥á¨ ¼±Á É¥ç´ §± ¦¯µ±
£ŠíÚç´ ²µ› £½–¶°¥¨
à ±ç´ §± ´±µ¸¯É±Áá¶
É°¬¨ µ¤¶° ɱ¥à´´¶¯ ²•. ²¨µ± ¨Â°¶¯ ²¨¨
£±´¸¶²´§° £²¶É¡¸¯ ²ªÀ±¥à¸²ˆ¶¯¸¡µÁ ɱ¥à´´¶¯
¾¸± À§©¢²µ¶¯ ©°Îɥ¤¶á¨³ §¤É°´±µÉ¯ Àµ¸°´°.
¸µª À±Ì²ð±¯Â°É´°¶¯ ©ª´± –²Ø¯Ú É˨ ¨Â°¶¯ 𱶯½
Á¿±Â¤¶á¨ §± ´ˆ´ˆ ªÕ ¤¶ ²¸±¥¸¡¥¤ ª¤¶Â¤¶á¨
©ª§± ²µ›£½– ¶°¥¨
à ±ç´ É°Ì¨ ª ©°ÎÉ¥ç¢Á¿´°.

5. ¨ÓÁå §± °¶¢ˆ ²ªÀ±¥à¸²ˆ¶¯¸¡µ.


²¨¨ ABC Company (Pvt.) Ltd §° ©°´Í¨ °碈
ɳ´¢¸¡ §± ¨¢Áå À±Áç´ ²¨¨ ²ªÀ±¥à¸²ˆ¶¯¸¡µ
¨Â°¶¯ ©°ÎÉ¥ç¢ Á¿´°. £±´¸¶´ ©ª§± £µØå ¨¢ªÁ¯
¶°ª§©¯ ɰ̨ ¶°ÚÀ
¯ ±ª¶´³ £µÚå £¨¢Îµå
†Áªá¤¶á¨ µå±À±¥´³ £µØå µ¸¯Éˆ †Áªá¤¶á¨
À¢ªÂ
¯ Á Àö¶ö ²Â–¨ §± ²¨µ± °¶¢ˆ ¸ɰ̨ µ¤¶°
–Ú±Á ɱ¥à´´É¯ ²¨¨ ²ªÀ±¥à¸²ˆ¶¯¸¡µ ¨Â°¶¯
©°ÎÉ¥ç¢ Á¿´°.

©¤¨ £±´¸¶´É¨ ²¨¶¯¨ ²¨¨ £±´¸¶²´¯ª –²Ø¯Ú µå±À±¥


¶°¸° Àµ¸°´° ¦¶ˆ ¥§©å µ±¥à¸± É°´–¨ Éò¨ç±É¥¤µ¶¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 160


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

À¨çɯ ©°ÎÉ¥´°. £²¶É¡¸¯ À§Á ¶°òÛ±¥à¶³


¯ ²¨µ±É°´–¨
©ª§± £µÉ±Ú ²¶±Á¤²›. ¸µª ÉÁ¨ç±É¥¤µ¶¯³ ¸¨± ´³²¸¯
²©¯µ´É¥ç ²©¯µÉ´°¶²
¯ ¯ ²¸±¥¸¡¥¤ ¿Á±Â¤¶°²ˆ §¤É°´±µ
Àµ¸°¶ £¸¥ £²¶É¡¸¯ £»ØµÁ ²§±¯ ²µ¶¸¯ ÉÁ¨ç±É¥¤µÉ¡
´³²¸¯ ²©¯µ´É¥ç ²©¯µÉ´°¶²
¯ ¯ ²¸±¥¸¡¥¤ ¿¤ÁᨠÉÁ
²¶±§¤É°²µ´°. ¸µª À§Á ©°™¶ ¶°Á۱̶¯ §³ ²¨¨ §¤É°´±µ
²¶±Á¤²›.
£À³ –Ú¢µÁ¯ ²›©°É¯ §á OOP ¨Â°¶¯ ²¨¨ ©°´ ¨ ©»ÉÁ¯À
²É¯¸¶´ ɥ¤¶á²¨¯ §¤É°´±µ Àµ¸°´°.

Object §° µ¸¯Éˆ.
Object µÁ ––Û µ¸¯Éˆ Àµ¸°¶ ¿µ ²¨¨ ÀÌ−²−ª´
£±¥ˆð²´¯ªá ¨± ©ª§¶¯É¥ç Áª° ª£¶¯ £À° ²¨¨ £±´¸¶²´¯
¨±¶µ ©ˆÀ¸¯ ²ªÀ±¥à¸²ˆ¶¯¸¡µ ©Áɱ¿Á¨¢ ¦¯ ´³²¸¯
²©¯µÉ´¶¯²Â¯ –©¯¸¥ £¤¸¡Á¸¯ ɥ¤¶á¨ ©ß§± Object
¶°¥¨
à ±ç´ ÉÁ ´¢¸¡²• ²¨©ª§± £À³ Employee ¶¤¨¸°
Class ¦É µ¤ªÂ¸¯²µ´° ª¤¶¯ ¦¨ Class ¦É ¶°¥¨
à ±ç´ ©Áɱ
¿Á¨¢. ²¨§°ªá ¦¨ ²©¯µÉ´±²Â¯ ²ÀŪ¯ÂÁ°É ª¸¯¸ ²¨´³
£¤¸¡Á¸¯ ɥ¸´¢¸¡ ²µ´° ¦µ± ²¨§° µ¸¯Éˆ ²Á© ¦É¸¡
ɥ¸ §¤É ¦µ±´°¶¯ É°§°À´É¯ ¦É¸¡ ɥ¤¶á¨ À§¸
ª¤É¯²µ´°.
Public FirstName as String
Public LastName as String
Public Age as Byte

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 161


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Public DateOfBirth as Date


Public DateOfJoin as Date

²¨§° FirstName ´¶¢ ²©¯µÉ´±²Â¯ ¨¢Á¶


¯ ¨ ²• LastName
´¶¢ ק¢²Â¯ £µ©±¶ ¶¨ ²•. Age ´¶¢ µ´© µ¶ £¸¥
DateOfBirth ¨Â°¶¯ ÔÀ¶¯ ª°¶´ ªÉ¯µ´° ¸µª DateOfJoin
¨Â°¶¯ ²©¯µ´³ ¿¤Î¶¢ ª°¶´ ªÉ¯µ´°.

²¨§ª° ªá £À³ Á¤¿¢¶¢ ¦É¯ ª¸¯¸´É¯ ¶ˆ ÉÁ¨ç±É¥¤µ¶¯


©ß§± ¸¨± ´³²¸¯ £¤¸° ²©¯µÉ´¶¯²Â¯ ²¸±¥¸¡¥¤ ¿Á±Â¤¶á²ˆ
§¤É°´±µ Àµ¸°¶ ¿µ²•. ¦¿¤–¶¯ ¦¨ ²©¯µÉ´±
ÉÁ¨ç±É¥¤µÉ¡ª ¶¤ª¯ª ´¶ µÂ ª¤¶Â¤¶á¨ ¾¸± µ¤ªÂ¸¯²•
À§¸ ²É¯¸¶´ ¨Â°¶¯ ¦´ ¸§µ¢¥¤É¥Â¤¶á²ˆ §¤É°´±µ
Àµ¸°´°
Public IsManager As Boolean
²¨¨Â°¶¯ IsManager ´¶ –«Áå´ §° £Â´ True –³ ק¢
ÉÁ¨ç±É¥¤µÉ¡ µÚ²´¶¯ª False –³ À§Á ²©¯µÉ´É¡
²Á©ª ©¤ÁÉ°´ §¤É° ²µ´°.

–©° µ¶ ÀÌ−²Ü¯ª´ - Database ©¨Â É°Ë´± É°¬¨


Objects)..
DAO - I (Data Access Objects)

ÉÁ°¶¯ ÀÌ−²Ü¯ª µÁªá ׿ ©¥Á ÀÌ妃 µ¤½©³´¶¯ ¶°Àª–


¨³ ¾²Â¶Â¶¯¶± Áª° ²¨¨ ÀÌ−²Ü¯ª²´¶¯ À̶É

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 162


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Database ©¨Â µ¤½É°Ì¨³ £À ¾²Â¶ ¶°¨¢. Database


´¶¢ ª¸¯¸ ¿½±É¥ ¸¤Þ¨³ ÔÀɱ̵¶ ¨âÎɱ»Â ²•. ²¨µ±
¨Â°¶¯ ª¸¯¸ ÀÌ妃 µ¤½©³§¶¯ Û±µ¶´ ²¶±µ¶
£µ©¯¸±µÁªá ¥¤©¯É¥ ¸¿±²Â¶ £µØå £µ©¯¸±µÁªá
À˲´±¯¼¶´³ ¸ §¤É° ²Á© ©É©± £¤¸. ¸µª File ²¨¶¯
²¶±µ ²¨µ±ª ¾¸± ©¢¥É¯Ú°¸µ ¿½±É¥ ¸¿± £¤¸ ¦¶ˆ
À§©¢²µ¶¯ ɱ³¸¯ ²¨§° ª¸¯¸ ²µ¶©¯É°Ì¨ É¥ ²¶±§¤É. ¦¶ˆ
¦´³ £ÈÁ ¨Ó¥Àª´ ª¶¯¶± £´É¡³ §¤¥ ²¨´³ £¤¸¡Á¯ –¨ £¶¯
£´³ ÉÁ ²¶±§¤É. ––Û ¨¢¥Àª Á¿±ª° ¦µ±³ ÉÁ §¤É°
ɱ¥à´´¶¯ ¦¯ ¨Â°¶¯ À±Á¶´ ÉÁ §¤É. –Ú¢µÁ¯ ²›©°É¯ ¨Â°¶¯
ª¸¯¸ À±ª¨É³ ©ˆ¿¶¯Û–¨ ¾²Â¶ ¤¶á¨ ©ß§± ¨¢Á°¶¨
¯
À§¸ À̪° ÀÌÂçɲ´¯ ¨¢§¢¶¸ ©±È¶°¨¢.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 163


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

À©¢µ Add-Ins µÁ £¤¸° Visual Data Manager


¿±–¸±É¥ emp.mdb ¶¤¨¸° Microsoft Access ª¸¯¸
²Â±¶¢µ ©±È¶¯¶. ¾¶¯ À©¢ ¦´³ emp ¶† Table ¦Éɯ ª¨±
¶¯¶ ¦´ À§¸ À̪° ²•.

Table Emp

Fileds
Id Text
Name Text
Age byte

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 164


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Designation Text

²¨¨ £¸¡¥¤ ¨¢§¢¶¸ ©±È¤¶á¨ ©ª§±. ׿³ Grid View ´¶


ÔÀ±»Â´ £µØå ²• ¦´ ©±¨±¶å²´¶¯ Visual Basic £±¥¨ð
É¥¶ £µ©¯¸±²•ªá Tool box §° ²¶±¨¤¸ ¦´ Á¿± ¤¶á¨³
Project ´¶ ²¨¶Ó £´°³¨²´¶¯ Component ²¸±¯¥±Â¶¯¶
¦–³ À§¸ À̪° Dialog Box ¦Éɯ ªÉ¯¶³ Á¤²› ²¨¨Â°¶¯
À§¸ À̪° Microsoft Data Bound Grid Control 5.0
´¶¯¶ ²¸±¯¥±Â¶¯¶ ¦–³ Tool Box §° ¦´ ª°©¯ ²•. Data
control ¦É VB £±¥ˆ¿É £µ©¯¸±²•ªá ª¤É¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 165


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ª¤¶¯ À§¸ À̪° ¦§° Settings ²µ¶©¯É¥ ¶¯¶.

Data Control
Name Data1
DataBaseName <Database £¤¸° ©¯¸±¶´>
\<Database ¦É>
DataSource Emp

TextBox
Name Text1
DataSource Data1
DataField Id

Name Text2

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 166


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Datasource Data1
DataField Name

Name Text3
DataSource Data1
DataField Age

Name Text4
DataSoruce Data1
DataField Designation

Grid View
Name DBGrid1
DataSource Data1

Command Buttons

Name Command1
Caption New

Name Command2
Caption Update

Name Command3
Caption Edit

Name Command4
Caption Next

Name Command5
Caption Previous

Name Command6
Caption Delete

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 167


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

ª¤¶¯ ¦´ À§¸ £±É±¥²´¶¯ ²É¯¸¶´ É¥¨¢.

Private Sub Command1_Click()


Data1.Recordset.AddNew
LockText False
End Sub

Private Sub Command2_Click()


Data1.Recordset.Update
LockText True
End Sub

Private Sub Command3_Click()


Data1.Recordset.Edit
LockText False
End Sub

Private Sub Command4_Click()


If Not Data1.Recordset.EOF Then
Data1.Recordset.MoveNext
End If
End Sub

Private Sub Command5_Click()


If Not Data1.Recordset.BOF Then
Data1.Recordset.MovePrevious
End If
End Sub

Private Sub Command6_Click()


Data1.Recordset.Delete
MsgBox "Record Deleted!"
End Sub

Private Sub Data1_Validate(Action As Integer, Save As


Integer)
If Not (Data1.Recordset.EOF Or Data1.Recordset.BOF)
Then
Data1.Caption = Data1.Recordset("Name").Value
End If

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 168


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

End Sub

Private Sub Form_Load()


LockText True
End Sub

Private Sub LockText(bVal As Boolean)


Text1.Locked = bVal
Text2.Locked = bVal
Text3.Locked = bVal
Text4.Locked = bVal
End Sub

Data1.RecordSet ´¶¢ Data1 §° Records £¤¸° ©¯é±¶´´°.


¦´°
Private Sub Command1_Click()
Data1.Recordset.AddNew
LockText False
End Sub

¾§¸°¶¯ ª¤É¯²µ¶ ²É¯¸¶´§° Data1.Recordset.AddNew


¨Â°¶¯ ²¨´³ Records ¦É¸¡É°Ì¨³ §¤É°µ¶ £±É±¥²´¶¯
£Á¡¸¯ Record ¦Éɯ Á¿± ²ª´°.

Private Sub Command3_Click()


Data1.Recordset.Edit
LockText False
End Sub

²¨¨Â°¶¯ Record ¦Éɯ ²µ¶©¯É°Ì¨³ §¤É°´±µ Á¤²›.

Private Sub Command2_Click()


Data1.Recordset.Update
LockText True
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 169


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£ ¸¯ Record ²§±¯ ²µ¶©¯ÉÁ Record Database ¦É§°


Save ɥ¤¶á¨ ²¨¨Â°¶¯ ©°ÎÉ¥´°.

Recodset §° –²Ø¯Ú £Â´¶¯ ²ªÉɯ £¤¸° ¦µ±¶ˆ


Data1.Recordset.BOF §± Data1.Recordset.EOF
²¨µ±¨Â°¶¯ À°Á°²µÁ°¶¯ Records µÁ ¨¢Á §± £Â ªÉ¯µ´° ¦¶†
¨¢Á°¶¯ £¤¸°–³ BOF §° £Â´ True µ¶ £¸¥ £Â £¤¸°–³
EOF §° £Â´ True ²•.

–©° ¦É¯ µ¶ ÀÌ−²Ü¯ª´ - Database ©¨Â É°Ë´±


Objects)..
É°¬¨ ADO - I (ActiveX Data Objects)

׿ ÉÁ°¶¯ ÀÌ−²Ü¯ª²´¯ªá DAO ¸±É¯Ú¶´ ´³²¸¯ Database


©¨ì É°Ë´±É°Ì¨³ ¾²Â¶Â¶¯¶± Áª° ²¨¨ ÀÌ−²Ü¯ª²´¶¯
ADO ©¨Â µ¤½É°Ì¨³ ¾²Â¶Â¨¢. ²¨©ª§± ¨¢Á°¶¨
¯ ׿³
Microsoft ADO Data Control 6.0 (OLEDB)
ɶ¯²³±¯Á´ §± Microsoft Data Grid Control 6.0
(OLEDB) Á¿±Â¸ ´¢¸¡ ²µ´°. ²ˆ ©ß§± Projects ²¨¶Ó
£´°¸¨²´¯ £¤¸° Components ´¶¯¶ ²¸±¯¥± Á¤²¿¶ Dialog
Box ¦²É¶¯ ¾§¸ £´°¸¨ ²¸±¥±Â¶¯¶. ¦–³ Tool Box
¦É§° ²¨¨ ²É±¶¯²³Ë±Á
¯ ª¤É°´ §¤É. ª¤¶¯ À§¸ À̪° £¸¡¥¤
¨¢§¢¶¸ ©É©¯É¥ ¶¯¶. ²¨©ª§± £À° ÉÁ°¶¯ ÀÌ−²Ü¯ª²´¯
©É©¯É¥¶Áª emp.mdb ²´±È¶°¨¢.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 170


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²½³± Control §° (Custom) ²ÉÁµ¥ £¤¸° –Û±¶ ²¿±¸¯¸¨


ɯÁ°É¯ É¥¶¯¶. ¦–³ À§¸ À̪° ½´²Á±Â¯ ²¿±É¯©´É¯ ª¤É°´
§¤É. ¦§° Build ´¶¯¶ ɯÁ°ÉÉ
¯ ¥¶¯¶.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 171


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¦–³ À§¸ À̪° ¸µ¸¯ ½´²Á±Â¯ ²¿±É¯©´É¯ ª¤É¸ §¤É°


²µ´°. ²¨´°¶¯ Microsoft Jet 4.0 OLEDB Provider ´¶¯¶
²¸±¥±Â¶¯¶ ¾¶¯À©¢ Next ɯÁ°É¯ É¥¶¯¶.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 172


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¦–³ À§¸ ª¤É¯²µ¶ À̪° ½´²Á±Â¯ ²¿±É¯©´ ²µ¶©¯ ²•


²¨´³ Database ¦É§° £¤¸° ©¯¸±¶´ Á¿± ²ª¶¯¶. À©¢µ
Test Connection ɯÁ°É¯ É¥¶¯¶ ¦–³ Test Connection
Succeeded ²Á© Message Box ¦Éɯ Á¤²¿´° ¶ˆ ׿
¶°´¨ ²Á© Connection ©±È £¤¸. ¦¨¶°©± ¦´ OK
É¥¶¯¶. ¾¶¯ À©¢ £¤¸° Property page ¶¤¨¸° ½´²Á±É¯
²¿±É¯©´§° Record Source ²¸±¥±Â¶¯¶ ¦§° Command
Type ´¶¯¶ adCmdTable ²Á© ²¸±¯¥±Â¶¯¶. Table or

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 173


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Stored Procedure Name ´¶¯¶ emp ²Á© ²¸±¯¥± ¶¯¶


Apply É¥ OK É¥¶¯¶.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 174


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£¸¡¥¤ ¨¢§¢¶¸ À§¸ ²Á© ©É©¯É¥¶¯¶

TextBox
Name Text1
DataSource Adodc1
DataField Id

Name Text2
Datasource Adodc1
DataField Name

Name Text3
DataSource Adodc1
DataField Age

Name Text4
DataSoruce Adodc1

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 175


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

DataField Designation

Grid View
Name DBGrid1
DataSource Adodc1

Command Buttons

Name Command1
Caption Previous

Name Command2
Caption Next

Name Command3
Caption New

Name Command4
Caption Edit

Name Command5
Caption Save

Name Command6
Caption Delete

ª¤¶¯ ¦´ À§¸ À̪° ²É¯¸¶´ ɥ¶¯¶.


Private Sub Command1_Click()
If Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MovePrevious
End If
End Sub

Private Sub Command2_Click()


If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveNext

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 176


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

End If
End Sub

Private Sub Command3_Click()


Adodc1.Recordset.AddNew
LockText False
End Sub

Private Sub Command4_Click()


LockText False
End Sub

Private Sub Command5_Click()


Adodc1.Recordset.Update
LockText True
End Sub

Private Sub LockText(bVal As Boolean)


Text1.Locked = bVal
Text2.Locked = bVal
Text3.Locked = bVal
Text4.Locked = bVal
End Sub

Private Sub Command6_Click()


Adodc1.Recordset.Delete
MsgBox "Record Deleted"
End Sub

¸µª À§¸ À̪° Save ²µ¶©¯É¥ Á°–´ §¤É.

Private Sub Command5_Click()


Adodc1.Recordset("ID") = Text1.Text
Adodc1.Recordset("Name") = Text2.Text
Adodc1.Recordset("age") = Text3.Text
Adodc1.Recordset("Designation") = Text4.Text
Adodc1.Recordset.Update

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 177


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

LockText True
End Sub

¸µª ²¨§° £¤¸° ª¸¯¸ µÁ £Â´¶¯ Á¿± ¤¶á¨³ £µØå ¶ˆ.


Adodc1.Recordset(“ID”) ¨Â°¶¯ Á¿±Â¸§¤É.

ÔÈ
Print “ID=” & Adodc1.RecordSet(“ID”)

²¨¨Â°¶¯ ´ˆÉ°©°µÉ¯ ²µ¶©¯É¥ ¦´ £¤¸¡Á¸¯ ɰ̨ É¥§¤É


¦¶ˆ Â綴 ɰ̈ ɰ̨ µ¤¶°ª¤ É¥ Database ¦É³ ª¸¯¸
£¤¸¡Á¸¯ ɰ̨ ɥ¸ §¤É.

¾§¸ ²À˱À™ ²À¯¼¯ ¦É§° RecordSource µÁ Command


Type ³ adCmdText ²¸±¥±Â¸¯–³ ¾§¸ £±É±¥²´¯¶¯ ¦´

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 178


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²µ¶©¯ ²• ²¨§° Command Text(SQL) ´¶ ²³É¯©¯


²¿±É¯©²´¯ SQL Query Á°´± £µØå £±É±¥´³ ª¸¯¸
²¸±¯¥±Â¤¶áˆ ɥ¸ §¤É.

²ªµ¶
–©° ²ªµ¶ ÀÌ−²Ü¯ª´ - SQL(Structured Query
Language) Query And More
¾§¸ ÀÌ−²Ü¯ª²´¯ ª¸¯¸ Database ¦ÉÉ°¶¯ ²¸±¯¥±Â¤¶á¨³
SQL Query £µÚå ¿µ ²À¶¯µ±²ª¶ Áª° ²¨¨
ÀÌ−²Ü¯ª²´¶¯ ©¥Á Query Á°´¶ £±É±¥´ ¤¶ ¾²Â¶
¨¢. SQL µÁ³ £¨¸¥ µ DDL §± DML ¶¤¨¤¸° ¸µ¸¯
Query µ¥à Àµ¸°´³ DDL ´¶¢ Data Definition
Language ²•. ¦¶¨ Query ¨Â°¶¯ Tables ©¤ªá¨ µ¤¶° ª¤
²¨§°ªá ©°ëÉ¥´° DML ´¶¢ Data Manipulation
Language ²•. ª¸¯¸ ¨¸ ––Û ²ª¯É¥ ª¸¯¸ ²µ¶©¯ ɰ̨
²§±¯ £¤¸¡Á¸¯ ɰ̨ ɰ̨ ©ß§± ²¨´ ð±–¸ É¥´°.
SQL Query §° ©¤É¤©¯¨ À§¸ ª¤É¯²µ´°.

Select <Filed1>,<Fileld2>,...|*
From <Table1>,<Table2>,...
[Where <Conditions>]
[Group by <Filed11>,Filed21>,...]
[Order by <Filed12>,Filed22>,...]
[Having <Conditions>]

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 179


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨´° Select À©¢À©°¶¯ £¤¸¯²¸¯ ׿³ Database ¦²É¶¯


²¸±¯¥±Â¸´¢¸¡ Fields ²•. * ²´ª°¨ ¨Â°¶¯ ©°´Í¨ Fields
ª¤É¯²µ´°.

From À©¢À©°¶¯ £¤¸¯²¸¯ £ÈÁ Tables ¶¤¸¯¶ˆ Fields £¤¸°


Database Tables ²•.

Where À©¢À©°¶¯ ²¸±¯¥±Â¤¶á¨³ £µØå ²É±¶¯²ª¯©° Á¿±ªá¨


¨Â°¶¯ £µØå ª¸¯¸ ²¸±¯¥±Â¸ §¤É.

Group By ¨Â°¶¯ ²¨§° ªá £¤¸° Field ¦ÉÉ £¤¸° ª¸¯¸


ɱ¶¯½ ²Á© ²Â±¶¢ÉÁ §¤É.

Oder by ´¶¯²¶¶¯ Field ¦ÉÉ°¶¯ ²§±¯ ÉáÀ´É. £É±¥±ªá


À°Á°²µÁ³ ©É©¯É°Ì¨ ɥ¸ §¤É.

Having ¨Â°¶¯ Group ÉÁ ª¸¯¸ µÁ ²É±¶¯²ª¯©° ª¨±


²¸±¯¥±Â¤¶áˆ É¥§¤É. ¦¶ˆ É篽±´† µÁ³ ²É±¶¯²ª¯©°
²´ª°´ §¤É.

ª¤¶¯ ©¥Á Query ¦Éɯ Á°´¨¢ ÀÁ¨¢ ÀÌ−²Ü¯ª²´¯ ª¤É¯µÓ


ª¸¯¸ À±ª²¨¶¯ (Database) emp §° ©°´Í¨ ª¸¯¸ Á¿±
¤¶á¨ ©Áɱ¿Á¨¢.
²¨§°ª°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 180


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Select * From Emp


²Á© ¦§ ª¤É¯–´ §¤É°´. ª¤¶¯ Id ¦É §± ¶¨ À¨çɯ Á¿±
¤¶á¨ ©Áɱ¿Á¨¢.

¦–³
Select Id,Name From Emp
²Á© Á°–´ §¤É ²¨´° ID §± Name ´¶¢ Database §° Emp
Table ¦É§° Fields ²•.

ª¤¶¯ Id ¦É 001 µ¶ À¢ªÂ


¯ Á´± ²¸±¯¥±Â¤¶á¨ ©Áɱ ¿Á¨¢.
Select * From Emp where id=’001’

²¨§° ‘ ©ÁÉ¡¶ ²´±È £¤¸° £±É±¥´ ¿Á¶¯¶. ²¨§° id ´¶¢


String ²§±¯ Text ¦Éɯ ²Á© £¤¸° ¿¤–¶¯ ¦´ Á¿± ªá²†ªá
²ªÀ©³ ‘ ©ÁÉ¢ç ²´±ª¶¢ Á¤²›.

¶¨ ©¨¶¯ µ¶ À¢ªÂ
¯ Á´± ²¸±¯¥±Â¤¶á¨ ©ª§±
Select * From Emp where Name=’Saman’

µ´© £µ¢¥¤Î 50 ³ µ¤ö À¢ªÂ


¯ Á´¶¯ ²¸±¯¥±Â¤¶á¨ ©ß§±
Select *From Emp Where Age > 50

µ´© £µ¢¥¤Î 50 ³ µ¤ö À¢ªÂ


¯ Á´¶¯ ²¸±¯¥±¯ ¶²ˆ £É±¥±ªá
À°Á°²µÁ³ ©¤É©á¨ ©ß§±.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 181


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Select * From Emp Where Age > 50 Oder by Name

µ´© 50 ³ µ½± µ¤ö §± ¶¨ ©¨¶¯ µ¶ À¢ªÂ


¯ Á ´± ²¸¯Ì¨³
Select * From Emp Where Age>50 And
Name=’Saman’

²¨§°ªá And ²§±¯ Or ð±–¸ ²´¶¯ ²É±¶¯²ª¯©° ²ªÉɯ


©ˆ¿¶¯ÛÉ¥ §¤É.

ª¤¶¯ Branch ¶ˆ ¸µ¸¯ Table ¦Éɯ ©Áɨ¢ ¦§°


branchID (Text) §± BranchName (Text) ²Á© Fields
Àµ¸°´° ¶ˆ £À° Emp Table ¦É ²µ¶©¯ É¥¨¢ ¦¶ˆ ¦´³
BranchID ²Á© Field ¦Éɯ Á¿± ²ª¨¢. ª¤¶° ²¨´³ ª¸¯¸
ª¨± ¶°¨¢. Branch §° BranchID §± Emp §° BranchID
¦É ¦É¨ ²Á© ²•. ¦¨¶°©± ²¨¨ Table ²ªÉ ²¨¨ Field
²ª²É¶¯ ©ˆ¿¶¯Û ÉÁ §¤É. ¦²©¯ ɰ̨ ©ª§± À§¸ Query
´ ð±–¸ ÉÁ §¤É.
Select *
From Emp, Branch
Where Emp.BranchID = Branch.BrachID

µ´© £µ¢¥¤Î 50 ³ µ¤ö À¢ªÂ


¯ Á´¶¯ ²©—¨ ©ß§±

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 182


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Select E.ID as EmpID, B.BranchID, E.Name, E.Age


From Emp E, Branch B
Where E.BranchID=B.BranchID And E.Age>50
²¨´° Emp §± Branch ²µ¶¢µ³ À°Á°²µÁ°¶¯ E §± B ´¶
£É¯Ú¥ ¦¯µ±³ £±²ª¯Ú É¥ £¤¸ ¦–³ ¦¨ £É¯Ú¥ ²´±È²Â¶
¦´° Fileds ð±–¸´³ ¸ §¤É. ²¨§° Select §° As ´¶
Àª´ ²´±È ¦¨ Filed ¦É³ ²µ¶¸¯ ¶¨É¯ Á¿±ª°´ §¤É. ¦–³
¦¨ ¶¨ ð±–¸ É¥ ª¸¯¸ Á¿± ¤¶á¨ ÉÁ §¤É° ²•.

Aggregate Functions
ª¸¯¸ µ¥à ɱ篽 ɰ̲ˆªá À§¸ ª¤¸¯²µ¶ Functions
¨Â°¶¯ ¦µ²´¯ ª¸¯¸ ¦É¯ ¦É¯ £±É±¥´³ ²µ¶©¯É¥Â¸ §¤É.

Sum - ©»íå± £½»Â¡ Field ¦ÉÉ ¦É¸¡µ Á¿±Â¤¶°¨ ©ß§±


Avg - ©»Éå± £¤¸° Field ¦ÉÉ ©±¨±¶å (Null ²¶±µ¶
Filed µÁ) Á¿±Â¤¶á¨ ©ß§±.
Count - ©»Éå± £¤¸° Field ¦ÉÉ (Null ²¶±µ¶ Filed
µÁ) Field ¶ç Á¿±Â¤¶á¨ ©ß§±.
Min - ©»Éå± £¤¸° Field ¦ÉÉ É¡½±¨ ©»íå±µ ²©±´±Â¤¶°¨
©ª§±.
Max - ©»íå± £¤¸° Field ¦ÉÉ –رÁ¨ ©»íå±µ
²©±´±Â¤¶°¨ ©ß§±.
First - ©»Éå± £¤¸° Field ¦ÉÉ ÀÁ¨¢ Record ¦É§°
©»Éå±µ Á¿±²ª´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 183


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Last - ©»Éå± £¤¸° Field ¦ÉÉ £¶¯¸°¨ Record ¦É§°


©»Éå±µ Á¿±²ª´°.
StDev - ª¸¯¸ Á¿±Â¶¯¶± Sample ¦É§° ©ˆ¨¸ £À¨ç´
(Standard Deviation) ²©±´±Â¤¶á¨ ©ß§±.
StDevP - Population ¦É§° ©ˆ¨¸ £ÀÂ¨ç´ ²©–¨
©ª§±
Var - ª¸¯¸ Á¿±Â¶¯¶± Sample ¦É§° –«Á¸±µ´ ²©–¨
©ß§±.
VarP - ¨¢Í Population ¦É§° –«Á¸±¶´ ²©–¨ ©ß§±.

Select With Join

Select <Table1.Field1>|*[[,<Table2.Field2>]......]
From <Table1>[[Inner Join|Left Join| Right Join
<Table2> on <Table1.Field3> =
<Table2.Field4>]......]
[Where <Condition(s)>]
[Group By <Field1>[[,<Field2>]......]]
[Order by <Field5>[[,<Field6>]......]]
[Having <Condition(s)>

²¨§° ªá Field É°§°À´É¯ Table É°§°À´É°¶¯ Á¿±Â¶¯¶± £¸¥


¦¨ Table Join ɰ̨ ©ß§± Inner Join, Left Join §±
Right Join ð±–¸ É¥´°. ²¨§° ªá Inner Join ¨Â°¶¯ µˆÀ©

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 184


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£¤¸° Table ¦É§° £¤¸° ª¸¯¸ §± ªÉ¡çÓ À© Table ¦É§°


£¤¸° ª¸¯¸ ¦É¸¡ ɰ̲ˆªá on ´¶ Key word ¦É À©¢ À©
£¤¸° ²É±¶¯²ª¯©°³ ³´ £¶¢µ ©°Î²• ¦¶† Table1 §° Field3
§± Table2 §á Field4 ©¨±¶ ²•¶ˆ À¨çɯ ¦¨ Record
¦É Á¿± ²ª´° ²¨¨ Field ²ª²É¶¯ ¦Éɯ ²§± ²¶±Àµ¸°´°¶ˆ
¦¶ˆ ¦É¯ Table ¦ÉÉ ¦´³ £ÈÁ ª¸¯¸ ²¶±Àµ¸°´°¶ˆ ¦¨
ª¸¯¸ ²¶±À¤†²¶¯. Left Join §áª° ª Inner Join ²Á© ¨ µ¶
£¸¥ ²µ¶©É¯ µÚ²´¶¯ µˆÀ¤¸¯²¸¯ £¤¸° Table ¦É§° ª¸¯¸
¸°Þ ªÉ¡ç¢ À© £¤¸° Table ¦É§° ª¸¯¸ ²¶±¨¤¸°–³ ²¨¨
Record ¦Éª Á¿±²ª´°. ¦–³ ª¸¯¸ ²¶±¨¤¸° Field Null
²Á© ªÉ¯µ´°. Right Join ª Left Join ²Á©¨ µ¶ £¸¥
µˆÀ© Table ¦É ²µ¶¢µ³ ªÉ¡ç¢ À§ Table ¦É ©¨Â Join
É¥´°.

Select Into Statement

Select <Table1.Field1>[[,<Table2.Field2>]......]
Into <Table>
From <Table1> [[Inner Join|Left Join|Right Join
<Table2> on <Table1.Field3> =
<Table2.Field4>]..........]
[Where <Condition(s)>]

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 185


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨¨Â°¶¯ Table ´¶ Table ¦É ©±È ¦´³ Table1,


Table2,...... ¨Â°¶¯ ª¸¯¸ Á¿± ²ª´°. ¦¶ˆ ¾§¸ Table µÁ
ª¸¯¸ µÁ°¶¯ Table ¶¤¨¸° Table ¦É ©±È¶°´°.

The Insert into Statement

Insert Into <Table>( <Field1>[[,<Field2>].......)


Values (<Value1>[[,<Value2>].....])

²¨§° ªá Table ¶¤¨¸° Table ¦É§° Field1,Field2,.......


³ £Â´¶¯ Á¿±²ª¯ ¦¯µ± Value1,Value2 ²Á© ²•.

Insert Into <Table>(<Field1>[[,<Field2>]......]


Select <Table1.Field1>[[,<Table2.Field2>]......]
From <Table1>[[Inner Join|Left Join|Right Join
<Table2> on <Table1.Field3> =
<Table2.Field4>].........]
[Where <Condition(s)>]

²µ¶¯¸ Table µÁ°¶¯ ª¸¯¸ ¦¶ˆ Table1, Table2 ... µÁ°¶¯


Table µÁ³ ª¸¯¸ ª†¨ ©ß§± ²¨¨ Query ¦É ð±–¸
É¥´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 186


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Update Table Statement


Update <Table>
Set <Field1>=<Value1>[[,<Field2>=<Value2>]......]
[Where <Condition(s)>]
ª¸¯¸ À±ª²¨§° £¤¸° <Table> ¶ˆ Table ¦É§° Fields µÁ
ª¸¯¸ ²µ¶©¯ ɰ̨ ©ß§± ð±–¸ É¥´°.

Delete Table Statement


Delete * From <Table>
[Where <Condition(s)>]
<Table> ¶ˆ Table ¦É§° ©°´Í¨ ª¸¯¸ ²§± ²ª¶ Áª
²É±¶¯²ª¯©°´É³ ©ÌÁ¶ ª¸¯¸ ¾µ¸¯ ɰ̨³ ²¨¨ Query ´
ð±–¸ É¥´°.

Alter Table Statement


Alter Table <Table>
Add Column <ColName> <Type> [Not Null]

²¨¨Â°¶¯ <Table> ¶ˆ Table ¦É³ <ColName> ¶ˆ


Field ¦Éɯ ¦É¸¡ É¥´° ²¨§° <Type> ´¶¢ ¦¨ Field
¦É§° Data Type ¦É µ¶ £¸¥ Not Null ´¶¯²¶¶¯ ¦¨
Field ¦É ³ Null £Â´¶¯ ª¤†¨³ ²¶±§¤É° ¿µ ²À¶¯µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 187


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Alter Table <Table>


Drop Column <ColName>
²¨¨Â°¶¯ <ColName> ¶¤¨¤¸° Field ¦É <Table> ¶¤¨¸°
Table ¦²É¶¯ ¾µ¸¯ ɰ̨ É¥ç¢ Á¿´°.

Drop Table Statement


Drop Table <Table>
²¨¨Â°¶¯ Table ¶¤¨¸° Table ¦É ª¸¯¸ À±ª²¨¶¯ ¾µ¸¯
É¥ç¢ Á¿´°.

¯ ¶ ÀÌ−²Ü¯ª´ - ²ŒÚ ((Errors


–©° ¸¡¶µ Errors))
Errors
²¨²¸É¯ ²µÁ± ׿ ÀÌ妃 ²É¯¸¶ É˨¤¶ ¾²Â¶ ¶¯¶±
Áª° ²¨¨ ÀÌ−²Ü¯ª²´¶¯ ÀÌ妃 µ¤½©³§¶É ©°Îµ¶ ²ŒÚ
¨Â§¥µ±Â¶¯¶± £±É±¥ ¾²Â¶ ¶°¨¢. Visual Basic §°
À̶ÉÉ µ¤½©³§¶É ²ŒÚ´É¯ £¤¸° µÓ–³ ¶¯¶±
ÉË°´±¨±¥à ²ªÉɯ ª¤É¯²µ´° ¦¶ˆ. ²ŒÚ´ ¨Â§¤¥ ´±¨ ²§±¯
²ÈÚ´³ À°Á°´ˆ ²´ªá¨ ²–. ²¨©ª§± ²É¯¸¶ É˨²ªÉɯ
ð±–¸ É¥´°.
On Error Resume Next
²¨¨ ²À¯Á°´ ²ŒÚ £¤¸°–´ §¤É° ²É¯¸¶ ²É±³²©¯ ¾§Á°¶¯
©ª§¶¯ ÉÁ –³ ¦´ ²ŒÚ´ ¨Â§¤¥ £²¶É¯ ²À¯Á°´³
¨¶¯É¥ ¦¸¤¶¯À³¶¯ µ¤½©³§¶ Û±µ¶´ É¥´°.
On Error Goto Er:

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 188


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨¨ ²É¯¸¶ ²É±³© ¾§Á°¶¯ ©ª§¶¯ ÉÁ –³ ¦´ Er: ¶¤¨¸°


©¯é±¶´³ ²Â±©¯ ¦¸¤¶ £¤¸° ÉË°´± ¨±¥à £¶¢Â¨¶´ É¥´°.

Ôȧ¥¶ 1:
Private Sub Command1_Click()
On Error Resume Next
Dim Total as Integer
Total=10/0
Msgbox “Error Passed”
End Sub

Ôȧ¥¶ 2:
Private Sub Command2_Click()
On Error goto Er:
Dim Total as Integer
Total=10/0
Msgbox “Error Pass”
Exit sub
Er:
Msgbox “Error Trapped”
End Sub

¾§¸ Ôȧ¥¶ ²ªÉ§°¨ Total=10/0 ªá ²ŒÚ´É¯ §³Â¶á


¦¶ˆ Þ¶¯Î²µ¶¯ ²¿ªá²ˆ ²ŒÚ´²•. ÀÁ¨¢ ²É¯¸¶ ɶ¯½´

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 189


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Û±µ¶´ ÉÁ–³ Error Passed ´¶ À¶°µ¢½´ Á¤²› ¦¶ˆ


²ÈÚ´ ¶¶¯ ²¶±²Â¶ ¾ª°Ì´³ ²Â±©¯ £¤¸. ¶¨¢¸¯ ²ªµ¶
²É¯¸¶ ɶ¯½´ Û±µ¶´ ɰ̲ˆªá Error Trapped ´¶
À¶°µ¢½´ À¨çɯ Á¤²› ¦¶ˆ ²ŒÚ´ ©°ÎµÓ–³ ¦¨ ²É¯¸¶´
¾¸°Ì´ ²É¯¸¶´³ ²¶±²Â±©¯ Er: ²Á© ©ª§¶¯É¥£¤¸°
²Á¯¿Á´³ ²Â±©¯ ¦§° £¤¸° –Û±¶ ¨Â°¶¯ ²ŒÚ´ ¨Â§¤Ì¨³
¸¤¸¯É¥´°. ²¨§° µ¤ªÂ¸¯ £»Â´É¯ µ¶¯²¶¯ Err ´¶ Object
¦É ²• ²ŒÚ´É¯ ©°ÎµÓ µ§±¨ ²¨¨ Err §° ¦¨ ²ŒÚ´ ©³§¶¯
²• Err.Number ¨Â°¶¯ ²ŒÚ²´¯ £»É´ª Err.Description
¨Â°¶¯ ²ŒÚ²´¯ –©¯¸¥´ª ªÉ¯µ´°. ²¨§° ª° ©›¥Õ™¶²´¯ ¨¶
À§Á³ ¨¶¯ ɰ̨ ¶¤µ¤¸¯–¨³ Exit Sub ²´±È¤²¶¯ ²¨–
³ ¾§Á ©°³ ²É¯¸¶´ execute ²µ†¶¯ À¤†¶ ²¨¨ –
Û±¶²´¯ª° ©›¥Õ™¶²´¶¯ ¾µ¸¯µ ´´°. ¦–³ ²ŒØ´É¯ £¤¸°
µ¢µ²§±¸¯ À¨çɯ ¦´ Exit Sub À©¢²É±³ ²ÉÁ°¶¨
¯ Er: ²µ¸
¨¶¯ É¥´°. À©¢µ ¦§° £¤¸° –Û±¶ ÉË°´±¸¯¨É É¥´°. ²¨¨
Ôȧ¥ç²´¯ªá “Error Trapped” ´¶ À¶°µ¢½´ Á¿±²ª´°.

Private Sub Command2_Click()


On Error GoTo Er:
Dim Total As Integer
Total = 10 / 0
MsgBox "error Pass"
Exit sub
Er:

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 190


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

MsgBox Err.Number & vbCrLf & Err.Description

End Sub

²ŒÚ²´¯ £»É´ ¨Â°¶¯ ²ŒÚ´ §Î¶± ¤¶á¨ §± ¦´³ À°Á°´†


²´ª°´ §¤É. Ôȧ¥ç ²Á© Þ¶¯Î²µ¶¯ ²¿ªá²ˆ ²ŒÚ²´¯
£»É´ 11 ²• ¦´ À§¸ À̪° §Î¶±²Â¶ À°Á°´ˆ ²´ª°´ §¤É.

Private Sub Command2_Click()


On Error GoTo Er:
Dim Total As Integer
Total = 10 / 0
MsgBox "error Pass"
Er:
If Err.Number = 11 Then
MsgBox "Dividing a Number by zero Error"
End If

End Sub

¸µª ׿³ ²ŒÚ ©±È¸§¤É ¦¶ˆ £ ¸¯ Error ¦Éɯ


ÀÌ妃 µ¤½©³§¶É¯ ¸¡Á°¶¯ Á¿± ª°´ §¤É. ²¨ ©ª§±
Err.Raise ð±–¸ É¥´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 191


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub Form_Load()


Dim Total As Integer
Total = InputBox("Enter Total Number?")
If Total < 0 Then
Err.Raise 1000, "Source", "Negative Number"
End If
End Sub
¾§¸ ²É¯¸¶ É篽´ ¨Â°¶¯ À̶ɴ³ £»É´É¯ Á¿± ¶á
¦´ óⶠ²• ¶ˆ ¦¨Â°¶¯ ²ŒÚ´É¯ £¤¸° É¥´° ²¨§° Source
´¶¢ ²ŒÚ´ ²ª¶ µ¤½©³§²¶¯ ¶¨ ²• ¦´³ ɤ¨¸° ¶¨É¯
²´±È¸ §¤É°²µ´° Negative Number ´¶¢ ²ŒÚ²´¯
–©¯¸¥´ ²• 1000 ´¶¢ ²ŒÚ´³ Á¿±²ª¶ £»É´´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 192


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

§¸¥µ¶
–©° §¸¥µ¶ ÀÌ−²Ü¯ª´ - Database ©¨Â É°Ë´±
DAO-- II (Data Access Objects)
É°¬¨ DAO Objects)..
Microsoft Visual Basic 6.0 ¨Â°¶¯ ¶µ Standard Exe
µå±À⸰´É¯ Á¿±Â¶¯¶ ¦§° Project>Reference ´¶¯¶
²¸±¯¥±Â¶¯¶. ¦–³ À§¸ À̪° Dialog Box ¦Éɯ ª°©²
¯ µ´°.

²¨§° À§Á³ ¨¶¯É¥ Microsoft DAO 3.6 Library


Á¿±Â¶¯¶ ¦´ À§¸ À̪° ª°©²
¯ µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 193


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° µˆÀ© £¤¸° ²É±³¢µ ¨¸ ɯÁ°É¯ ɰ̨ ¨Â°¶¯ ¦´ ¨¸ §Ì


ÁÉ¡¶É¯ ª¨±Â¸ §¤É ¦¨Â°¶¯ ¦¨ Library ²Â±¶¢µ £À²Â¯
µå±À⸰´³ ¦É¸¡É¥ ¸ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 194


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

DAO ¨Â°¶¯ ª¸¯¸ §¤©°¥–¨.


©±¨±¶å²´¶¯ DAO ª¸¯¸ Éò¨ç±É¥ç´ ©ª§± ²´±È¶¢
Á¿´°. ²¨§° µ¥à §¸¥É¯ ª¤É¸§¤É. ¦¯µ±¶ˆ.
• Record ¦Éɯ Á¿±Â¤¶á¨
• ¶µ Record ¦Éɳ ª¸¯¸ £¤¸¡Á¸¯ ɰ̨ (Insert/
Add)
• Àµ¸°¶ Record ¦Éɯ ²µ¶©¯ ɰ̨ (Edit)
• Àµ¸°¶ Record ¦Éɯ ¾µ¸¯ ɰ̨ (Delete)
DAO Library ²Â±¶¢²• £¤¸° Recordset µ¤¶° objects §±
Execute µ¤¶° Methods ¨Â°¶¯ ¾§¸ ªÉ¯µ± £¤¸° ɱ¥à´´¶¯
ɥ¸ §¤É ©°´Á¯Á³¨ ²À¥ DAO ¨Â°¶¯ ª¸¯¸ À±ª¨´É¯ –
µâ¸¯¸ ɥ¸ ´¢¸¡ ²µ´°. ¦¯ ©ß§± OpenDatabase ´¶
Method ¦É ²´±ÈÂ¶á ¦´ ð±–¸±É¥ Ms Access (MDB)
²Â±¶¢µÉ¯ –µâ¸¯¸ É¥ ¶¯¶± £±É±¥´ À§¸ ªÉ¯µ± £¤¸.
¨¢Á°¶¨
¯ ²µÌ´¿Á §Î¶¯µ±²ª¨¢
Dim db As Database
Dim rs As Recordset
ª¤¶¯ db Database object ¦É ¨Â°¶¯ ª¸¯¸ À±ª¨´ –µâ¸¯¸
ɥ¶°¨¢. ¦´ À§¸ À̪° ²É¯¸´¶ ɥ¸ §¤É ²¨§°ªá
ÉÁ°¶¯ §Î¶¯µ±Î¶¯ Emp.MDB ´¶ ª¸¯¸ À±ª¨´ ©Áɱ
¿Á¨¢.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 195


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Database Emp.MDB

Table Emp

Fileds
Id Text
Name Text
Age byte
Designation Text

Set db DBEngine.Workspaces(0).OpenDatabase( _
App.Path & “\Emp.MDB”)
²¨§° App.Path ´¶¢ µ¥à¸¨±¶ µå±À⸰´ ÀÌÂçɲ´¯ ²©¯•
– £¤¸° ©¯é±¶´ ²•. ²¨¨Â°¶¯ ¦¨ ©¯é±¶²´¯ £¤¸° Emp.MDB
¶¤¨¤¸° ª¸¯¸ À±ª¨´ –µâ¸¯¸ É¥ ¶¢Á¿´°.

Note:-DAO ð±–¸²´¯ªá Ms Access ª¸¯¸ À±ª¨´¶¯ 97


´¶ Format ¦É³ À̵¥à¸¶´ ɥ¸ ´¢¸¡ ²µ´°. Ms
Access 97 µÁ³ À©¢µ À¤†¶° ª¸¯¸ À±ª¨ ²¨¨Â°¶¯ –µâ¸¯¸
ɥ¸ ²¶±§¤É.

ª¤¶¯ rs ¶¤¨¸° Recordset object ¦É ²´±È²Â¶


Emp.MDB ´¶ ª¸¯¸ À±ª¨²´¯ £¤¸° ª¸¯¸ Á¿±Â¤¶á¨ ©Áɱ
¿Á¨¢.
Set rs = db.OpenRecordset(SQL, dbOpenDynaset, _
dbSeeChanges, dbOptimistic)

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 196


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° SQL ´¶¢ ª¸¯¸ Àª¶¨³ Á°´¶¢Á¿¶ SQL Query


¦Éɯ ²•.
²¨¨ Recordset Object ¦É ¸¡Á Record µÁ³ ¨¶¯
ɰ̨ ©ß§± methods 4 ɯ Á¿±ªá £¤¸ ¦µ±¶ˆ.
MoveFirst, MovePrevious, MoveNext, MoveLast
²•.
MoveFirst -ÀÁ¨¢ Record ¦É ²µ¸ ´±¨ ©ß§±
MovePrevious - À©¢Â°´ Record ¦É ²µ¸ ´±¨ ©ß§±.
MoveNext - ïÁì Record ¦É ²µ¸ ´±¨ ©ß§±
MoveLast - £µ©±¶ Record ¦É ²µ¸ ´±¨ ©ß§±.

²¨§°ªá À©¢Â°´ Records µÁ³ ´±²ˆªá ¦§° BOF ¶ˆ


²À˱À™´ ÀÌíڱɥ ¿¤Á°´ ´¢¸¡²µ´° ¦´ True ¶ˆ. ׿
Record µÁ¨¢Á À©¢É¥ ²Â±©¯ £¤¸. ¦–³ MoveNext ²´±È
¨¢Á¯ Record ¦É³ À¤†¶°´ ´¢¸¡´. ²¨²Á©¨ ï Áì Record
µÁ³ ´±²ˆªá EOF ´¶ ²À˱À™´ ÀÌíڱɥ ¿¤Á°´ ´¢¸¡²µ´°
¦´ True ¶ˆ. MovePrevious ²´È £¸¯¸°¨ Record
¦É²µ¸ À¤†ç°´ ´¢¸¡ ²µ´°.

DAO ¨Â°¶¯ ª¸¯¸ Á¿±Â¤¶á¨


ª¤¶¯ DAO ¨Â°¶¯ ª¸¯¸ Á¿±Â¶¯¶± £±É±¥´ ©Áɱ ¿Á¨¢
À§¸ ²É¯¸¶²´¶¯ ¦´ª¤É¯–´ §¤É
Dim db As Database
Dim rs As Recordset

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 197


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Set db=DBEngine.WorkSpaces(0).OpenDatabase( _
App.path & “\Emp.MDB”)

Set rs=db.OpenRecordset(“Emp”,dbOpenDynaset, _
dbSeeChanges,dbOptimistic)

txtID.Text=rs!ID
txtName.Text=rs!Name
txtAge.Text=rs!Age
txtDesignation.Text=rs!Designation

DAO ¨Â°¶¯ ª¸¯¸ ¦É¸¡ÉÌ


° ¨
²¨ ©ß§± ÉÁ°¶¯ –µâ¸¯¸ ɥ¸¯ ª¸¯¸ À±ª¨ ©Áɨ¢ ²¨´
²´±È ²Â¶ ¶¤µ¸¸¯ Recordset object ¦É –µâ¸¯¸
ɥ¶°¨¢.
Set rs=db.OpenRecordset(“Emp”,dbOpenDynaset, _
dbSeeChanges,dbOptimistic)
rs.AddNew
rs!Id=txtID.Text
rs!Name=txtName.Text
rs!Age=txtAge.Text
rs!Designation=txtDesignation.Text
rs.Update

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 198


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§°ªá rs.AddNew ¨Â°¶¯ £ ¸¯ Record ¦Éɯ ¦É¸¡ É¥¶¢


Á¿´°. ¾¶¯À©¢ ¦´° £ÈÁ Field µÁ³ ª¸¯¸ £¤¸¡Á¸¯ ɰ̨
É¥ç¢ Á¿´°. rs.Update ¨Â°¶¯ ²¨¨ £¤¸¡Á¸¯ÉÁ ª¸¯¸ ª¸¯¸
À±ª¨³ ¦É¸¡ É¥ç¢ Á¿´°.

DAO ¨Â°¶¯ ª¸¯¸ ²µ¶©¯ ɰ̨


²ˆ ©ß§± À§¸ À̪° ²É¯¸¶´ ɥ¸ ´¢¸¡ ²µ´°.
Set rs=db.OpenRecordset(“Select * From Emp” & _
“ Where Id=’00001’”,dbOpenDynaset, _
dbSeeChanges,dbOptimistic)
rs!Id=txtID.Text
rs!Name=txtName.Text
rs!Age=txtAge.Text
rs!Designation=txtDesignation.Text
rs.Update

²¨§° ‘00001’ ´¶¢ £µØå ²©¯µÉ´±²Â¯ ²©µÉ £»É´ ²•.


²¨§° rs.update ¨Â°¶ ª¸¯¸ ª¸¯¸ À±ª¨³ £¤¸¡Á¸¯ É¥´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 199


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

DAO ¨Â°¶¯ ª¸¯¸ ¾µ¸¯ ɰ̨.


²ˆ ©ß§± À§¸ À̪° ²É¯¸¶´ ɥ¸ ´¢¸¡ ²•.

Set rs=db.OpenRecordset(“Select * From Emp” & _


“ Where Id=’00001’”,dbOpenDynaset, _
dbSeeChanges,dbOptimistic)
rs.Delete
²¨§°ªá ²©¯µÉ £»É´ 00001 µ¶ ²©¯µÉ´± ²Â¯ ª¸¯¸ ¾µ¸¯
ɥ¸ §¤É. rs.Delete ¨Â°¶¯ ¦´ ©°ÎÉ¥´°.

ª¤¶¯ ׿ Ô¸¯ ©°´Á¯Á ¦É¸¡ É¥¨¢ ¨¢Á°¶¯ ¨ Visual Basic


6.0 §° Class Module ¦Éɯ Á¿± ¶°¨¢. ²¨´ Tool bar §°
Form ²¿±¸¯¸¨³ ªÉ¢ç¢À©°¶¯ £¤¸° Arrow ¦É ɯÁ°É¯ ɰ̨
¨Â°¶¯ Á¤²¿¶ Á´°©¸
¯ ¡²µ¶¯ ²¸±¥±Â¸ §¤É ¶¤¸¯¶† Project
²¨¶Ó ¦²É¯¶¯ Add Class Module ²¸±¥± ¤¶°¨ ¨Â°¶¯
Á¿±Â¸ §¤É. ¦´ clsDAO ²Á© ¶ˆÉ¥ ¶°¨¢. ²¨§°
Events ²ªÉɯ Àµ¸°´° ¦´°¶¯ ¦Éɯ Initialize ²• £²¶¸
Terminate ²•. ²¨§° Initialize ´¶¯¶ Class ¦É§°
object ¦Éɯ ©±ª¶ –³ ÉË´
° ±¸¯¨É ²–. £²¶É object ¦É –
¶±Úµ¶ –³ ÉË°´±¸¯¨É ²–.
ª¤¶¯ À§¸ À̪° ²É¯¸¶´ ɥ¶°¨¢.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 200


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Dim db As Database

Private Sub Class_Initialize()


On Error GoTo Er:
Set db = DBEngine.Workspaces(0).OpenDatabase( _
App.Path & "\Emp.mdb")
Exit_Sub:
Exit Sub
Er:
Err.Raise Err.Number, ,Err.Description
Resume Exit_Sub
End Sub
²¨§° on Error Goto Er: ¨Â°¶¯ ´ˆ ²È±¯Ú´É¯ ©°ÎµÓ–³ ¦´
Er; ²µ¸³ ²Â±©¯ ²ŒÚ´ ²À¶¯µ± ¦Á°´³ Á¿±²ª¯

Public Function GetRecords(SQL As String) As _


Recordset
On Error GoTo Er:
Dim rs As Recordset
Set rs = db.OpenRecordset(SQL, dbOpenDynaset, _
dbSeeChanges, dbOptimistic)
Set GetRecords = rs
Exit_Func:
Exit Function

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 201


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Er:
Err.Raise Err.Number, , Err.Description
Resume Exit_Func
End Function
²¨¨Â°¶¯ Recordset object ¦Éɯ Á¿±Â¤¶á¨³ §¤É°²µ´°.

Public Sub Add(SQL As String)


On Error GoTo Er:
db.Execute SQL
Exit_Sub:
Exit Sub
Er:
Err.Raise Err.Number, , Err.Description
Resume Exit_Sub
End Sub

Public Sub Edit(SQL As String)


On Error GoTo Er:
db.Execute SQL
Exit_Sub:
Exit Sub
Er:
Err.Raise Err.Number, , Err.Description
Resume Exit_Sub
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 202


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Public Sub Delete(SQL As String)


On Error GoTo Er:
db.Execute SQL
Exit_Sub:
Exit Sub

Er:
Err.Raise Err.Number, , Err.Description
Resume Exit_Sub
End Sub
²¨´° Add, Edit §± Delete ´¶ Methods ¨Â°¶¯ ª¸¯¸
À±ª¨³ ª¸¯¸ £¤¸¡Á¸¯ ɥ¸ §¤É ¦¯ ©ß§± DML Query
²´±È¸ ´¢¸¡ ²µ´°. ¦¨ Query ¦É ²¨¨ Methods µÁ³
Á¿±Î¶¯–³ ¦´ £ÈÁ ɱ¥à´´ ©°ÎÉ¥´°. ¦¶† db.Execute
´¶¯¶³ DML ²§±¯ DDL Query ¦Éɯ ´µ±Â¤¶á¨ ¨Â°¶¯ ¦¨
Query ¦É ª¸¯¸ À±ª¨´§° Û±µ¶´ ɥ¸ §¤É.

ª¤¶¯ ²¨ ©ß§± ¸µ¸¯ Class ¦Éɯ Á¿± ¶°¨¢ ¦´ clsEmp


²Á© ¶†É¥¨¢. ¦´ À§¸ À̪° ²É¯¸¶´ ɥ¶°¨¢.

Dim objDAO As clsDAO


Dim rs As Recordset
Dim strID As String, strName As String, bytAge As _

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 203


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Byte, strDesignation As String

Public Function OpenDatabase() As Boolean


On Error GoTo Er:
Set objDAO = New clsDAO
Set rs = objDAO.GetRecords("Emp")
OpenDatabase = True
Exit_Func:
Exit Function
Er:
OpenDatabase = False
Resume Exit_Func
End Function

ª¸¯¸ À±ª¨ –µâ¸¯¸ É¥ Emp Table ¦É Á¿±Â¤¶á¨ ©ß§±


²¨´ ð±–¸ É¥´° ²¨§° Emp ´¶¢ ª¸¯¸ À±ª¨²´¯ £¤¸°
Table ¦É²•. ©°´Á¯Á ¶°µ¥ª° ²Á© ©°ÎµÓ–³ ²¨´ True ²•
´† É°©° µ¤¥¤ªá¨É¯ ©°Îµ¢µ ²§±¸¯ False ²•.

Public Function Add() As Boolean


On Error GoTo Er:
rs.AddNew
rs!ID = strID
rs!Name = strName

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 204


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

rs!Age = bytAge
rs!Designation = strDesignation
rs.Update
Add = True
Exit_Func:
Exit Function
Er:
Add = False
Resume Exit_Func
End Function

ª¸¯¸ ª¸¯¸ À±ª¨´³ ¦É¸¡É°Ì¨ ©ª§± ð±–¸ É¥´° ©°´Á¯Á


²§±ª°¶¯ ©°Îµ¢µ²§±¸¯ ²¨´ True ´¶ £Â´ Â¶á ¦²©¯ ¶¤¸°
¶† False ´¶ £Â´ ¶á.

Public Function Edit() As Boolean


On Error GoTo Er:
rs!ID = strID
rs!Name = strName
rs!Age = bytAge
rs!Designation = strDesignation
rs.Update
Edit = True
Exit_Func:

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 205


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Exit Function
Er:
Edit = False
Resume Exit_Func
End Function
ª¸¯¸ ª¸¯¸ À±ª¨´³ ²µ¶©¯ ɰ̨ ©ª§± ð±–¸ É¥´° ©°´Á¯Á
²§±ª°¶¯ ©°Îµ¢µ²§±¸¯ ²¨´ True ´¶ £Â´ Â¶á ¦²©¯ ¶¤¸°
¶† False ´¶ £Â´ ¶á.

Public Function Delete() As Boolean


On Error GoTo Er:
rs.Delete
Delete = True
Exit_Func:
Exit Function
Er:
Delete = False
Resume Exit_Func
End Function
ª¸¯¸ ª¸¯¸ À±ª¨´³ ¾µ¸¯ ɰ̨ ©ª§± ð±–¸ É¥´° ©°´Á¯Á
²§±ª°¶¯ ©°Îµ¢µ²§±¸¯ ²¨´ True ´¶ £Â´ Â¶á ¦²©¯ ¶¤¸°
¶† False ´¶ £Â´ ¶á.

Public Function GetCurrentRecord() As Boolean

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 206


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

On Error GoTo Er:


strID = rs!ID & ""
strName = rs!Name & ""
bytAge = rs!Age
strDesignation = rs!Designation & ""
GetCurrentRecord = True
Exit_Func:
Exit Function
Er:
GetCurrentRecord = False
Resume Exit_Func
End Function

Á¿±Â¸¯ ª¸¯¸ ²µÌ´¿Á µÁ³ ª¨±Â¤¶á¨ ©ª§± ÔÀɱ̲•


²¨²©¯ ª¨± ¸¯ ª¸¯¸ ²À˱À™ ¨Â°¶¯ ¾µ¸³ ¸ §¤É.
Public Function MoveFirst() As Boolean
On Error GoTo Er:
rs.MoveFirst
MoveFirst = True
Exit_Func:
Exit Function
Er:
MoveFirst = False
Resume Exit_Func

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 207


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

End Function

Public Function MovePrevious() As Boolean


On Error GoTo Er:
rs.MovePrevious
MovePrevious = True
Exit_Func:
Exit Function
Er:
MovePervious = False
Resume Exit_Func
End Function

Public Function MoveNext() As Boolean


On Error GoTo Er:
rs.MoveNext
MoveNext = True
Exit_Func:
Exit Function
Er:
MoveNext = False
Resume Exit_Func
End Function
Public Function MoveLast() As Boolean
On Error GoTo Er:

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 208


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

rs.MoveLast
MoveLast = True
Exit_Func:
Exit Function
Er:
MoveLast = False
Resume Exit_Func
End Function

Public Property Let ID(sID As String)


strID = sID
End Property

Public Property Get ID() As String


ID = strID
End Property

Public Property Let Name(sName As String)


strName = sName
End Property

Public Property Get Name() As String


Name = strName
End Property

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 209


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Public Property Let Age(iAge As Byte)


bytAge = iAge
End Property

Public Property Get Age() As Byte


Age = bytAge
End Property

Public Property Let Designation(sDesignation As _


String)
strDesignation = sDesignation
End Property

Public Property Get Designation() As String


Designation = strDesignation
End Property

ª¤¶¯ £À° clsEmp ©±È £µ©¶¯ É¥ç Áª° ²¨´³ VB £¸¡¥¤


¨¢§¢ç¸É¯ ©É©¯ É¥¨¢

Text Box

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 210


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Name txtId
Text “”

Name txtName
Text “”

Name txtAge
Text “”

Name txtDesignation
Text “”

Command Button
Name cmdNext
Caption “Next >”

Name cmdPrevious
Caption “< Previous”

Name cmdFirst
Caption “<< First”

Name cmdLast
Caption “Last >>”
Menus

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 211


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Name mnuData
Caption “&Data”
Name mnuNew
Camption “&New”

Name mnuAdd
Caption “&Add”

Name mnuEdit
Caption “&Edit”

Name mnuDelete
Caption “&Delete”

Name mnuSp
Caption “-“

Name mnuExit
Caption “E&xit”

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 212


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 213


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¦´ À§¸ À̪° ²É¯¸¶´ É¥ ¶°¨¢


Dim objEmp As New clsEmp

Sub ViewData()
objEmp.GetCurrentRecord
txtID.Text = objEmp.ID
txtName.Text = objEmp.Name
txtAge.Text = objEmp.Age
txtDesignation.Text = objEmp.Designation
End Sub

objEmp ¶¤¨¸° object ¦É§° £½»Â¡ ª¸¯¸ ¾µ¸ £¤¸° text


box µÁ³ ª¨±Â¤¶á¨ ©ß§± ¿±–¸± É¥´°.

Private Sub cmdFirst_Click()


If objEmp.MoveFirst Then
ViewData
Else
MsgBox "Unable to Move! End of Record",
vbInformation, "Move"
End If
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 214


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub cmdLast_Click()


If objEmp.MoveLast Then
ViewData
Else
MsgBox "unable to move! End of Record",
vbInformation, "Move"
End If
End Sub

Private Sub cmdNext_Click()


If objEmp.MoveNext Then
ViewData
Else
MsgBox "Unable to move! End of Record", _
vbInformation, "Move"
End If
End Sub

Private Sub cmdPrevious_Click()


If objEmp.MovePrevious Then
ViewData
Else
MsgBox "Unable to move! End of Record", _
vbInformation, "Move"

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 215


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

End If
End Sub

Private Sub Form_Load()


If Not objEmp.OpenDatabase Then
MsgBox "Unable To open Database!", vbCritical, _
"Database"
Unload Me
Else
ViewData
End If
End Sub

ª¸¯¸ À±ª¨ §± Emp Table ¦É –µâ¸¯¸ É¥´° ´ˆÉ°©°


²ŒÚ´É¯ ©°Îµ¢µ²§±¸¯ “unable to open Database” ´¶
À¶°µ¢½´ ªá ¾µ¸¯ ²µ´°. ²¨§° Unload Me ¨Â°¶¯ £ÈÁ
²¹±¯¥¨
à ´ ¾µ¸¯É¥´° Me ´¶¢ ª¤¶¯ Àµ¸¯¶± Form ¦É ²•.

Sub AsignData()
objEmp.ID = txtID.Text
objEmp.Name = txtName.Text
objEmp.Age = txtAge.Text
objEmp.Designation = txtDesignation.Text
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 216


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub mnuAdd_Click()


AsignData
If objEmp.Add Then
MsgBox "Record Added Sucessfuly!", _
vbInformation, "Add"
Else
MsgBox "Unable to add record!", vbInformation, _
"Add"
End If
End Sub

Private Sub mnuDelete_Click()


If objEmp.Delete Then
MsgBox "Record Deleted Sucessfuly!", _
vbInformation, "Add"
Else
MsgBox "Unable to Delete record!", _
vbInformation, "Add"
End If
End Sub

Private Sub mnuEdit_Click()


AsignData
If objEmp.Edit Then

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 217


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

MsgBox "Record Edited Sucessfuly!", _


vbInformation, "Add"
Else
MsgBox "Unable to Edit record!", vbInformation,
"Add"
End If
End Sub

Private Sub mnuExit_Click()


Unload Me
End Sub

Sub ERefresh()
txtID.Text = ""
txtName.Text = ""
txtAge.Text = 0
txtDesignation.Text = ""
End Sub

Private Sub mnuNew_Click()


ERefresh
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 218


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

µ¶ ÀÌ−²Ü¯ª´ - Database ©¨Â É°Ë´±


–©° À©¯µ¶
Objects)..
É°¬¨ ADO - II (ActiveX Data Objects)

¨´°²É˱²
¯ ©±¹¯™ –Ú¢µÁ¯ ²›©°É¯ ¿±–¸ É¥ ¶µ Standard Exe
µå±À⸰´É¯ Á¿±Â¶¯¶. ¦§° Project>Reference ´¶¯¶
²¸±¯¥±Â¶¯¶. ¦–³ À§¸ À̪° Dialog Box ¦Éɯ ª°©²
¯ µ´°.

²¨§° À§Á³ ¨¶¯É¥ Microsoft ActiveX Data Object


2.8 Library Á¿±Â¶¯¶ ¦´ À§¸ À̪° ª°©²
¯ µ´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 219


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° µˆÀ© £¤¸° ²É±³¢µ ¨¸ ɯÁ°É¯ ɰ̨ ¨Â°¶¯ ¦´ ¨¸ §Ì


ÁÉ¡¶É¯ ª¨±Â¸ §¤É ¦¨Â°¶¯ ¦¨ Library ²Â±¶¢µ £À²Â¯
µå±À⸰´³ ¦É¸¡É¥ ¸ §¤É.

ª¸¯¸ À±ª¨ §± ©ˆ¿¶¯Û–¨


ª¤¶¯ Database ¦É ©¨Â ©ˆ¿¶¯Û–¨ ¤¶ ©Áɱ ¿Á¨¢.
²¨ ©ß§± Connection Object ¦Éɯ Á¿±Â¸´¢¸¡ ²µ´°
¦¯©ª§± ²¹±¯¥¨
à ²´¯ ¾§Á°¶¯
Dim cnn as New ADODB.Connection
´¶¯¶ Á°´± ¶°¨¢ ¦–³ £À°³ cnn ¶¤¨¸° Connection
object ¦Éɯ Á¤²›. ²¨§° New ´¶ Àª´¨Â°¶¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 220


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Connection object ¦É ©±È cnn ´¶ ²•Ì´¿Á´³


Àµ¥±²ª´°.
ª¤¶¯ ²¨´ ª¸¯¸Àª¶¨É¯ (Database) ©¨Â ©ˆ¿¶¯Û ɰ̨
©Áɱ ¿Á¨¢ ²¨©ß§± Connection String ¶¤¨¸° String
¦Éɯ ¿±–¸ É¥´°.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source =
<Path>/<FileName>;Persist Security Info=False;Jet
OLEDB:Database Password=<Password>

²¨§°ªá Ms Access ª¸¯¸ À±ª¨É¯ (Database) ©ˆ¿¶¯Û–¨


©ß§± ¾§¸ String ¦É ð±–¸ Éò §¤É. ²¨§°ªá <Path>
´¶¢ ª¸¯¸ À±ª¨ Àµ¸°¶ ©¯é±¶´ µ¶ £¸¥ <FileName>
¨Â°¶¯ ¦§° ¶¨ ªÉ¯µ´°. <Password> ´¶¯²¶¶¯ ª¸¯¸ À±ª¨
©ß§± ¨¢¥Àª´É¯ ªá £¤¸¯¶ˆ ¦´ Á¿±²ª¶ ©¯¸±¶´ ªÉ¯µ´°.
¨¢¥Àª´É¯ ²¶±¨¤¸°¶ˆ ²¨¨ Connection String ¦É À§¸
À̪° ²µ¶©¯–´ ´¢¸¡²µ´°.
Provider=Microsoft.Jet.OLEDB.4.0;Data Source =
<Path>/<FileName>;Persist Security Info=False

ª¤¶¯ ²¨¨ Connection String ¦É Connection object


¦É³ À¤µÌ¨ (Assign) É¥ ª¸¯¸ Àª¶¨ §± ©ˆ¿¶¯Û–¨
©Áɱ¿Á¨¢.
²ˆ ©ß§± É˨ ²ªÉɯ ð±–¸± É¥ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 221


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

1.
Dim ConStr as String
ConStr=” Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source = <Path>/<FileName>;Persist Security
Info = False”
cnn.ConnectionString=ConStr
cnn.Open

2.
Dim ConStr as String
ConStr=” Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source = <Path>/<FileName>;Persist Security
Info = False”
cnn.Open ConStr

²¨§°ªá ª¸¯¸ Àª¶¨ £¤¸° ©¯é±¶´ ©ª§± ©¯¸±µ¥ £Â´É¯


Á¿±ªá²ˆªá ¦´ ²µ¶¸¯ ÀÌÂçɴɳ ²§±¯ ²µ¶¸¯ ©¯é±¶´É³
¨±¥¤ ɰ̲ˆªá –رÁ £À§©¢¸±µ´É³ ¨¢§¢ç ªá¨³ ©°Î²µ´°
²¨´ ¶¤¸° ɥ¤¶á¨ ©ª§± £À³ ÀÌÂçɲ´¯ £À²Â¯
µ¤½©³§¶ ¸¿¶ ©¯¸±¶´ ¸¡Á ª¸¯¸ Àª¶¨ ¿½±É¥Â¸
§¤É. ¦–³ ¦´³ £¤¸° ©¯é±¶´ Á¿±ªá²ˆªá App.Path ´¶¯¶
¿±–¸ Éò §¤É ²¨¨Â°¶¯ £À²Â¯ ÀÌÂçÉ µ¤½©³§¶
£½»Â¡µ¶ ©¯é±¶´ Á¿±²ª¯. ¦¶ˆ ¾§¸ <Path> ²µ¶¢µ³
App.Path ð±–¸ ÉÁ§¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 222


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

£µØå ª¸¯¸ ª¸¯¸ À±ª¨²´¶¯ Á¿±Â¤¶á¨


ª¤¶¯ £À° ª¸¯¸ À±ª¨²´¶¯ ª¸¯¸ Á¿±Â¤¶á¨ ©Áɱ¿Á¨¢.
²¨©ß§± £À°³ Recordset ¶ˆ object ¦Éɯ £µØ岕.
¦¯©ª§± –Û±¶ ²¿±¸¯¸¨É¯ ¸¡Á ²¨²©¯ ²É¯¸¶´ ɥ¶°¨¢.

Private sub Command1_Click()


Dim rs As New ADODB.Recordset
End Sub

ª¤¶¯ ª¸¯¸ Á¿± ¤¶á¨³ ª¸¯¸ À±ª¨´§° ¦É¯ Table ¦Éɯ –


µâ¸¯¸ É¥ ¶°¨¢. ¦¯ ©ß§± À§¸ ²É¯¸¶´ ð±–¸ É¥´°.
Dim SQL as String
SQL=”Select * From Emp”
rs.Open SQL, cnn

²¨§° SQL ´¶¢ SQL Select Query ¦Éɯ ²•. cnn ´¶¢
Connection object ¦É ²•. ¾§¸°¶¯ Emp ¶¤¨¸° Table
¦Éɯ –µâ¸¯¸ ɰ̨ ©ß§± £µØå SQL Query ¦É
Á°´±ªÉ¯µ± £¤¸.

ª¤¶¯ ²¨¨ Recordset object ¦É ¨Â°¶¯ ª¸¯¸ Á¿± ¤¶á¨


©ß§± À§¸ É˨ ¿±–¸ É¥ §¤É.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 223


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

1.
²¨§° Emp Table ¦É§° EmpID ¶ˆ Field ¦Éɯ £¤¸¯¶†.
txtEmployeeID.Text=rs!EmpID
¨Â°¶¯ EmpID §° £Â´ txtEmployeeID.Text ´¶ ²³É¯©¯
²¿±É¯©´³ Á¿±Â¸ §¤É. ²¨§° ï Áì Record ¦É ³ ´±¨
©ß§± rs.MoveNext ð±–¸ É¥ç £¸¥ ÉÁ°¶¯ Record ¦É
³ ´±¨³ rs.MovePrevious ð±–¸ É¥´°. ¨¢Á¨
¯ Record
¦É³ À¤†¶á¨ ©ß§± rs.MoveFirst ª £µ©±¶ Record
¦É³ ´±¨ ©ß§± rs.MoveLast ª ð±–¸± É¥´°.
2.
txtEmployee.Text=rs.Fields(<index>).Value
²¨§° <Index> ´¶¢ 0,1,2 ... ²Á© ²•. ¦¯µ± Fields Àµ¸°¶
À°Á°²µÁ°¶¯ ¦¨ Fields ªÉ¯µ´°.

À§¸ ²É¯¸¶²´¶¯ List1 ´¶ List Box ¦É³ ©°´Í¨


EmpID §± EmpName ´¶ Fields ª¨±Â¤¶á¨ ²À¶¯µ´°.

List1.AddItem “Emp ID” & vbTab & “Emp Name” & _


vbCrLf
Do While not rs.EOF
List1.AddItem rs!EmpID & vbTab & _
rs!EmpName & vbCrLf
rs.MoveNext
Loop

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 224


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§° rs.EOF ´¶¢ (End Of File) ²Â±¶¢²• £µ©±¶´ ²•.


²¨´³ ¾ª°Ì²´¶¯ Not ²´ª°¨ ¨Â°¶¯ £µ©±¶´ ²¶±µ¶¸¡¥¤
ª°Â³¨ ²¨¨ À´ Û±µ¶´ ²•.

ª¸¯¸ À±ª¨´³ ª¸¯¸ £¤¸¡ÁÉ


¯ °Ì¨
²¨ ©ß§± ¶¤µ¸¸¯ Recordset object ¦É ª¸¯¸ ª¨± ¸
§¤É° £±É±¥´³ –µâ¸¯¸ ɥ¸ ´¢¸¡²µ´°. ¦´ À§¸°¸¯
ª¤É¯²µ´°
rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic
²¨§° £Â´¶¯ À§¸ ²Á© £¥à¸ ª¤É¯–´ §¤É

Cursors À§¸ £±É±¥²´¶¯ ²•.


AdOpenForwordOnly - ²¨¨Â°¶¯ –µâ¸¯¸ É¥¶ Á¿¶
²¥²É±¯ö²©™ ¦ª°Ì´³ À¨¶É¯ ¨¶¯É¥´° À©¢À©³ ¦¯¨³ ²§±¯
²µ¶¸¯ ²¥²É±¯õµÁ³ À¤¶á¨ ©°ÎÉÁ ²¶±§¤É. ¶¨¢¸¯ ª¸¯¸
Àª¶²¨¶¯ ª¸¯¸ ¾¸± ¾É¯¨¶°¶¯ Á¿±Â¶¯¶± £¸¥
ComboBox §± Á´°©¸
¯ ¡ µÁ³ ª¸¯¸ ª¨± ¤¶á¨ ©ß§± ¾¸±
À˲´±¯¼¶µ¸¯ ²µ´°.

AdOpenKeySet - ²¨´ ¾¸± –Ú±Á ª¸¯¸ À˨±¶´É¯ Àµ¸°¶


£µ©¯¸±µÉªá ¾¸± À˲´±¯¼¶µ¸¯ ²µ´°. ²¨§°ªá ׿²Â¯
²¥²É±¯ö²©™ ¦É§° £½»Â¡ ²¥²É±¯õ©¯ µÁ³ ²µ¶¸¯
À¢ªÂ
¯ Á´¶¯ ©°ÎÉ¥¶ ²µ¶©¯Éˆ ׿³ ª¤¶¢ˆ ²¶±²ª´°.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 225


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

AdOpenDynamic - ²¨´ ¾¸± ¿Á¸¡ Cursor ¦ÉÉ°


²¨¨Â°¶¯ £²¶É¯ £´ ׿²Â¯ ²¥²É±¯õ©¯ µÁ³ É¥¶ ²µ¶©¯Éˆ
²À¶¯µ¶¢Á¿´°. ¦µ²Â¯¨ ²¨´ ¾¸±¨¸¯ ¨¶¯ªÂ±†µ
Û±µ¶´²µ´°.

AdOpenStatic - ²¥²É±¯õ©¯ ¾¸± É¡½± À˨±ç´É¯ £¤¸°–³


²¨´ À˲´±¯¼¶µ¸¯ ²µ´°.

²¨§° Lock ɥ¤¶á¨ À§¸ £±É±¥´³ ɥ¸ §¤É.


AdLockReadOnly - ²¨¨ Lock ¦É ²´±È £¤¸°–³ ׿³
²¥²É±¯õ ²©˜ ¦É§° É°©°Î ²µ¶©É¯ ©°Îɰ̨³ ²¶±§¤É ¦¶ˆ
²¥²É±õ ¨¤É°¨, ¶¨ ²¥²É±¯õ©¯ ¦É¸¡É°Ì¨ ²§± ²¥²É±¯õ©¯
²µ¶©¯ ɰ̨ ÉÁ ²¶±§¤É.

AdLockPesimistic - ²¨¨ Lock ¦É ¨Â°¶¯ ª¸¯¸ ²µ¶©¯


ɰ̨³ À³¶¯Â¶¯¶± £µ©¯¸±²•ªá ²¥²É±¯õ ¦É Lock É¥ç
£¸¥ ¦²©¯É¥ £µ©¶¯É¥¶ ¸¡¥¤ ²§±¯ ²µ¶¸¯ ²¥²É±¯õ ¦Éɳ
¨±¥¤µ¶ £µ©¯é±µ µ¶–³ ´¶ £µ©¯¸±µ¶¯ µ¶¸¡¥¤ Lock –
Àµ¸°´°.

AdLockOptimistic - ²¨¨ Lock ¦É ׿ ²¥²É±¯õ ¦É


Update É¥¶ £µ©¯¸±²•ªá ¶¤¸²§±¸¯ ²¥²É±¯õ ²©˜ ¦É§°

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 226


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Update ²¨¸¥àõ ¦É Call É¥¶ £µ©¯¸±²•ªá À¨çɯ Lock


²• ª¸¯¸ £¤¸¡ÁÉ
¯ ¥¶ £µ©¯¸±²•ªáª Lock ²¶– Àµ¸°´°.

AdLockBatchOptimistic - ²¨´ ²¥²É±¯õ©¯ É°§°À´É¯


¦Éµ¥ ²µ¶©¯É°Ì²¨ªá ð±–¸ É¥´°.

²¨²©¯ –µâ¸¯¸ ɥ¸¯ Table ¦É ³ ª¸¯¸ ª¤†¨ ©ß§±


£ ¸¯ Record ¦Éɯ ¦É¸¡ ɥ¸ ´¢¸¡ ²µ´°. ¦´ À§¸°¶¯
ª¤É¯²µ´°.
rs.AddNew
²¨´³ ª¸¯¸ ª¨±Â¤¶á¨ ©ß§± À§¸ ²É¯¸´ Á°´± ª¤É¯–´
§¤É°´.
rs!EmpID=txtEmployeeID.Text
rs!EmpName=txtEmployeeName.Text
ª¤¶¯ ²¨ ª¨±Â¸¯ ª¸¯¸ ª¸¯¸ À±ª¨³ Update ÉÁ ´¢¸¡ ²µ´°.
¦¯ ©ß§± À§¸ ²É¯¸¶´ £¶¢Â¨ç´ É¥´°.
rs.Update

¦¶ˆ.

Private sub Command1_Click()


SQL=”Select * From Emp”

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 227


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic


rs.AddNew
rs!EmpID=txtEmployeeID.Text
rs!EmpName=txtEmployeeName.Text
rs.Update
End Sub

ª¸¯¸ À±ª¨´§° £¤¸° ª¸¯¸ ²µ¶©¯ ɰ̨


ÀÁ¨¢µ £µØå ª¸¯¸´ ²¸±¯¥± ¦´ –µâ¸¯¸ ɥ¶°¨¢ ¦´
À§¸ À̪°²•.
SQL=”Select * From Emp Where EmpID=’00001’
rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic

ª¤¶¯ ²¨´ ²µ¶©¯ ɰ̨ ©Áɱ¿Á¨¢ ¦´ À§¸ ²Á© ª¤É¯–´


§¤É°´.
rs!EmpID=txtEmployeeID.Text
rs!EmpName=txtEmployeeName.Text
ª¤¶¯ ²¨´ ª¸¯¸ À±ª²´§° Save ɰ̨ ɥ¸ ´¢¸¡²µ´°
¦¯©ß§± À§¸ ²É¯¸¶´ ð±–¸ É¥´°.
rs.Update
¦¶ˆ.

Private sub Command1_Click()


SQL=”Select * From Emp Where EmpID=’00001’

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 228


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

rs.Open SQL, cnn, adOpenKeyset, adLockOptimistic


rs!EmpID=txtEmployeeID.Text
rs!EmpName=txtEmployeeName.Text
rs.Update
End Sub

ª¤¶¯ ©°´ ¨ ²ª¯µÁ¯ ¦É¸¡ É¥ ¿Á¨¢. ¨¢Á°¶¯ ¨ Visual Basic


6.0 Class ²¨±½¢Á´É¯ Á¿±Â¶°¨¢ ²¨©ß§± Project > Add
Class Module ´¶¯¶ ²¨¶Ó ¦É ¨Â°¶¯ ²¸±¯¥±Â¶¯¶ ¦´
clsADO ²Á© ¶ˆ É¥¶¯¶. À©¢ µ ¦´ À§¸ À̪° ²É¯¸¶´
ɥ¶¯¶.

Dim cnn As New ADODB.Connection


Dim ConStr As String

Private Sub Class_Initialize()


ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=" & App.Path & _
"\Emp.mdb;Persist Security Info = False"
End Sub
Public Property Let ConnectionString(sStr As String)
ConStr = sStr
End Property

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 229


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Public Property Get ConnectionString() As String


ConnectionString = ConStr
End Property

Public Function OpenConnection() As Boolean


On Error GoTo Er:
cnn.Open ConStr
OpenConnection = True
Exit_Func:
Exit Function
Er:
OpenConnection = False
Resume Exit_Func
End Function

Public Function GetRecords(SQL As String) As _


ADODB.Recordset
On Error GoTo Er:
Dim rs As New ADODB.Recordset
rs.Open SQL, cnn, adOpenKeyset, _
adLockPessimistic
Set GetRecords = rs
Exit_Func:
Exit Function
Er:

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 230


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Err.Raise Err.Number, "clsADO", Err.Description


Resume Exit_Func
End Function

Public Function BeginTrans() As Boolean


On Error GoTo Er:
cnn.BeginTrans
BeginTrans = True
Exit_Func:
Exit Function
Er:
BeginTrans = False
Resume Exit_Func
End Function

Public Function CommitTrans() As Boolean


On Error GoTo Er:
cnn.CommitTrans
CommitTrans = True
Exit_Func:
Exit Function
Er:
CommitTrans = False
Resume Exit_Func
End Function

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 231


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Public Function RollbackTrans() As Boolean


On Error GoTo Er:
cnn.RollbackTrans
RollbackTrans = True
Exit_Func:
Exit Function
Er:
RollbackTrans = False
Resume Exit_Func
End Function

©³§¶:-
²¨§°ªá BigingTrans, CommitTrans §± RollbackTrans ´¶
Methods ¸¡¶ ¾¸± µ¤ªÂ¸¯ ²•. ²ˆµ± ¨Â°¶¯
Transactions É°§°À´É¯ ¦¶ˆ Updates, Edits §±
Deletes É°§°À´É¯ ¦Éµ¥ É¥ ¦¯µ± ©°´Á¯Á ²ŒÚ¥§°¸µ
©±¥à¸É µÓµ²§±¸¯ À¨¶É¯ ª¸¯¸ À±ª¨ ´±µ¸¯ ɱÁᶠɰ̨
©°ÎÉ¥§¤É. ¶¤¸°¶ˆ ¦Éɯµ¸¯ £¤¸¡Á¯ ²¶±É¥ ©°™¨ ©°ÎÉ¥´°.
¦¯ ©ß§± À³¶¯ ¤¶á²†ªá BigingTrans Call ÉÁ ´¢¸¡ £¸¥
©°´ ¨ Transactions £µ©¶¯ µÓÀ©¢ CommitTrans Call
ÉÁ´¢¸¡ ²• ´ˆ É°©° ²ŒÚ´É¯ ©°ÎµÓ–³ RollbackTrans
¨Â°¶¯ ©°ÎÉÁ ©°´Á¯Á ¾µ¸¯É¥ç¢ Á¿´°. ²¨§°ª°
CommitTrans Call É¥ç ¸¡¥¤ ª¸¯¸ À±ª¨ ´±µ¸¯ ɱÁá¶
(Update) ²¶±²•.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 232


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Public Function Add(SQL As String) As Boolean


On Error GoTo Er:
cnn.Execute SQL
Add = True
Exit_Func:
Exit Function
Er:
Add = False
Resume Exit_Func
End Function

Public Function Edit(SQL As String) As Boolean


On Error GoTo Er:
cnn.Execute SQL
Edit = True
Exit_Func:
Exit Function
Er:
Edit = False
Resume Exit_Func
End Function

Public Function Delete(SQL As String) As Boolean


On Error GoTo Er:

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 233


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

cnn.Execute SQL
Delete = True
Exit_Func:
Exit Function
Er:
Delete = False
Resume Exit_Func
End Function
²¨§°ªá cnn.Execute ¶ˆ method ¦É ³ DML ²§± DDL
Query ¦Éɯ ´¤–¨ ¨Â°¶¯ ¦ª ª¸¯¸ À±ª¨´ ¸¡Á Û±µ¶´
ɥ¸§¤É. Ôȧ¥ç ²Á© ÉÁ°¶¯ ¾²Â¶Â¸¯ Insert,
Update, Delete ¶¤¨¤¸° Query ²¨ ¶´³ µ¤²˜.

ª¤¶¯ ¸µ¸¯ Class ²¨±½¢´¢Á´É¯ Á¿± ²Â¶ ¦´ clsEmp ²Á©


¶ˆ ɥ篶 ¦´ À§¸ À̪° ²É¯¸¶´ É¥ ¶¯¶.

Option Explicit
–Ú¢µÁ¯ ²›©°É¯ §° ²¨±½¢´¢Á µÁ³ ¾§Á°¶¯ ²¨¨ Option
Explicit Á°´± ª¤¨Ó–³ ¦´ ¨Â°¶¯ ²¨¨ ²¨±½¢´¢Á²´¯ ©°´ ¨
²•Ì´¿Á¯©¯ §Î¶¯µ±ªá £¤¸¯ª ´¶¯¶ ÀÌíڱɥ¿Á´° ¦²©¯
²¶±¨¤¸°¶ˆ. ¦´ ²ŒÚ´É¯ ²Á© ªÉ¯µ´°.

Event DataAdd(BVal As Boolean)


Event DataEdit(BVal As Boolean)

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 234


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Event DataDelete(BVal As Boolean)

¾§¸ ²É±³© ¨Â°¶¯ –Ú¢µÁ¯ ²›©°É¯ ²¨±½¢´¢Á´³ Events


§Î¶¯µ± ²ª´° ¦¶ˆ ²¨¨ ²¨±½¢´¢Á²´¯ DataAdd, DataEdit
§± DataDelete ²Á© Events Àµ¸°¶ ¿µ¸¯ ¦¯µ± ´ˆ ´ˆ
£µ©¯¸±µÁªá ©ÉËá´ µ¶ ¿µ¸¯ ª¤¶¢ˆ²ª´°.

Dim objADO As New clsADO


Dim strID As String, strName As String, bytAge As _
Byte, strDesignation As String
Dim rs As Recordset

Private Sub Class_Initialize()


If Not objADO.OpenConnection Then
MsgBox "Cannot Connect To Database!", _
vbInformation, "Connect"
End If
End Sub

Public Sub OpenTable()


On Error GoTo Er:
Dim SQL As String
SQL = "SELECT * FROM EMP"
Set rs = objADO.GetRecords(SQL)

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 235


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Exit_Sub:
Exit Sub
Er:
Err.Raise Err.Number, Err.Source, Err.Description
Resume Exit_Sub
End Sub

Public Function Add() As Boolean


On Error GoTo Er:
rs.AddNew
rs!ID = strID
rs!Name = strName
rs!Age = bytAge
rs!Designation = strDesignation
rs.Update
RaiseEvent DataAdd(True)
Add = True
Exit_Func:
Exit Function
Er:
Add = False
RaiseEvent DataAdd(False)
Resume Exit_Func
End Function

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 236


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§°ªá ÉÁ°¶¯ ©ª§¶¯ ÉÁ Event ¦É ©ÉË°´ – £¤¸ ¦¶ˆ


ª¸¯¸ ª¨¶ £µ©¯¸±²•ªá DataAdd ´¶ Event ¦É
©±¥à¸Éµ ª¸¯¸ ª¤ˆ´ §¤É° µÓµ ²§±¸¯ True ´¶ £Â´ª
¶¤¸¯¶ˆ False ´¶ £Â´ª Á¿±²ª´°. ²¨¨ Event ¦É
ÉË°´±¸¯¨É ɰ̨ ©ß§± RaiseEvent ð±–¸ É¥´°.

Public Function Edit() As Boolean


On Error GoTo Er:
rs!ID = strID
rs!Name = strName
rs!Age = bytAge
rs!Designation = strDesignation
rs.Update
RaiseEvent DataEdit(True)
Edit = True
Exit_Func:
Exit Function
Er:
Edit = False
RaiseEvent DataEdit(False)
Resume Exit_Func
End Function

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 237


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²¨§°ªá ÉÁ°¶¯ ©ª§¶¯ ÉÁ Event ¦É ©ÉË°´ – £¤¸ ¦¶ˆ


ª¸¯¸ ª¨¶ £µ©¯¸±²•ªá DataEdit ´¶ Event ¦É ©±¥à¸Éµ
ª¸¯¸ ª¤ˆ´ §¤É° µÓµ ²§±¸¯ True ´¶ £Â´ª ¶¤¸¯¶ˆ
False ´¶ £Â´ª Á¿±²ª´°. ²¨¨ Event ¦É ÉË°´±¸¯¨É
ɰ̨ ©ß§± RaiseEvent ð±–¸ É¥´°.

Public Function Delete() As Boolean


On Error GoTo Er:
rs.Delete
Delete = True
RaiseEvent DataDelete(True)
Exit_Func:
Exit Function
Er:
Delete = False
RaiseEvent DataDelete(False)
Resume Exit_Func
End Function

²¨§°ªá ÉÁ°¶¯ ©ª§¶¯ ÉÁ Event ¦É ©ÉË°´ – £¤¸ ¦¶ˆ


ª¸¯¸ ª¨¶ £µ©¯¸±²•ªá DataDelete ´¶ Event ¦É
©±¥à¸Éµ ª¸¯¸ ª¤ˆ´ §¤É° µÓµ ²§±¸¯ True ´¶ £Â´ª

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 238


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¶¤¸¯¶ˆ False ´¶ £Â´ª Á¿±²ª´°. ²¨¨ Event ¦É


ÉË°´±¸¯¨É ɰ̨ ©ß§± RaiseEvent ð±–¸ É¥´°.

Public Function GetCurrentRecord() As Boolean


On Error GoTo Er:
strID = rs!ID & ""
strName = rs!Name & ""
bytAge = rs!Age
strDesignation = rs!Designation & ""
GetCurrentRecord = True
Exit_Func:
Exit Function
Er:
GetCurrentRecord = False
Resume Exit_Func
End Function

Public Function MoveFirst() As Boolean


On Error GoTo Er:
rs.MoveFirst
MoveFirst = True
Exit_Func:
Exit Function
Er:
MoveFirst = False

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 239


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Resume Exit_Func
End Function

Public Function MovePrevious() As Boolean


On Error GoTo Er:
rs.MovePrevious
MovePrevious = True
Exit_Func:
Exit Function
Er:
MovePrevious = False
Resume Exit_Func
End Function

Public Function MoveNext() As Boolean


On Error GoTo Er:
rs.MoveNext
MoveNext = True
Exit_Func:
Exit Function
Er:
MoveNext = False
Resume Exit_Func
End Function
Public Function MoveLast() As Boolean

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 240


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

On Error GoTo Er:


rs.MoveLast
MoveLast = True
Exit_Func:
Exit Function
Er:
MoveLast = False
Resume Exit_Func
End Function

Public Property Let ID(sID As String)


strID = sID
End Property

Public Property Get ID() As String


ID = strID
End Property

Public Property Let Name(sName As String)


strName = sName
End Property

Public Property Get Name() As String


Name = strName
End Property

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 241


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Public Property Let Age(iAge As Byte)


bytAge = iAge
End Property

Public Property Get Age() As Byte


Age = bytAge
End Property

Public Property Let Designation(sDesignation As


String)
strDesignation = sDesignation
End Property

Public Property Get Designation() As String


Designation = strDesignation
End Property

ª¤¶¯ VB £¸¡¥¤ ¨¢§¢¶¸¯ ©±È¶°¨¢ ¦´ À§¸°¶¯ ª¤É¯²µ´°.

Text Box
Name txtId

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 242


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Text “”

Name txtName
Text “”

Name txtAge
Text “”

Name txtDesignation
Text “”

Command Button
Name cmdNext
Caption “Next >”

Name cmdPrevious
Caption “< Previous”

Name cmdFirst
Caption “<< First”

Name cmdLast
Caption “Last >>”
Menus
Name mnuData

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 243


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Caption “&Data”
Name mnuNew
Camption “&New”

Name mnuAdd
Caption “&Add”

Name mnuEdit
Caption “&Edit”

Name mnuDelete
Caption “&Delete”

Name mnuSp
Caption “-“

Name mnuExit
Caption “E&xit”

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 244


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 245


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¦´ À§¸ À̪° ²É¯¸¶´ ɥ¶°¨¢.

Dim objEmp As New clsEmp

Private Sub cmdFirst_Click()


If objEmp.MoveFirst Then
ViewData
Else
MsgBox "Unable to Move! End of Record", _
vbInformation, "Move"
End If
End Sub

Private Sub cmdLast_Click()


If objEmp.MoveLast Then
ViewData
Else
MsgBox "unable to move! End of Record", _
vbInformation, "Move"
End If
End Sub

Private Sub cmdNext_Click()


If objEmp.MoveNext Then
ViewData

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 246


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Else
MsgBox "Unable to move! End of Record", _
vbInformation, "Move"
End If
End Sub

Private Sub cmdPrevious_Click()


If objEmp.MovePrevious Then
ViewData
Else
MsgBox "Unable to move! End of Record", _
vbInformation, "Move"

End If
End Sub

Private Sub Form_Load()


On Error GoTo Er:
objEmp.OpenTable
ViewData
Exit_Sub:
Exit Sub
Er:
MsgBox "Unable to Open Table", vbInformation, _
"Connect"

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 247


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Resume Exit_Sub
End Sub

Sub ViewData()
objEmp.GetCurrentRecord
txtID.Text = objEmp.ID
txtName.Text = objEmp.Name
txtAge.Text = objEmp.Age
txtDesignation.Text = objEmp.Designation
End Sub

Sub AsignData()
objEmp.ID = txtID.Text
objEmp.Name = txtName.Text
objEmp.Age = txtAge.Text
objEmp.Designation = txtDesignation.Text
End Sub

Private Sub mnuAdd_Click()


AsignData
If objEmp.Add Then
MsgBox "Record Added Sucessfuly!", _
vbInformation, "Add"
Else

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 248


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

MsgBox "Unable to add record!", vbInformation,


"Add"
End If
End Sub

Private Sub mnuDelete_Click()


If objEmp.Delete Then
MsgBox "Record Deleted Sucessfuly!", _
vbInformation, "Add"
Else
MsgBox "Unable to Delete record!", _
vbInformation, "Add"
End If
End Sub

Private Sub mnuEdit_Click()


AsignData
If objEmp.Edit Then
MsgBox "Record Edited Sucessfuly!", _
vbInformation, "Add"
Else
MsgBox "Unable to Edit record!", vbInformation,
"Add"
End If
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 249


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Sub ERefresh()
txtID.Text = ""
txtName.Text = ""
txtAge.Text = 0
txtDesignation.Text = ""
End Sub

Private Sub mnuNew_Click()


ERefresh
End Sub
ª¤¶¯ ²¨¨ µå±À⸰´ Û±µ¶´ É°¥ ¿Á¶¯¶. ¦´ DAO §°
²Á©¨ Û±µ¶´ µ¶ ¿µ ²À²¶¶¢ £¤¸.
²¨§° clsEmp §á Events ²´±È¸¯ ¿µ ׿³ ¨¸É £¤¸° ¦´
²´±È¶¯¶± £±É±¥´ ª¤¶¯ ¿Á¨¢. ¦¯©ª§± À§¸ ²Á© £¸¡¥¤
¨¢§¢¶¸§° ²É¯¸¶´¶¯ ²µ¶©¯É¥¨¢.

Dim WithEvents objEmp As clsEmp

Private Sub Form_Load()


On Error GoTo Er:
Set objEmp = New clsEmp
objEmp.OpenTable
ViewData

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 250


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Exit_Sub:
Exit Sub
Er:
MsgBox "Unable to Open Table", vbInformation,
"Connect"
Resume Exit_Sub
End Sub

Private Sub mnuAdd_Click()


AsignData
If objEmp.Add Then
‘MsgBox "Record Added Sucessfuly!", _
vbInformation, "Add"
Else
‘MsgBox "Unable to add record!", _
vbInformation, "Add"
End If
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 251


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

Private Sub mnuDelete_Click()


If objEmp.Delete Then
‘MsgBox "Record Deleted Sucessfuly!", _
vbInformation, "Add"
Else
‘MsgBox "Unable to Delete record!", _
vbInformation, "Add"
End If
End Sub

Private Sub mnuEdit_Click()


AsignData
If objEmp.Edit Then
‘ MsgBox "Record Edited Sucessfuly!", _
vbInformation, "Add"
Else
‘MsgBox "Unable to Edit record!", _
vbInformation, "Add"
End If
End Sub

ª¤¶¯ ²¨§° £¸¡¥¤¨¢§¢ç¸§° ¾§Á µˆÀ© £¤¸° ²É±ˆ²¿±¯


²¿±É¯©´ ¨Â°¶¯ objEmp ²¸±¯¥±Â¶¯¶ ¦–³ ªÉ¡ç¢ À´

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 252


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

²É±ˆ²¿±¯ ²¿±É¯©²´§° À§¸ ª¤É¯²µ¶ Events ª¤É¸


§¤É.
• DataAdd
• DataEdit
• DataDelete
²¨´°¶¯ DataAdd ²¸±¯¥±Â¶¯¶. ¦´ À§¸ À̪° ²É¯¸¶´
É¥¶¯¶.

Private Sub objEmp_DataAdd(BVal As Boolean)


If BVal Then
MsgBox "Record Added Sucessfuly!", _
vbInformation, "ADD"
Else
MsgBox "Fail To add Record", _
vbInformation, "ADD"
End If
End Sub

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 253


¨´°²É˱²
¯ ©±¹¯˜ –Ú¢µÁ¯ ²›©°É¯

¾¸°Ì Events ²ªÉ ª À§¸ ²Á© ²É¯¸¶´ ɥ¶¯¶

Private Sub objEmp_DataDelete(BVal As Boolean)


If BVal Then
MsgBox "Record Deleted Sucessfuly!", _
vbInformation, "ADD"
Else
MsgBox "Fail To Delete Record", _
vbInformation, "ADD"
End If
End Sub

Private Sub objEmp_DataEdit(BVal As Boolean)


If BVal Then
MsgBox "Record Edited Sucessfuly!", _
vbInformation, "ADD"
Else
MsgBox "Fail To Edit Record", _
vbInformation, "ADD"
End If
End Sub

ª¤¶¯ ¶¤µ¸¸¯ µå±À⸰´ Û±µ¶´É¥ ¿Á¶¯¶.

Þ.ö.Àá. ¶°¥¶¯¼¶¯. Page 254

You might also like