Professional Documents
Culture Documents
آموزش VB6 در n+1 روز
آموزش VB6 در n+1 روز
N+1
http://www.ehsani.org/jooti/
1 n+1 6
! " #
$% &$ ' !% &$ ! () % *+ $ ,+%
. - *- %&. " /0 +
%$ 2 3 ) %7 ! / %$ 2 3 ( 2" 4& +5
.%7 ! 3 < - =" ( - (( 9:
! ( 2 " ( ! < $ >&: 9 $ ? <) ( ) ( ! %@"
. - , ( 9: %A B C *- 7 + ) +D C-
= &$ ) + G- # $ =" E F ( 9: E F 5 &G+
=J JH . - * + < F H ! # $ I * + " ! < $ E F
K L $ @ < $ E F < ) * M N @ ( 9: <$E F
.=" J@+ O+ ! G-D < )= N !
! K L = $ ( . ! N ! EH < ! A + C$ ) +D C- )
AF - ( 9: 5 ) & N ! EJ + =G: C, 5 N #
( P- ND Q : ) A R *+ . =" C, 5 2+ A +
. A- ( 2 " $ $ % & $ ) ! %@" % H A-
.
.% $ " &' !" # $
http://www.ehsani.org/jooti/
2 n+1 6
C! " S5+ !
=" I !
%. -) 5
%. -) N !
.= +D 5+
! P $ ND
5+ TOJ "
I - .)
9. $ ! %TOJ "
... -
U + .I
http://www.ehsani.org/jooti/
3 n+1 6
&' ( (OOP1)
%! ! ! =" %& $ 2+ N &$ V " .% % - +-
5 ) ( 2 " ... $ " I 2L I >&: ) %& $ 2+ . F .
. A + 7 %@ < - * +- $ 2+
=" % $ F 2L < W% $ ! =2. N + LO X
W% %T L Y+ < .=" ) " W9: W% $
< " $ %T L . ( Z [ : I \- E 7 ) % 2L ="
I =" " < $ %T LI ] " ) %T L OY+ - %0 +
) G-D & = G- ... =" " N < $ %T L ] " ) %A
. $ $ %T L ] "
) ! # $' G - H Y+ ( G"O!) $ " +
4- ) + " + 4- B>Z %&! W% N 0 . %+ &0
! =" N - " . " ) .. -< .% % - +-
... =" N - M " ) 9 - ND
6 ,- *. : )*+
New Project
! =" $ - $ , + ! < (g M h - Q , - < ( M 5
Q ! D E F BJF *+ m+ standard exe 7 J +
t. @+<$ 9. 5 N [M . ) ? + ActiveX Control
! A-
(g M = T %+ " =" ( (g M N !) < - )
(Figure 1-1) $ + N *- =" ( ) !% $
< ! Q , - Standard Exe 9. New - ) !h <
. ! >! open &!
1
Object-Oriented Programming
http://www.ehsani.org/jooti/
4 n+1 6
Figure 1-1
Figure 1-2
http://www.ehsani.org/jooti/
5 n+1 6
0 12 2: )*+
Hello World 52 :2-2
9 I 9 7@: ) . A+h Hello World "O! Y+ N+ !
m2L < %A ! $) ! M CommandButton Label, < $
. $
) EA 7 -
: ND ) !
Private Sub Command1_Click()
Label1.Caption = "hello world"
End Sub
. ! >! Command1 ]&! < ND < : ) [M ! : +-
http://www.ehsani.org/jooti/
6 n+1 6
( - ! P -† " , + ‡-D *- : + - .
. !ˆ =
' ‰ ) < 0 & +% $ ! 2. X .
=" % + N &$ Caption . =" ND Caption I Label % ‰ ) %A
. * + ( N *- Label !
.) %H X B m+ 7 ND =" : H +- ) $ .
7- (Properties) ‰ ( M ! =A>" Label N &$ „ H .
+- . H. $ Š N - ND J+ P Caption
- & - ! 7+ ! :
Command1 &! N ) - + =" (
. $ Š Hello Word ND
5 < . # - ! < ! % @+ +
(event) G2+ 4+
N &$ J % - +- . ) ?
%@ < - ! * + ( 2 " %+ G2+
. *+( 2"
P+I A + >! &! < %
< >! >! &! <
. F ‹ 2 &!
=" 5 + Event Handler - < + - @Œ
%L < $ ! $< +- @Œ 5 . ! ! $ !
- ( + - )) • N ! L $ ! 5 >&: ) $ + -
. 7 + + B" (
A+ + $ Command1 &! < N >! EH + „ H
. A+ >! &! < ! 1
N ) + " 2+ + +- %+ Š M E+ 0 " 2
. A+ 7 &! < >!
) + . A + =F E+ 0 " Š M Event Handler 3
. A + L ND - 5 < < +-
. $ + Š Label N 0 + + - ) 4
‘ F %+ ‹ 2 &! < $< P <$ D " ?
A < ' >
= T
!% $
+- E
$% -
click < 7
( M <„
. ! >!
http://www.ehsani.org/jooti/
7 n+1 6
. * + : %7 L • ND ! =" ( : +• !„H
A < I $ Š Label1 % < caption = L $ ,+
[M ! %+ ( 2 " ’.‘ ) $ R7 $ ND = L %
B G2+ [M .=" Label1 ) Caption = L % @+ Label1.Caption
: *+5 - !< !
”Hello world“ < J+ Label1 % ) Caption = L
.(
:
Hello Visual Basic World 5 + $ Š Hello World + - .1
. $ C &-
- A+ >! E Label1 < % $ Š +- .2
. ˜ M ND N
:
+- ! Fš +- &! (TextBox) 5 + 7@: 1.
Label 5 + : &! < N ! >! ! $ Š < X
! : . ! Š ( - TextBox !% +
( ) &! [?" ! Š TextBox 5 + : N +) .
. , Label :5+
Š TextBox 5 + = $ ! $ Š < X E7 + - 2.
. ! Š 9 - Label 5 + !
:% &$
‰ ) % T -9 + ŒJ- - %+ % -% .0
. %+ ( N *- % ND < $ +
‘=" (Text)5 + < H TextBox ) % L # 1.
C M ND < < A + (Change) Š TextBox 5 + % D 2.
‘ ( +D
: ( . ! •" M
1.
Private Sub Command2_Click()
Label1.Caption = Text1.Text
End Sub
2.
Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub
>? @ A :2-3
<) ! =" Œ# ‘ =" <) & 'ž 2 $ %&! !Q
Quake EY+ % $ <) < M <) 5 7T N+ N+
.=" % : <) %T ! " &-
http://www.ehsani.org/jooti/
8 n+1 6
: ! A + Q , - %F 0 +- : +- ¡
. =" 0 ND + - < $ % & $
! ! AF %&! 7 N G&*# „ H
<$ T + T + ND N ! 9 T + EH < 5T
.=" A# !
:( E A* C, " ) + T + Y+ <
%F 0 Q , - 1.
! B" 0N ! 2.
! N ! % & $ 3.
$ &$ A# ! < $ C, N ! EH ) [M
. A+E +
: 1 EH
4- ! =" ND ) =H %> !5
int • . A+ 2L 5 %F 0 rnd • . " +
%F 0 Q , - < [M . - P + 0 ž mL C,
: !( 2" ) !) N +( 5
Int(Rnd * 10) + 1
U + F %>L T + L O@F B 5 7 - A <
Label (File\new project\ standard exe) !) : (g M !
. ND dblclick )B $ m2L <
Private Sub Label1_DblClick()
Label1.Caption = Int(Rnd * 10) + 1
End Sub
X, $ 0 ! >! E ND -< # ! : ND
$ $ , &- ! & !< . ! : ( 7 +- . ?
[M ‘ ! Q , - %>7 0 N &$ * + : & +- !
! Fš )B 0 N ! Q , - ) E7
Randomize Timer
< 0 # ª H %F 0 ! A + 5 @ Randomize "
Q , - ! %F 0 [M .=" " N +) Timer . Q,-
< A +- < : P =" ?+ ! N +) ª H *+
. * &-
() * + ,
A" M >&: ) % G- ) KO : $ Š+« @
+- < T + 5 . A &- Š + « @ 7 + ! %"
%T Š+« @ <$ " ) % $ % @+ ! () N -
!ˆ (7 Š + - . ). D %+ C M < ) OA*+ E&0
4- : Š+ ND $ &- & % Œ M > ?+ !
$ Š + &$ & ! P A < (. P +
. $ " &$ <„ ) " A+« @
Option Explicit
http://www.ehsani.org/jooti/
9 n+1 6
http://www.ehsani.org/jooti/
10 n+1 6
P + 2L T J+ *+« @ ( Š+ A+ >!
...
: ! : +- . ! 5 9P : static < >! &>! dim &>! „ H
Private Sub Command1_Click()
Static x As Integer
…
. *+ F š „ H A &- < Š ! < 0 !( (9 @+ . ! :
=" J# Š+5 + ! P + > ?+ ! static < >! &>!
&0 X dim - + static < $ Š + ! 7 ND ³ + $ , &-
&- 5 ) Š + • ) ± ª 5 .=" F G-D
.=" ( ! °2H %>7 J+ • < @ =*.)
: $ Š+h -
Data type Storage size Range
: 2 EH
http://www.ehsani.org/jooti/
11 n+1 6
2
UI (User Interface)
3
.
http://www.ehsani.org/jooti/
12 n+1 6
http://www.ehsani.org/jooti/
13 n+1 6
http://www.ehsani.org/jooti/
14 n+1 6
=H - N - %+ G2+ N $
! 5 ) %¶@ - .
X , < @ < $ @: + < m2L 5 ( & BJF . A-
.4
ND - [?" -< !% <$ < . : A-
ND • + .= - ! ND %>7 ! P !² 0 %
N ! paste copy ! - + *+< P- General C,
. - .
&$ % @ - * + D $ G-D %A ! # - .
!5 < „H. F m+[ - ! $ - - G-D
D” " $ Š cmdKeyboard $ &! (Name) -
. $ =7Y+ Q : “‘ ! =" $ !) D $ ,+
http://www.ehsani.org/jooti/
15 n+1 6
&! [ - . ! ( P- $ !5 (index)[ - = L „ H
h 2L &! ) G 7T . I &! 2L I
5+ - + $ & . . ND caption ! $[ - A+
. + = - G+ )[ - T + . ... 3 2 1 $caption
-+. !ª $[ - ) =" < P 9 # & < $caption
. Š $ [ - N + -
• G-D & <$ < A + =" D ! #) %
. *+ L
Private Sub cmdKeyboard_Click(Index As Integer)
End Sub
( F ‹2 ! !< &G2 A-D < %$ [M
[ - ( - • NO0 [ - Š+. : ="
.( F ‹ 2 ND < ! =" %T !
: $ &! & < < !
Private Sub cmdKeyboard_Click(Index As Integer)
Text1.Text = Text1.Text + cmdKeyboard(Index).Caption
End Sub
%+ ! Œ- &$ D<$ !‰ < " U
ControlName(ControlIndex).Property
%- F index=1 • 5A+ >! 2 &! < % .="
.=" 2 ND caption ! * +
0 OY+ . 0 ) Z <9 # $ &! caption & .
G . textbox % >P- 0 $ ,+ - %" F
( 2" )B ) !ª 2. ! Œ-D $ [ - ="
: !
Text1.Text = Text1.Text + CStr(Index)
!Q,- 0 BJF <) h <
! ( Q , - %F 0 + - < : ¾m+ A <
F ! %- +) 5 . + form_load 0Q,- R +
< $ %$ J+ < ª" + %>m+ *+ : *+ 4F H
.=" T
Private Sub Form_Load()
Form1.Caption = "Find Number"
Text1.Text = ""
Randomize Timer
RndNum = Int(Rnd * 10) + 1
End Sub
0 =F ( +D %T textbox J+ $) @ A <
N >! R + • N J+ ) [M - + . < @
• 5 - =" %F ! ! 5 < . ! %- F clr &!
: =" ) 5+ clr ! >! • .
Private Sub Command11_Click()
Text1.Text = ""
http://www.ehsani.org/jooti/
16 n+1 6
End Sub
cp • [M
…
End If
Command11_Click
End Sub
. $ Š
) C" $ +ž: $ + - 7! < ! ! !%
J+ ! enter >! N ) - ! =" G . A- > 7 ! <
. N ! ˜ M ! Esc N ) $ -
&! ! true ND . ! - default = L $ &!
< >! -9 enter >! ! % . *A + %A*+ H
true < &! < . cancel = L . * + %- F &! 5
%- F &! ND < >! %+ ( ) Esc >! %
- + cancel &! BJF default &! BJF F $ . * +
‘ #I
‘ A + cancel ! default ! ! $ &! - + & „H
:
K H ND . =" ( - Label1 70 I Label !< 1.
. !
. ! ! <) ND N + BJF . EA*+ + <) 2.
ND ± <) ) ! <) $ P =" $ ,
<) - : 0Q,- < ! !< !. ! : (
-+ 9 # &$ ! : ). 7- +< :
(.=" ( : () + - ! 5
# ! $ hOX !N ( - R + ŠM 3.
.=" ( ( - N )V H
) N A+ 5 I ! ˆ 0435 - + < 0 V + - + ! 4.
. P
;) ! M ( - ) A < %$ 5.
:
! < : 0 - + $) $ *+( - !% .1
. P ) N A+ 5 . $
- J+
!˜M( ! !< D - ! A <
% &! 2.
. !
%T textbox * + - J+ E&0 % ! ! < ! 3.
J+ ) @ 5T ! ! %- +) ² 0 *-
. %T textbox A +
. !5 @ %F 0 ( m+ ! $ ! N A+ 5 4.
. ( N *- ª" + Š M ( m+ ) ± <$V H<
http://www.ehsani.org/jooti/
17 n+1 6
: ( . ! •" M
1.
Else
Label1.Caption = "u r winner"
Text1.Enabled = False
Dim i As Integer
For i = 0 To 9
cmdKeyboard(i).Enabled = False
Next
cmdCmpar.Enabled = False
End If
5
. 02 false ! true +,- * .,/ 01
http://www.ehsani.org/jooti/
18 n+1 6
3-2.
Dim cmpred As Boolean
4.
Int(Rnd * (CDbl(txtEnd.Text) - CDbl(txtbegin.Text))) + CDbl(txtbegin.Text)
. 0 E+ BJF $ textbox 5 ! :
5-1.
Private Sub Form_Load()
…
Label1.Caption = “LM NOPQ RST UVW LX YZZ[\”
End Sub
5-2.
Private Sub cmdCmpar_Click()
If Not IsNumeric(Text1.Text) Then Label1.Caption = "just integer": Exit Sub
End Sub
+ " &$ + A + EH + runtime error EA*+ ! 5 7T
2L !< 0 < *0 0 - + !N # ! %&- ( D
. ! *+h
5-3.
Private Sub Text1_KeyPress(KeyAscii As Integer)
http://www.ehsani.org/jooti/
19 n+1 6
* B C : 3-3
.
! %+ ( 2" - " <$ 9 & 7 J +- 5
.%A F . N C &- < +- : +- ¡
=" %A F . N C &- + J+ .= - )„ < * ¡
5 Q :. & < F H % , J >" %P 9 # &$
&! IE F V D 5 F . < textbox < +- - + "
%+ &0 + - N C &- < Image
. ACDSee - + < G*+
! ‰O $ -5 ) N !( " Q ! 5 N +)
<$ 9 N ! <) N ! AF %0" #
X, .=" ¯ +N - ) * &$ N ! «*! . ) ?
MSDN(help-e VB)). P &- <9 # =" ) Q ! % !
(. A- U + F
:) 70 ! ( 2 " 5+ ! % $ 9
% h - % - % !
Image imgPreview C &-
DriveListBox drvImage : +<$ = T C &-
DirListBox dirImage : +<$< ! C &-
FileListBox filImage < ! : + < G> F C &-
ListBox lstHistory .( ) O7 ! % G> F = T 5 P-
• " %" " <
ComboBox cboFilter <$ - M $E FN ! m+ <
‰
OptionButton optPreview(2) C &- U C 9.
CheckBox chkPreview ( N *- [A0
TextBox txtAddress E F E+ ! V D C &-
http://www.ehsani.org/jooti/
20 n+1 6
http://www.ehsani.org/jooti/
21 n+1 6
http://www.ehsani.org/jooti/
22 n+1 6
End Sub
Private Sub cboFilter_Click()
filImage.Pattern = cboFilter.Text
End Sub
%- F FN ( N *- ) E7 ! %@ ) form_load DB
.=" ² F C M Œ DN !Q,- 4& ( *+
. Q,- D ! * + : %- +) combo >!
P+ FileListBox.pattern ND 5 + Q,- D ! %
. ! m+ G-D E F<$ - M
9. N + ) 9. ( BJF )
Q , - < < 9 : OptionButton
: : ) A- .= ¯ % $
. !( 2" < D L $ OptionButton ) ! %@" .1
. !Q,- $ 9. ) %A ! ) E7 N * &$ 2.
false . ( Q , - % @+ true . : OptionButton.Value
value N + $ N ! Q , - < .=" ( *- Q , - % @+
. true J+
Private Sub Form_Load()
…
optPreview(0).Value = True
End Sub
) N ! F š frame P optionbutton : ( P* +)D
E < $ Optionbutton . ! >! G-D < ! : + - frame
.=" 5 G-D ) %A BJF 4mT $ . ) frame
(! ! -( -+ : < $ C +)D 5 ) # $ ) # $)
value . ! . !) / > < $ Q : 5 F . < < 9 : CheckBox
.=" %2 + Q : 0 . =" =7Y+ Q : I 1 ND
Private Sub Form_Load()
…
chkPreview.Value = 1
End Sub
Private Sub filImage_Click()
If chkPreview.Value = 1 And optPreview(0).Value Then
Dim pth As String
pth = filImage.Path
If Right(pth, 1) <> "\" Then pth = pth + "\"
imgPreview.Picture = LoadPicture(pth + filImage.FileName)
End If
End Sub
. >! ND < $ D ) %A < ! * + : %- +) FilImage_click
>! < $ optPreview ( checkbox .
" " 5 loadpicture " ‘ - P# + . $ + N *- image
http://www.ehsani.org/jooti/
23 n+1 6
" %+ 4 . - P+ ND P+ %A F . E F V D
) N %+ !
imgPreview.Picture = LoadPicture(filImage.Path + filImage.FileName)
V D ! %- +) Path ! =" EA*+ + . ! ( 2 "
< ! V D . =" ”d:\“ ”c:\“ L
%+ ! Œ- &$ .=" ”d:\program files“ ”c:\windows“ L
E F - $< ! V D ) %A . -< P ”\“ %A
+ ! = - %> F 5 ”c:\windowstest.bmp“ 7 - ‹ mT
. " ,+
! ! 5 = - ”\“ =" =&" ! ! . 4+5 <
. ! Fš
=" =&" ! ! n P+n 0 right "
(. 7 help $ mid left " ). - P +
$ dblClick < (R E " ) ! 5 &$ - + ! -D )
$ - %+ ! 5 < +- ) „ H 5 &$ )
. ! %- F ND -
Declaration < " " < $ Š + - + 9 - + - ) • « @ Em+
.=" ( $ ! &$ <„ )
Private Sub Preview()
Dim pth As String
pth = filImage.Path
If Right(pth, 1) <> "\" Then pth = pth + "\"
imgPreview.Picture = LoadPicture(pth + filImage.FileName)
End Sub
Private Sub filImage_Click()
If chkPreview.Value = 1 And optPreview(0).Value Then Preview
End Sub
( C &- [A0 >! E $ ,+ ! !%TH<
R + optionbutton ! * + ( N *- >! E [A0 % L
:. ( Q , - (1) ND
Private Sub filImage_DblClick()
If chkPreview.Value = 1 And optPreview(1).Value Then Preview
End Sub
image C &- ) [M ! *+ : + ! : +- 5 .
image < stretch ± +- ) . *+³9 () -
(. form_load ND R + ! ). ! true
Private Sub Form_Load()
…
imgPreview.Stretch = True
End Sub
.[A0 () - image - * + image () - [A0 I = L 5
Private Sub Preview()
Dim pth As String
http://www.ehsani.org/jooti/
24 n+1 6
pth = filImage.Path
If Right(pth, 1) <> "\" Then pth = pth + "\"
pth = pth + filImage.FileName
txtAddress.Text = pth
lstHistory.AddItem pth
imgPreview.Picture = LoadPicture(pth)
End Sub
$ , + % *. J+ ( ! %- F ! %@ ) ! %- +) : A-
% *. J+ ! %- +) ! ( 2 " 9 - M ) ND %- F
. !( 2" $9- M) 7- 9 %&- < Š +
Private Sub lstHistory_Click()
imgPreview.Picture = LoadPicture(lstHistory.List(lstHistory.ListIndex))
End Sub
( . = T mš D %&- "B 5 ) .
. - ,
:
%$ J+ G-D - - %7" + T %$ J+ $ 9 ) %¶@ .1
. ! T
( ( () ! % A0 ) ª $ [A0 ! !< ! 2.
‘=" %7 # N„ . - P lstHistory %& [A0
. 9 - ico wmf < $ E F N ! !< ! 3.
. ! @F Z frame $ optPreview( ,- # preview % 4.
. $ lstHistory ) K H N A+ ! 5.
textbox ND V D $ + N *- lstHistory ) [A0 % 6.
. $ N *- ND . %&- ( N *-
. $ - C &- [A0 9 - lstHistory ( ,- # preview % 7.
http://www.ehsani.org/jooti/
25 n+1 6
:
. - ( N *- 9 - %& " %2,+ < $ E F ! ! < ! .1
enter &! N ) ) [M ! dropdown combo < ! 2.
. F š ND = T combo 5 +
!ˆ $ ,+ ! ‡-D N ) V H = > 2 ( . ! 3.
(( ! ˆ O7 ‡-D : ) $
:% &$
5 ! : B B +- - + F8 &! N ) .0
! [A+ 4mT # ‰ $ Š+< V + . =T H
. P+ & L Š + ND J+
(system) %& " (hidden) %2,+ 1.
... * + ( (press) *F (13)enter % 2.
<$ ! ! . $ - ND < : =J JH 3.
% $ ! ! ! ND 5+ 5+ = T D
%+ change ! . . ! select ( ! Fš !
%+ Š 5+ $N ! X, -
. $
: ( . ! •" M
1.
filPreview.Hidden = true
filPreview.System = true
2.
Private Sub Combo1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Combo1.AddItem Combo1.Text
End Sub
3.
Private Sub Combo1_Change()
Dim i As Integer, selstrt As Integer
For i = 0 To Combo1.ListCount - 1
If Left(Combo1.List(i), Len(Combo1.Text)) = Combo1.Text Then
Combo1.SelStart = Len(Combo1.Text)
selstrt = Combo1.SelStart
Combo1.Text = Combo1.List(i)
Combo1.SelStart = selstrt
Combo1.SelLength = Len(Combo1.Text) - Combo1.SelStart
End If
Next
End Sub
:
< % .=" • + 5 # m2L < <) 5 : 4F H <)
< % $ + N *- [A0 ! >! ! $ • + ) %A
[A0 5 . . $ + N *- % A0 $ ND A+ >! • + 5 +
http://www.ehsani.org/jooti/
26 n+1 6
%>A N &$ - 7- %A . - %+ K H • + 5 - %A
= ¯ Em+ [A0 $ ! X, . - ) ! - *+
[A0 „ ˆ# =&" . ) . % @ D %+ U
.=" [A0 ŒJ- ND <) D
http://www.ehsani.org/jooti/
27 n+1 6
D*. 2 @ : )*+
A 2 :1-3
5 . D %! V + < $ < H E7 E F
. . %+ < * < $ ! <) «ŒT $) E F
http://www.ehsani.org/jooti/
28 n+1 6
left =J JH . ="
F ˆ# =&" ) % 5 >L F ImgRIP(1).left
+ OY+ . ND ! =" % ˆ# =&" ) % >L F
ˆ# =&" ) F >L F F left =" screen % E FI F
.=" m2L
6
) twip A> .= - pixel ² FCM ,+ H
.=" (Â 1/1440
G# B ( ! EJ + (0I0) ŒJ- " B
. ( N *- ND
6
. ! 6 . pixel ! $%& 5 3 /,3 4
http://www.ehsani.org/jooti/
29 n+1 6
< ! N =! H :
O7 . !( 2" %! ) $ , + < ! N =! H <
keydown : ) 70 %! P . D keypress
: %! < $ >! ) %A 5 F 5 M ¾m+ keydown . keyup
G-D $ ) [M keypress . >! ND N +D „ ¾m+ keyup *+
< J+ keypress keyup keydown ( &0 2 . * + %- F
! =" keyascii J+ 5 keypress . - N &. D N 0 ! ="
+ .=" ! ! ! =J JH %A" ( & .=" >! %A" ( &
.% G: < $ >! Y+ < -< ! ! %! < $ >! &$
F %+ ‹ 2 $ >! 5 < !% $ N ! !<
. ! ( 2 " keyup keydown) N %+ : < 4- + N +)
" ! BJF 4mT %! < $ : :
* &$ V ! F I focus V ! F ! %T ! I - * +
$ 5 textbox &! . %T =" picturebox
<$ ! P$. $ ‰ V ! F - %+
. != A- 5 * &$ %!
)= ¯ J+ $ >! Y! ! < I >! ! :KeyCode
>! < vbKeyLeft OY+ I - * + h vbkey ! % $ (constant
.ˆ# % G:
.=" shift,alt,ctrl < $ >! = @š ( $ N *- : Shift
http://www.ehsani.org/jooti/
30 n+1 6
dec bin
!Â$ . . < * žš ) - +5
1 5 shift < =" 2L J+
001 ( *- ( *F
2 .=" 4
010 alt < 2 ctrl < 1 J+
3 011 %7 ! < $ =T H < + = - %>A*+
4 100 >! 3 $ . % @ - * + •&: $ $ J+
5 101
%T . * + 7 J+ 5 ( ( *F
6 110
7 111 ‘( +D ! ) $ 0 5
: != 0 5 (2 < 7+ 0) <
I=" shift < %7 ! =" 1 ND < =" =&" ! ! $
. =" alt %+ " ctrl %+
AND < ) . ) º ,* 5 N +< AND ) ( 2 "
(. P- % : ) ! BJF - &- <9 # <
Dim msg As String
If (Shift And vbShiftMask) = vbShiftMask Then msg = msg + " shift"
If (Shift And vbCtrlMask) = vbCtrlMask Then msg = msg + " cntrl"
If (Shift And vbAltMask) = vbAltMask Then msg = msg + " alt"
F B m+ < ! N ! m+ : G#
5 Y! ! < G- ) U) +D %>7 < $
) - BJF =" ( " C, 5 =J JH + . - EA*+ C,
[A0 =" EA*+ N ) $ @ . . = A2 %&!
. ! ( P- m2L ,*+
( ± m2L =" =&" ) < ! . $ ,+
. - 7 ‡ =" =&"
! M ª" + R ! = EA ND
If picCowboy.Left + picCowboy.Width > frmMain.Width Then _
picCowboy.Left = frmMain.Width - picCowboy.Width
http://www.ehsani.org/jooti/
31 n+1 6
. *+N t . /0 C, 5 ( %m š $ A + AF 5+
R 35 -² 0 $ %&- < * ž š A + «ŒT [M
5 BJF . P+N ( G@ (5 M „ Iˆ# =&" < ) P
) („ N 0 - L ,+) F < $ HET !žš
borderstyle A !( 2" N !N !· < %7 J J+
. m+ F H & ! 0-none
<) +h : M
! 5 < . =" $ 7 \ " & N ! K H A+ !< ! G
N + % BJF ! X , + . A + unload G-D
- Y" $ F +5 ). ( =" load ! ! unload
(. ! C +)D unload frmMain
If KeyCode = vbKeyF2 Then
Dim i As Integer
For i = 1 To imgRIP.Count - 1
Unload imgRIP(i)
Next
End If
. - * + m+ $ 7 \ " & F2 >! N )
:
-„ 0 %&! 7- 5 ! m+ < !E < $ T >. @ .1
.
m2L < ND < : , &- < ! T >. % ! ! < ! 2.
. -&
$ N *- ( ,- ( K $ < $ T >. @ +D 3.
. !5 @ ( - +D 5 ª H & $ T >. %
,E :2-3
B N ! " < < +- DV +<$ A-D <
. ! E 7 % J- + - ND N + ! +
% ! . =" < ( " !% - +- ! A+< D
A *M „ % $ ª š < F N - +- 2. &
BJF $<# ( G + O0 ) %> < $ +D )
! 2. =" < D
: ! EH +
) ! line " : º,*+ ŒJ- 5 B N ! " 1.
N M h ŒJ- ,+ 5 F . =" ( - + %
%+ %* +)D + - * &$ - + . A + " ND B
! $ m2L < &! picturebox [M . -
: )
Private Sub Command1_Click()
Picture1.Line (0, 0)-(Picture1.Width, Picture1.Height)
End Sub
http://www.ehsani.org/jooti/
32 n+1 6
7
Red Green Blue
http://www.ehsani.org/jooti/
33 n+1 6
ª Z ª 0 long 0 ND + ‘ A + (9 @+ RGB • D
.= - ! < (9 @+ Â $ !9 90 RGB < ) ND N !
:=" ( +D ) E 7 5 + F
r + g * 256 + b * 256 ^ 2
.=" N &-”^“
&! ! : + - ‘ ( A- U + F ! \ * B ND
. $ =! H ND < P ( M " B % . -9
! %+ ˜ M
˜M= $ A = $( *- ˜ M B A <
ND ( " A ! " ( ND
. ?
picture < AutoRedraw = L ! =" %F ! BJF :
. ! =" true
) - %> T $ * + ˜ M + - ) %*, ! % :
! * + %- F % ND < paint =" + "
: ! C +)D )
Private Sub Picture1_Paint()
Picture1.ForeColor = RGB(0, 100, 200)
Picture1.Line (0, 0)-(Picture1.Width, Picture1.Height)
End
: !5 @ N + $ P U B \-
Picture1.Line (0, 0)-(Picture1.Width, Picture1.Height), RGB(0, 100, 200)
!) B ,+ 5 F . 2.
http://www.ehsani.org/jooti/
34 n+1 6
&! ) %A ! * + %- F% 5 MouseDown
< (=" ND [A0 $ MouseUp) ( *F V + < $
. A+( 2" 5 ) P !) B < ŒJ- A
( *F ! < &! button V + %>@F Em+ y x < $ Š +
.=" keydown shift - + $ Shift . $ + N *- =" (
F< V + ! *+ : % 5 MouseMove
mousedown - + ND < $ + M J+ (V + ) F ) ! =! H
.="
AutoRedraw = true + - E+ ! ! $ 5
Dim X1 As Integer, Y1 As Integer, X2 As Integer, Y2 As Integer
Dim oldX As Integer, oldY As Integer
http://www.ehsani.org/jooti/
35 n+1 6
2.
SubPrivate Type cRGB
r As Byte
g As Byte
b As Byte
End Type
Private Function RGBDecoder(ByVal c As Long) As cRGB
If c < 0 Then Exit Function
RGBDecoder.r = c Mod 256
c = c \ 256
RGBDecoder.g = c Mod 256
RGBDecoder.b = c \ 256
End Function
http://www.ehsani.org/jooti/
36 n+1 6
Timer G : F( )*+
%H ND.=" ) < $ 9 5 Q : ) %A & 9
$ . ! =" P-) =0 " ˜ m + - +
%&- ( : N +) 9 5 ! ! : . - %+ & +-
.
4 3 ) C . =" m+ ) & • + ! X,
) • +N F Œ ) A- ( 2 " N +- &
L ) & ) ( 2 " E! . ! < . >: P < $ + -
. * &-
K - *
º,*+ N +) + ! $< ˜ m+
.2 < @ .1 )„ 9 # . - *+E 7 < @
. ² 0 = # A N &GF
# . %>A*+ 7- < @ N &GF <
@ [?" . ! G ( D 5 F ( OY+)
. ! =" D G-D ) $ m2L < (imgPicLoad)imagebox
! . $ F< $ &! D ) : (imgShow)imagebox
. &! )
Dim i As Integer
i=i+1
imgShow.Picture = imgLoadPic(i).Picture
ND D %+ $ ) %A BJF + . 7 - ! : +-
# A + . & ( G0 D %+ # A ! $
. ( ! « @ dim I Š + + A E T ! %&- Š
< % [M =" • &0 Š + h - 5 &0 X,
. P + 2L J+ *+« @ ( Š+ ! : •
: A + ž m %&! +-
Static i As Integer
imgShow.Picture = imgLoadPic(i).Picture
i=i+1
>! .($ < : EA*+ ( EH %>7 OA*+
&$ % %T * + ( C &- < @ N !
) I A E T . * + RunTimeError # + - - * + ( N *-
- + - : % - 5 # ( * %A + [ - 5 . 9
=" G + !( 2" R ) EA*+ 5 N ! K X <
! < !) A- ( 2 " R ) * + EH R N %>A*+ .
(N %&- if A &-
Static i As Integer
imgShow.Picture = imgLoadPic(i).Picture
i = (i + 1) Mod imgLoadPic.Count
http://www.ehsani.org/jooti/
37 n+1 6
:
. ! =! H $ m2L ! $ Š < X + - .1
. ) N &$ ! F<$ ) %A %
( A+ =, D -% - +)
ND ! ! ! ! & - ! $ F < label 2.
. -( ˜MI -
:
. -9 \-) ‰ =0 " ! % 0 " + - : =0 "
. $ \-) N ! U + 5 =>
:% &$
http://www.ehsani.org/jooti/
38 n+1 6
:% - + - (g M
ND ! ! =! H U < ! % @ . ! ( 2- < ! +-
ŒJ- 4mT $ < ! N + <) N =," < ) . -9
( " F %F
http://www.ehsani.org/jooti/
39 n+1 6
0 1 : L1M )*+
+< J 9 5 . $ $ + ! B < $ 9 5 &G+ ) %A
.=" 5A&+ Z 7 J + N E+ ! + - ! =" ( 2 "
. ) M %+ + ž š BJF ! %&- EH %T Y+ E F 5
name caption .
!) + . =" ( " + !
< + 7 ( M OK - + !( & ! =J JH . ! M
next &! [M .( *- & + + ! + . 7 N <7)
name caption %>7 - + . ! %H X < @ < + -9
http://www.ehsani.org/jooti/
40 n+1 6
„H. $ $ ! + $ ! %+ ! ok . . ! E &A
-> &! [?" ! select %+ < + .) +
%+ . F . H. F š ````ND - ) E7 -9
.=" %T < + E %+ < + !
.=" ( ! : < $ B -&+% + %H X !< T + G
%X 7 %> %+ G2+ 4- ) ! + 9. # A <
« @ < . A+( 2" $B 5 ) ! : $) - - $
( + ) & H) + ND caption ! =" %F ! ( ! : B
! . $ ND mnuSep1 - + %$ ,T - . ! ( G +) –
.=" ( &
: <
Q,- + ) ND + I + ) 7- + >! N ! 4 <
ND < %A (shortcut) 7- + < $ >! (combobox) = T ) !
+5 < N ! >! - + -9 7- + >! ND . „ H . ! Q , -
.="
: Checked
=L 4 + 5 < . ! E&0 checkbox 7 - + +
= L 5 ²9F C M Œ A < . ! false true ND checked
. ! true + checked N + true
http://www.ehsani.org/jooti/
41 n+1 6
: 6
.=" G+ 9 % A- : $ + %H X
ND - < G - !) < P ( M =" + . 1.
. ( hOX ! T +5 $ + ”...“
(h &+ space) ! ( 2 " &>! ) %>L < $ + - < 2.
. ) - %+ ( 7 ! < &>! < G+ - N #
! $ <) P+) =" File * &$ ˆ# =&" ) + 5 T 3.
+5 ) D 5 D * &$ exit < + ( Game - +
. *+ : $ D ") B ="
! =" ND D5 D about =" + 5 D help < + .4
N *- ! ... = %?! N - +- ( % 0OX
. $ +
. ! = 0 * &$ - " < $ 7- + - " <$ + 5.
( ! 0 ND ! N # . =" =" A + &$ ! < !)
(.="
:
. ! %H X + - m !% $ +- <
http://www.ehsani.org/jooti/
42 n+1 6
P M O L1M : 1-6
-
+ ! .=" ! R 7 < ( " < $ ( ) %A Š M ( M
+ ! = @š N hOX 5 F .I " N " M<
ET M( M ! : * &$ + . . ( 2"
+ BJF $ •" M ND ! A+« + !<$ ! A
=H - ! %-„ X ) < $ Š M .=" Q >Œ+ G+ < Œš
. A + %7 0 % H
:( 2" U
) ) * &$ $ %+ . -9 0N ! M +- < "
+- +( „ ! ( - A+ M 0V H3 !N+
! * + <9 D ( -) N + <) . -
Private Sub Label1_DblClick()
MsgBox "RndNum is " + CStr(RndNum)
End Sub
: msgbox < $ + M
. * + ( C &- Š M 7@: ! % + : Prompt
J+ ) %0 & + %A - + ! Š M ( M <( $) &! : Buttons
: )
Constant Value
vbOKOnly 0 . ! " # OK
vbQuestion 32 . ! " # 4# , 5 67
http://www.ehsani.org/jooti/
43 n+1 6
vbApplicationModal 0 # % ?# !
. C, @ D
vbSystemModal 4096 C, @ D #
E # " F G # H
. %#
‘( &! ! ŠM( M
ND ) ± < !) $ ,+. C &- + -
! !< +- $ + - U) +D 4 & BJF !5 ) P
(. - C" M <) - ( A- C ND < "
Private Sub Form_Unload(Cancel As Integer)
If MsgBox("Are you sure to exit?", _
vbQuestion + vbYesNo) = vbNo Then Cancel = True
End Sub
$ buttons < $ ,*+ ) %¶@ N + !( Œ- &$ !
%+ .=" " =+O0 YesNo % @+ „ Y+ ! •&:
. ! •&: 9 - $ vbDefaultButton1~4 ) %A ND -
Constant Value Description : Š M % *. J+
( ) ! $ &! ) ! $
vbOK 1 OK
. - P+ J+
vbCancel 2 Cancel I F< &! BJF N #
vbAbort 3 Abort % *. J+ N ! ( Å <) -
M !5 ) - . + 7- Š +
vbRetry 4 Retry
integre Š + ND - + !
vbIgnore 5 Ignore . ! ( Å VbMsgBoxResult
vbYes 6 Yes
vbNo 7 No
Private Sub Form_Unload(Cancel As Integer)
Dim ret As VbMsgBoxResult
ret = MsgBox("Are you sure to exit?", vbQuestion + vbYesNo)
If ret = vbNo Then Cancel = True
End Sub
http://www.ehsani.org/jooti/
44 n+1 6
H F ! * + %- F %- +) 5 unload
5 . * + ŠT F 5 ! true cancel Š + . =" N
.=" false ² F C M Œ Š +
! G * # $ .=" N ( G@ C, 5 < 5 & ¡ X
. A+( %A
:5 &
. P ! ) new game) E7 < ! <)
A O L1M : 2-6
!=" 2+ ! %>7 $ %&! $ %+ ! % < ( M5
) %A N ) (! - „ !) ( 2- < ! <) - + OY+
$ ( M 5 ) %A < ! =0 " ( ( ! %H X „ !) $ +
.(! P + „ !) P !)
Dim ret As String
ret = InputBox("enter ur name", "cowboy", "10")
If IsNumeric(ret) Then
If ret < 2 ^ 16 And ret > 0 Then Timer1.Interval = CInt(ret)
End If
: msgbox defualt N &. D BJF =" msgbox7 ND < $ N &. D
( -( M ! =" %š 2* M J+ N &. D 5 . -
R . $ & %>@F interval ND - + & .="
+ +- ! U " 0< ! . ! =" 5 <
. *- (runtime error) : N +) < Œ #
+ - % $ ´ - ! =" Q %>7 < 2. E T 5
+ I ND < - + ! %7" + !
. Q,- 5 G + %¶@
A0Q R : 3-6
I E F N ! ( Å ) < «> ,+ < $ + - !% $( M &H
G ( != . . ( A + ( 2 " \- =- F Q , -
<$³ T 9: $ ³ T 5 ‘= # C> T . $ $ - + &$
. ! ( 2 " G-D ) - +9- + $) - "
(ctrl+T) ! Q , - components... -9 =" >! 9 7@: <
Q , - Microsoft Common Dialog Control 6.0 * + ) !% T
. !
. $ m2L < %A I %+ F š 9 7@: 9 5
.=" % + - : N +) & -+ 9 5
open dialog : 1-3-6
C +)D : 9 5 $ m2L < label &!
. !
: ) ! &!
http://www.ehsani.org/jooti/
45 n+1 6
http://www.ehsani.org/jooti/
46 n+1 6
T AF + U : 4-6
- &- E+ ! Q )
- " < $ F ! $ J# $
!( D + < $) - &
5 "D N + ! * + )„
„ H 5 &$ ) [M . -9 „
! -9 „ N $ 5 "D
I !) 0N ! M +-
add form project < +
!< ( M) . !Q,-
Q , - Form 9. * + )
. !
F =" : F
ND OY+ . +- &4
@ %F 0 ( m+
F 5 %H X 7- . ! 4 N ) V H < ) + @F
: $ + •" M • " # BJF . %>A*+
‘ $ C &- < P F - P# .1
. ! %+ ( 2 " show + ) P F C &- <
http://www.ehsani.org/jooti/
47 n+1 6
Form2.Show
! : F - + $ & : + MN +5 .
%+ F BJF ! L vbModal + M . + %& F $ !
! A + 7L ( ! L ND ! %+ F A+ !( ) () !
. & F ND
‘ 7 F - P# .2
. ! ( 2 " Hide ) %2,+ = + Œ F $ ,+ .
< $ Š + &0 ! * &- /0 + A + m+ F " 5
. " N M (5 + 7@: 5 + - +) ND %+ &0
Form2.Hide
- 5 ) ND < $ Š+ O+ ! F $ %+ .
! ( 2 " unload )
Unload Form2
Unload Me
. $ ND
N„ & ! =" %+ F P - me %
. A + unload F I F <„ X &!
‘ ! EJ + P F F ) < J+ - P# .3
ND %+ &0 < $ Š + < $ 9 F - N ! !Å N +
! M %" "
Form2.Text1.Text
Form1.MinReng
%+ cowboy & 4 ) %& ! T +N 5 <
-
Form 1 :
declaration =&
public MinReng as integer
Form2 :
Private Sub Command1_Click()
Form1.MinReng = CInt(Me.Text1.Text)
Unload Me
End Sub
- ND < $ Š + ± 4F H ) F A ) E7
( Å F N &$ < Š + )„ F ! % $ J+ -
. A+
Form 1 :
private MinReng as integer
Private Sub Command1_Click()
Form2.Show VBModal
MinReng = Cint(Form2.Text1.Text)
End Sub
Form2 :
Private Sub Command1_Click()
http://www.ehsani.org/jooti/
48 n+1 6
Me.Hide
End Sub
. ( ! ( 2 " ND < $ Š+) ( ! %2,+ FU 5
. %+ EA*+ # F <„ X &! F . ,*+
:
=" &4 < %+ F $cowboy < . ! E+ ! &4
! G inputbox ND ) ! !
:
. ! =" < : FI F < ) : P$
:% &$
. ! « @ (new) : F $ %+
: ( . ! •" M
Dim x As New Form2, y As New Form2
y.Show
x.Show
http://www.ehsani.org/jooti/
49 n+1 6
A 2 : V0 )*+
+- ! F . .<$E F J-D
. < !
&$ ! ! %+ ( 2 " $ < : < $ 9 ) + - 5 7T
$N +- $ , + & H . ( ! ! G-D ) &
... richtext status bar toolbar - + % $ 9 . ! ( 2 "
5 @T Œ+ ) E7 =" G * + * N + ! =0 " E F 5 )
. ( < F H %>7 < $ E F ªT Œ+ E F
MiniWordPad
MicrosoftMicrosoft Rich TextBox Microsft Windows Common Controls
. ! Fš N (g M components Common Dialogs
E ND ‰ (custom) < $ m2L < ImageList
5+C +- toolbar < )„ < $ [A0 . ! >!
< "= - ) ! F š ND
(. -9 <VisualStduioDir>\Common\Graphics\Bitmaps\OffCtlBar\Small\Color
http://www.ehsani.org/jooti/
50 n+1 6
. ! %H X $ )„ < $ + ! F š $ richtextbox
$ C &- " < $ =- F = T $ , + combo ND
Private Sub Form_Load()
Dim i As Integer
For i = 0 To Screen.FontCount - 1
Combo1.AddItem Screen.Fonts(i)
Next
End Sub
. ! Š ND richtext =- F Q , - G-D ) %A .
Private Sub Combo1_Click()
RichTextBox1.SelFontName = Combo1.Text
End Sub
5 + «> ,+ < $ @Œ ND N
+ ! =" % + 7@: RichTextBox
.= - «> ,+ < $ =- F
< combo ) A underline italic bold < $ &! &
. ! F š ND \- Š < %A =- F () - Š
: ! Š 9 - richtext () - A+ Š F () - %
Private Sub Form_Resize()
RichTextBox1.Width = Me.ScaleWidth
http://www.ehsani.org/jooti/
51 n+1 6
. cut [M ) N A + AF
( „ &@+ - * + h sel ! %L :< š Zžš
. $( ( select) Q , - 5 +
: Clipboard
.1 SetText
. . %+ ! ! %+ %T + M clipboard % + C,
< 05+h -) ! A+5 @ 5+h - + M
! =" ( Z =- F ,*+ < =+ F 5 ) RichTextFormat
(. - ,*+ 5 < 0 5 +
2. GetText
settext + M - + ND + M. - . %+ clipboard 5 + C,
.="
http://www.ehsani.org/jooti/
52 n+1 6
3. GetData
VBCFBitmap : ND < $ =+ F . - P+ clipboard C,
.=" VBCFMetaFile VBCFDIB
4. SetData
. A+ P + ! %T + M C,
5. Clear
clipboard N ! %T <
‘ %+ # ! : clipboard.clear & % ! .
File < +
Private Sub mnuFileNew_Click()
Dim ret As VbMsgBoxResult
ret = MsgBox("Do u want to save the changes?", vbYesNoCancel, "MiniWordPas")
If ret = vbNo Then
RichTextBox1.Text = ""
ElseIf ret = vbYes Then
mnuFileSave_Click
End If
End Sub
Private Sub saveit(Optional fname As String = "")
CommonDialog1.Filter = "Rich Text Format|*.rtf|Text File|*.txt"
If fname = "" Then
CommonDialog1.ShowSave
sFileName = CommonDialog1.FileName
Else
sFileName = fname
End If
http://www.ehsani.org/jooti/
53 n+1 6
sFileName = CommonDialog1.FileName
If Trim(sFileName) <> "" Then
If Right(sFileName, 3) = "rtf" Then
RichTextBox1.LoadFile sFileName
Else
RichTextBox1.LoadFile sFileName, rtfText
End If
End If
RichTextBox1.Refresh
End Sub
$ Printer ! P A- 5 Printer +
( - 5 + enddoc ) [M .= - ND < N + =" %
. * + Ð # printer
toolbar +
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1:
mnuFileNew_Click
Case 2:
mnuFileOpen_Click
Case 3:
mnuFileSave_Click
Case 5:
mnuFilePrint_Click
End Select
End Sub
< + >! &! [ - $ < BJF -< ) !
U ‰ ,+ ! A ! %- F ND R +
(.= - ND R + % + .)
http://www.ehsani.org/jooti/
54 n+1 6
:
. ! ) =- F 4 < FontDialog ! ! F š % + .1
5 + &$ =- F ! $ +- =- F 4 < % 2.
.( Q , - C, BJF - ! ² 0
:
... toolbar + % J- + -
http://www.ehsani.org/jooti/
55 n+1 6
C Z windows M : N0 )*+
N 9 7@: ‘ A+ # ) - 9 % N T9 +
² & ND ! $ , + N - D) P+ - .
. $
. $ C windows N D
8
DLL • 5 . - ( -CN ) ! =" %@ < )
9
) ( 2" < . . %+ Windows API G-D - ) <$
« @ 5 N+ +- G-D « @ • 5
.=" ND • ! < DLL - ND < G- &. D I • - E+
=" SndPlaySound ND - ! ) < $ API ) %A « @ Y+ <
:=" ( +D ) winmm.dll
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA"
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
5 7- E2>F) ! ( P- BitBlt =" ( ! t . %-„ X A + AF .
(!(9 #
Public Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (ByVal hDestDC As Long,
ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As
Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal
dwRop As Long) As Long
: %A 5
Public Declare Function StretchBlt Lib "gdi32" Alias "StretchBlt" (ByVal hdc As
Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight
As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long,
ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As
Long
Add-ins\Add in … < + .= - G N ! °2H <) - - ,7
EA -+ manager
<$ 9. VB6 API Viewer <
Q , - LoadOnStartup Loaded
. .
+ N &$ . !
ND API Viewer ( Fš 9.
E F ND . ! :
„ H . ! load Win32API.txt
Q , - Declares 70 combo
! $ API ) %A - < !
! >! E ( +D )
$« @ . 7 ND « @
$ constant ! : 9 - Types Constants < $ C, API Viewer
. $) < $ api ( ( 2 " < $ type
8
Dynamic Link Library
9
Windows Application Programming Interface
http://www.ehsani.org/jooti/
56 n+1 6
windows N
! Restart
$ API - + $ & $ - - +) !< ! $
.N ! restart $ %A . $ -
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long,
ByVal dwReserved As Long) As Long
Private Const EWX_LOGOFF = 0
Private Const EWX_SHUTDOWN = 1
Private Const EWX_REBOOT = 2
Private Const EWX_FORCE = 4
http://www.ehsani.org/jooti/
57 n+1 6
: m2L V + ,+ 5 F .
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As
Long
Private Type POINTAPI
x As Long
y As Long
End Type
http://www.ehsani.org/jooti/
58 n+1 6
I= $ F . % : . .=" ) %
J- =J JH : HDC
dc A + ( 2 " GetDC(hwnd) • ) hdc 5 F . < .= $ $ dc
. P wnd
: m2L ) 5 F . [A0 + -
F BorderStyle I $ N F ) 0,0 ,+ picturebox
. ! Maximized F windowstate ! 2L picture
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As
Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal
hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As
Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
http://www.ehsani.org/jooti/
59 n+1 6
: F EA N Š
! $ Š ND - + ( F E Œ + EA ) .
http://www.ehsani.org/jooti/
60 n+1 6
CreateRoundRectRgn
CombineRgn
: INI < $ E F
( Å< * ! $ % + < G> F ) %L h - ini < $ E F
+- 4F H N ! = J < . - + A +- &4 N !
. - ¯ +
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias
"WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal
lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias
"GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName
As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize
As Long, ByVal lpFileName As String) As Long
Private iLeft As Integer, iTop As Integer
! F ini ! %+ P $
http://www.ehsani.org/jooti/
61 n+1 6
:5 &
password username ) Connect To ( M ( . $ ! < + - .1
. !( ÅE F 52> ( &
(stretch). picturebox () - ! # ! m2L 2.
http://www.ehsani.org/jooti/
62 n+1 6
(winsock.ocx)? T \] : F )*+
+- E F5 %T - ?+ ! < BJF + < $ + -
C +)D < . A + ! 9 + ?+ ! # < ! +% $
! =" %F ! BJF - ?+ ! <) - $ + - 5 N !
. 9 + +- !)
$ ,+ ! ( 2 + + 9T -) + - # =J JH
R7 5 + %X 7 9 ) - %X 7 $. ! R7 $
52> winsock 9 R 7 5 . -9 + Y+ 52> "
.=" + %> ( & Port 52> ( & IP(Internet Protocol)
Microsoft Winsock Control 9 G-D $ !)
. ! Fš
. ! frmServer < P frmClient %A F -
. $ winsock 5 + 7@: &! frmClient F
. $ winsock 5 + 7@: 9- "
. P + (Client/Server) 9P + / < *+ ]+ - I + - +5
9P + ' A + R 7 =" 9P + ) < *+ "5
5 ) . *+ R7 A+ =" =JF + L
=F N " FV" 9 # &$ R 7 N ! •Œ N +) 4mT
< *+ ) ! $ K X $ ) - + R 7 •Œ .=" Š M N !
. 9P +
‘ =" 4 + 9P + - P#
http://www.ehsani.org/jooti/
63 n+1 6
Winsock1.RemotePort = 10300
Winsock1.Connect
End Sub
$ ,+ ! =" < ?+ ! (IP address) 52> ( & B
[M ( ! : ?+ ! < +- $ +. E + ND
EL < A7 5+ - + . .=" ?+ ! N &$ IP V D ( & 5
= - 0 5 . %T =" 0 5 &$ $ & IP „ & H 7-
?+ ! 5 &$ IP V D Winsock1.LocalIP I =" ND - +
. - P+
+ - - + !. !( 2" 9- " - ) - + IP <
- + N ?+ ! HostName . www.yahoo.com - +
. =" winsock1.LocalHostName
ND $ ,+ & !< +- ! =" < port ( & Remoteport
.=" \-) U . -D E +
. " F %+ ( 2. V D & =" Connect
‘ ! ( =F =" " - P# •
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckConnected Then Winsock1.Close
Winsock1.Accept requestID
End Sub
%+ ‹ 2 ConnectionRequest " + " =" %
. F
ND J+ ) < @ =" winsock %>@F = @š ( $ N *- State
: %+ 5 M
Constant Value žš
sckClosed 0 %X 7 I² F C M
.= -
sckConnecting 6 R7 < H
sckConnected 7 ( R7
sckClosing 8 R7 N ! •Œ H
sckError 9 .( +D C M Œ
. A + •Œ R 7 Close
! A + º,*+ P + ! < J+ . A+ 7 =" Accept
.=" ( =" ( & !
‘ " 2 ( Š M) 0OX - P# •
Private Sub Command2_Click()
Winsock1.SendData Text1.Text
http://www.ehsani.org/jooti/
64 n+1 6
End Sub
( " F ! =" % 0OX ! P+ + M senddata "
< *+ + ). " 2 + R 7 E J+ K X ND .
(. A &- % F 9P +
‘ ! =F Š M - P# •
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim mydata As String
Winsock1.GetData mydata, vbString
Text1.Text = mydata
End Sub
. %+ %- F 5 " + % 0OX %
.=" ( " < $ = @ E! Bytetotal
h -. $ + + M Š+ P+ 0OX GetData
! =" 0OX X " + M A+5@ + M 0OX
. ( A- ( 2 " ND ) +
‘ ! •Œ R7 - P# •
A + ( 2 " close + ) ! 5 <
. ( R7 0OX N " F • + ! !=
< :R7 $) - " $ , + . * + •Œ R 7 %
. ! \-) U . ND ( ! 7
Private Sub Winsock1_Close()
Winsock1.Close
Winsock1.Listen
End Sub
2, \] $ '
N + H . ! E 7 =# - ! %* +)D + - N +
! - $ < 9 P- N $ <$ !
: P ?+ ! ) < ! V D5F .
:< *+ !
Private Sub Command1_Click()
Winsock1.Connect "127.0.0.1", 10300
End Sub
http://www.ehsani.org/jooti/
65 n+1 6
: 7
9P + ?+ ! N < *+ ?+ ! ! < +-
! +- IC ! # $. ! !
http://www.ehsani.org/jooti/
66 n+1 6
D 1 : C Cb
IF %X "
: " "
if condition then statement else statment
( P-D % ! UO . " =2. N + <(
m+ N )) Y+ N 0
"%- &- L5 Z %$ - ! NOF %- +
(ND E 7 E )%T - !% 70 $ R C,
!• a<b - + < J+ < G 70 I P - +
" (statement) " C, . %T % *. J+
. P+
) " ) " C, $ , !% L
A + ( 2 " %! > "
if condition then
statements
else
statements
end if
: Y+
. ! %?! c Š+ b a & !+ $ ,+
if a<b then c=b else c=a
For J>H
.=" º,*+ @F @ E&0 N ! A < J>H 5
for var = start_index to end_index [step step_count]
statements
next [var]
$ ND J+ [?" $ + start_index var Š +
$ ) [M . " end_index A + F š step_count () -
) var J+ A P+ - * + : " var J+ N Š
. ( * end_index
. ± for J>H ) 0 + ) E7 N + exit for "
& (exit for ) ( 2 " N ) < 0 J>H ! ! % L
. $ end_index+step_count J>H ) ± ) [M var J+
- + J+ 5 I=" step_count < ² 2* M J+
. 9 - %2 +
: Y+
L 0 h & + 7" m+
for i=1 to 100
sum=sum+i
next
J>HWhile
) E7 J>H R .=" R ! %- +) " < :
. * &- : 9. $ J>H 7- =" . . *+ # J>H
: "
http://www.ehsani.org/jooti/
67 n+1 6
while (condition)
statements
wend
Do J>H
Do [{While | Until} condition]
statements
Loop
J Q , - while . . * + # J>H < R
%- +) " Q , - until . . A + E&0 while J>H - +
. 7- R ! - *+ :
. ± do J>H ) N + exit do
Do
statements
Loop [{While | Until} condition]
< : ) [M R I - loop ) [M %X C, ! % L
!. - *+ : E H " [M * + # "
.=" %>7 =& - + until while < >! &>!
http://www.ehsani.org/jooti/