Professional Documents
Culture Documents
Visual Basic Learning
Visual Basic Learning
N+1
:
$% # &
' ( ) !"# .
.
!,*+ $
http://www.ehsani.org/jooti/
n+1
!
"
$ ,+%
$% &$ '
!% &$
! () % *+
. - *- %&. " /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/
n+1
C! " S5+ !
=" I !
%. -) 5
%. -) N !
.= +D 5+
! P $ ND
5+
TOJ "
I - .)
9. $ ! %TOJ "
...
U
+ .I
http://www.ehsani.org/jooti/
n+1
&' ( (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
,-
*.
)*+
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 &!
http://www.ehsani.org/jooti/
Object-Oriented Programming
n+1
Figure 1-1
Figure 1-2
http://www.ehsani.org/jooti/
n+1
12
2:
Hello World
9 I 9 7@: ) .
m2L < %A
A+h
! $)
!(
:2-2
Hello World
"O! Y+
N+ !
! M CommandButton Label, < $
) EA
52
)*+
>! E
:
Private Sub Command1_Click()
Label1.Caption = "hello world"
End Sub
. !
>! Command1 ]&! <
ND < : ) [M
http://www.ehsani.org/jooti/
Command1 <
ND
! :
. $
) !
+-
n+1
- ! P
" , + -D
*- : + - .
. ! =
'
) < 0 & +%
$ !
2.
X
.
) %A
=" % + N &$ Caption . =" ND Caption I Label %
!
. * + ( 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/
n+1
. * + : %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 +
$
+.
M ND N
:
+! F +&!
(TextBox) 5 + 7@:
Label 5 +
: &! < N !
>!
! $
< X
!
: . ! (
- TextBox
!% +
( ) &! [?"
! TextBox 5 + : N +)
.
.
, Label
:5+
TextBox 5 + =
$
! $
< X E7 + . ! 9 - Label 5 + !
:%
) %
T -9 + J- %+ %
-%
.
%+ ( N *- % ND < $ +
=" (Text)5 + < H TextBox ) % L
#
C M ND < <
A + (Change) TextBox 5 + %
D
( +D
>?
! =" #
Quake EY+ % $ <) < M
.2
1.
2.
&$
.0
1.
2.
: ( . ! " M
1.
Private Sub Command2_Click()
Label1.Caption = Text1.Text
End Sub
2.
Private Sub Text1_Change()
Label1.Caption = Text1.Text
End Sub
<)
.1
:2-3
http://www.ehsani.org/jooti/
n+1
<$ T
A + Q , - %F
0
+- : +-
.
="
0 ND + - < $ % & $
! ! AF %&!
7
N G&*# H
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
. A+
2L 5 %F
0
rnd . " +
0
Q , - < [M . - P +
0
mL C,
: !( 2" ) !) N +(
5
int
%F
Int(Rnd * 10) + 1
U + F
Label
%>L
L O@F
B 5
- A <
(File\new project\ standard exe)
!)
: (g M
!
.
ND dblclick
)B
$
m2L <
End Sub
X,
$ 0
!
>! E
$ $ , &- ! & !< .
[M ! Q , - %>7
!
ND
-<
#
! : ND
! : (
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/
n+1
< G*,
&$
9.
Requare
: *+( 2"
" 5
A <
Tools\Option < +
! F &
+. ! Q , - Variable Declaration
L Dim " ) + N ! @ <
)
:
(integer)
mL h - )
RndNum
+ @ <
.=" ( +D +
$
,
+h - = T
:
-.
E ( +&$ & H ) + - ) ( m+
+ $ J+
( m+ 5 @ .
. +
( m+I ( m+ ND
! =" N
E
!% $ +.
%P
+ @ Em+ 9 # $ ) C
$ , . . - *+(
E
BJF - * + @
ND
(
F<$
&$
+
Declarations =&
(
X,
- Option Explicit ! %>m+)
! @
5 . - +
( m+ N ! 5 @
9 - private public < >! &>!
( 2 " Declarations C,
BJF dim < : < >! < $ &>!
$ +U
. +&
+
( m+ Public . - * +
.(dim - +) A +
m+ F
ND Private
&0
+ A + 2H
%>@F J+ +
! %- +)
+
< &0 X
A + @ Declarations C,
!% $ +.
. +
F5F 5 )
- *+
I F
%@. F
E
! % $ + .( - P +
"
4F H) - * +
) %@ . -
&0 X
< &0 X - * + @
:( ! )
! :
) Y+ . - + 5 ) 5 F 5
Private Sub Command1_Click()
Dim x As Integer
x=x+1
Label1.Caption = x
End Sub
Label1.Caption
&!
. !
>!
. *+(
2L J+ ND F C M X
Label
. (x=x+1) * + %>7
J+ ) *
( N *- 1 0 . " , + ! =" N &$
< *+ # 0
!
>! $ P
:
+-
H Label
N "
F .
http://www.ehsani.org/jooti/
K @ ) !
4!
(
: +
&! <
!
*+ @ x +
%A
ND J+
- . * + ( C &. + . *+
# ! A &) [M ! E T 5
! < 4F H
" +
n+1
10
P + 2L
:
! :
T
+-
J+
.
*+ @ (
! 5 9P :
static
A+
dim
>!
...
&>! H
5
.="
F
G-D
.=" ( ! 2H
%>7
J+
< @ =*.)
: $ +h Data type
Storage size
Range
Byte
1 byte
0 to 255
Boolean
2 bytes
True or False
Integer
2 bytes
-32,768 to 32,767
Long
(long integer)
4 bytes
-2,147,483,648 to 2,147,483,647
Single
(single-precision floating-point)
4 bytes
Double
(double-precision floating-point)
8 bytes
-1.79769313486232E308 to
-4.94065645841247E-324 for negative values;
4.94065645841247E-324 to 1.79769313486232E308 for
positive values
Currency
(scaled integer)
8 bytes
-922,337,203,685,477.5808 to 922,337,203,685,477.5807
Decimal
14 bytes
+/-79,228,162,514,264,337,593,543,950,335 with no
decimal point;
+/-7.9228162514264337593543950335 with 28 places to
the right of the decimal; smallest non-zero number is
+/-0.0000000000000000000000000001
Date
8 bytes
Object
4 bytes
String
(variable-length)
10 bytes +
string length
0 to approximately 2 billion
String
(fixed-length)
Length of
string
1 to approximately 65,400
Variant
(with numbers)
16 bytes
Variant
(with characters)
22 bytes +
string length
: 2 EH
http://www.ehsani.org/jooti/
n+1
11
N
- + - ) %>
4=" 2 ! B C, IC, 5
5 =J JH . 7 &+!
! N # .=" + - C, 5 &G+
) %>
-%
!B
! < +- N
! ! ="
[A0
. $ &- % &$
A+ !Q
A
. A+M
. - + P- =" ! %&! +
%
!B
! < +:
+- % 7) 7:
&$ * +
! B ) =7mL % &@+
. A+% 7)< F
A+U + F
+!%H
A+
OY+
+! " +
+- $ !
! :
- + %> &
EA <
.
!
windows media
! ! ! ND = - %+ % ! #
player
3 5
0
! 123
$.4
! OY+ ( ! = 0
$
- " ). $ -
!
0 .1
(file < +) # =&" + 5 T )
9. 5 D exit !
0
%@ = - 7 0 /0 =" 5A&+
!
: ND &
. ="
.
N !)
%H X G-D <
!B
" *
N
! X 2.
+N *! "
O0 < 7+ N
! &@+. !
$ ,+< F HN
! ! %T H
- ND K X &$ N
.
& +N
!
) # $
!< 9F undo
5! !
" ) 3.
&> + 5! M E F NOF :
P + % ) . = - &H
! 4.
(!5! M ND ! =" 5 U 4 +
%2> ,+ < $ J >" $
!.
4 E
! B 5.
4 N
J >" H
&
+. *- 7 +
!
4 5 G
FCM +
!
.
option setting < +
+5T
Q
! B" X
A < .( - 7 ( M ) ( " 6.
! . [M .
!
windows < %
N ! !
% +
7
N 5 &$
. ) ? )
X,
&
+- . != J
+4F H .7
.(
( !Q,- % &4
#
!
5 D !
: 3 EH
0) .9 ( !Q,- !< 0 !
P
!
$
%+
. A# ! =" + % , 3
:
A + ( 2 " if %X
" ) < . & <
If Text1.Text > RndNum Then
Label1.Caption = "random# < " + Text1.Text
ElseIf Text1.Text < RndNum Then
2
.
http://www.ehsani.org/jooti/
UI (User Interface)
3
n+1
12
if ) @ %J +
-)false .
- *+
70 .
) [M B 5 T
(="
: then
9 - ND R
. .=" ElseIf
!
+R
"
7! =" if
" C, elseif then 5 T ) . * + : else
<
P+ >
ND
. - *+ :
R
.
. A + ,*+ ND %P F
*
"5 N
- +A" M C
m
. &H
.
( !
J+ mL 0
- P# ! ( +D C M
. A &- < P ," + @ - + 9 +5
h -E 7
=" G + . ! %+ E 7 mL 0
text1.text !
h -E 7 !<
+
P+
!( 2" %" h -E 7 )
< +
7 %M !
h - E 7 OA*+
A < .="
5
. * + ) m2L 5 M %A# ! ( M .
view\imidiate window
.
7 B
B
ND
!
"
- +( M
:
!
) "
Print 2 + 3
" 5 <
%T .=" 5
Print 2 + 3
mL
A+( 2"
CBool(expression)
CByte(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CCur(expression)
CSng(expression)
CStr(expression)
CVar(expression)
CLng(expression)
N ! &: <
)<$
% @ . * + 23
.=" ( ! mT $
) > ,+ h E 7 <
boolean h Byte h Date h Double h Decimal h Integer h Currency h Single h String h Variant h Long h -
E 7
E 7
E 7
E 7
E 7
E 7
E 7
E 7
E 7
E 7
E 7
Print Cint(2) + 3
.
. A
!5
) ="
F &H.
E F5
http://www.ehsani.org/jooti/
n+1
13
.=" (
( ! %H X 5+ ! % ( " F )
7 ) %>
&
!
U 4+ 0 7!
- + A
( O0
! $ ,+
F<
# ! 7!
5 &$ <
A
!5 $V + I
( ! %H X
textbox 5 + N ! M < (clr) 5 M # =&" &!
.
P+N
( G0
ND ! 5
- ! ="
R
! $ +
!% &$
J+ ! $ (cp) &!
5 )
$
- + I< 0 < $ &! + .
- O7
ND < $
:
) 7 < ! $ &!
<
!5
%!5 . $
A-D ) C ( . $ !
ND 5
-< < G (
Label1 I Label1.Caption=1 !
.=" P A )
A2
,*+ I
( ! %H X ! < + .=" ND = L Caption %
< G+ &! &$ 5
( A- 0
- . . ! ( Pcommand1 ta 12
G
. * + %&. " /0
$ cp &!
! ! " =" G .="
E 5 I $
cmdCmpare
<
,*
ND h - % H
N
!
< X
<$ - *M )
: ... Label < lbl command < cmd Y+
: =" < 9P+ - < =F " A + (
L
Control type
prefix
Example
Check box
chk
chkReadOnly
cbo
cboEnglish
Command button
cmd
cmdExit
Common dialog
dlg
dlgFileOpen
dir
dirSource
drv
drvTarget
fil
filSource
Form
frm
frmEntry
Frame
fra
fraLanguage
Image
img
imgIcon
http://www.ehsani.org/jooti/
n+1
14
=H -
ImageList
ils
ilsAllIcons
Label
lbl
lblHelpMessage
List box
lst
lstPolicyCodes
Menu
mnu
mnuFileOpen
Option button
opt
optGender
Picture box
pic
picVGA
ProgressBar
prg
prgLoadFile
RichTextBox
rtf
rtfReport
StatusBar
sta
staDateTime
Text box
txt
txtLastName
Timer
tmr
tmrAlarm
N
- %+ G2+ N
X , < @ < $ @: + <
ND - [?"
ND + .= N ! paste copy
! 5 ) %@ - .
m2L 5 ( & BJF . A.4
-< !%
<$
<
. : A! ND
%>7 ! P
! 0 %
! - +
*+<
P- General C,
. - .
&$ % @ - * +
D $
G-D
%A
! #
- .
!5 < H.
F
m+[ ! $
G-D
D
"
$
cmdKeyboard
$
&! (Name) . $ =7Y+ Q : ! =" $
!)
D
$ ,+
http://www.ehsani.org/jooti/
' ( # MSDN
!4
n+1
15
&! [ . !
h
2L &!
5+ - + $ &
.
. + = - G+
-+. !
G-D
( P$
!5
(index)[ - = L H
)
G
7T .
I
&!
2L I
! $[ A+
.
ND caption
)[ - T +
. ... 3 2 1
$caption
$[ ) =" < P 9 # & < $caption
.
$ [ - N + & <$
<
A + ="
D
! #) %
. *+ L
( F 2
[ - ( -
!<
&G2 A-D <
NO0
[ - +.
.( F 2 ND <
: $ &!
%$
[M
: ="
! =" %T !
& < < !
%+ !
- &$
D<$
< " U
ControlName(ControlIndex).Property
%F index=1 5
A+
>! 2 &! < % .="
.=" 2
ND caption ! * +
.
0 OY+
. 0 ) Z <9 #
$ &! caption &
G .
textbox
% >P0 $ ,+
- %" 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/
n+1
16
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 >! %
BJF F $ . * +
- + cancel &!
BJF default &!
#I
A + cancel
! default
! ! $ &!
- + & H
K H
ND . =" (
- Label1
70 I Label
. ! ! <)
ND N +
BJF .
EA*+
ND
<) )
! <)
$ P ="
<) : 0Q,- <
!
!< !. !
-+
9 # &$ !
: ).
7(.=" (
: () + #
! $ hOX
!N
( R
.=" (
( ) N A+ 5 I ! 0435 - + < 0 V +
;)
<
( -
) A
0 - + $) $ *+( .
P
) N A+ 5 . $
!< D
! A <
!<
. !
+ <)
$ ,
: (
+< :
!
5
+ M
N )V H
- +
!
.
P
< %$
:
!%
1.
2.
3.
4.
5.
.1
J+
!M( !
% &! 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/
n+1
17
#
+!
0 ) Z <9 # textbox
! . 5.
< 0 < *0 < $ 0). ! EH EA*+ 5
* + error
(.
>+ - 9 - - * + h
2L
!
:% &$
<9 # - &- & ! " - " * &- ! %L
N
) .0
.
7
ND
$
%+ # $ . ! Q
5
$
! & .1
)5 T < J+ ! - enable - % L
P + (boolean
*+ #
!
J 10
< 0 . 2.
!
7- 0 . (. -9
="
! O+ ! U 5 )! A- %
: 5 &$
:
( ! 9 $ M ND ) =" G
N !
*+
! % [M . !
0) Z - ! .3-5
- < !
( $ + (keypress) *F
$ &! ) ="
0
.
run time
: ( . ! " 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
* .,/
01
n+1
18
<)
! %- +)
(enabled=true)
( ! 7@ <)
$
! enable
+h
!5
&
<
%$
&
A + ) ZD (
2.
Text1.Text = CDbl(Text1.Text) \ 10
( -&
<
/ ) < *0
J <
\ ) mL
J <
J
. A + ( 2 " mod )
3-1.
Private Sub cmdCmpar_Click()
End If
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End Sub
Private Sub cmdKeyboard_Click(Index As Integer)
Text1.SelText = cmdKeyboard(Index).Caption
End Sub
3-2.
Dim cmpred As Boolean
Private Sub cmdCmpar_Click()
End If
cmpred = True
End Sub
Private Sub cmdKeyboard_Click(Index As Integer)
If cmpred Then Text1.Text = "": cmpred = False
End Sub
4.
Int(Rnd * (CDbl(txtEnd.Text) - CDbl(txtbegin.Text))) + CDbl(txtbegin.Text)
.
0 E+
BJF $ textbox 5 !
5-1.
Private Sub Form_Load()
2L
!<
< *0
0 -
5-3.
Private Sub Text1_KeyPress(KeyAscii As Integer)
http://www.ehsani.org/jooti/
!N #
. !
! %&- ( D
*+h
7T
n+1
19
* B C
: 3-3
! %+ (
.%A F
=" %A F .
5 Q :.
&
&!
IE F V
%+ &0 +
2"
- " <$ 9
& 7 J +- 5
.
N C &- <
+: +-
N C &- +
J+ .= - ) < *
< F H % ,
J >" %P
9 # &$
D 5 F . < textbox
< +- +
"
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
DriveListBox
DirListBox
FileListBox
ListBox
imgPreview
drvImage
dirImage
filImage
lstHistory
ComboBox
cboFilter
OptionButton
CheckBox
TextBox
optPreview(2)
chkPreview
txtAddress
C &: +<$
= T C &: +<$< !
C &< !
: + < G> F C &.(
) O7 ! % G> F = T 5
P " %" " <
<$ - M
$E FN !
m+ <
C &- U C 9.
( N *- [A0
E F E+ ! V D C &-
http://www.ehsani.org/jooti/
n+1
20
Frame
& V
:
%A
$OptionButton ( -
fraPreview
%
!(
. ! E+ !
+$
. + .
( ! %H X N
! < + - O@F
( ! %H X N
! < + - N &$
m2L < N
J >"
$ 9 5
. !
E F
&
- + &
dirImage ! %
- *+E
+ $
" $B
5
5 .
7
?+ ! < $
. - *+ :
! drvImage
C &- ND < $ E F
FileListBox ! %>m+ V D : FileListBox.Path
. $
ND < $
)
DirListBox ! <
V D : DirListBox.Path
. $ N *. $ + N *- DriveListBox ! <
V D : DriveListBox.Drive
http://www.ehsani.org/jooti/
n+1
21
N *- FileListBox
dll exe < G> F A
.$
.
! % G> F ( ! 5 @ : FileListBox.Pattern
< . =" *.* F C M J+ . * +
.
*.exe;*.dll
ND
$ N *) = T
C &- <
P- < < 9 ListBox
! ListBox N + - P#
ND
) !
$
F < < >! C +)D <
+
P$ +
A- Q , - .
. A+
7T . - * +
< D ) E7
=
#
D
$
:
D !
!5 @
) Y+ . * + G -
:=
T)
DN !K H<
lstHistory.RemoveItem 1
:(
Q,-
D[ - 5F .<
lstHistory.ListIndex
:=
& N !K H<
lstHistory.Clear
J+ 5 F . <
Var = lstHistory.List(0)
.
> ,+ (Style)EA
!K H
Q,D
&! ND [?"
J+ 5 F . <
! 5 & %&!
ListBox ) %7 !
ComboBox
+ ! G-D )
5+ A
Z %> F =+ F %
BJF .=" =
$ , &- N #
A+( 2"
. !Q,( !5 @
*+ < )
H combo
!
.=" text= L
combo
http://www.ehsani.org/jooti/
n+1
22
End Sub
Private Sub cboFilter_Click()
filImage.Pattern = cboFilter.Text
End Sub
%-
FN
( N *- ) E7 ! %@ ) form_load
.=" F C M
DN !Q,- 4& (
Q,D
! * + : %- +) combo
>!
P+
FileListBox.pattern
ND 5 +
Q,D !
. !
m+ G-D
E F<$
9. N + )
9. (
DB
*+
%
M
BJF )
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/
n+1
23
" %+ 4 . -
P+
ND
P+
%A F . E F
) N
V D
%+ !
. " ,+
! ! 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<
+ optionbutton ! * + ( N *>! E
[A0 % L
:.
(
Q , - (1) ND
+- ) .
(.
form_load
ND R
Private Sub Form_Load()
imgPreview.Stretch = True
End Sub
.[A0 () - image - * + image () Private Sub Preview()
Dim pth As String
http://www.ehsani.org/jooti/
! :
+- 5 .
*+9
() + ! ). ! true
[A0 I = L
n+1
24
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
D %&-
"B 5 ) .
. - ,
:
%$
J+
G-D - - %7" + T %$
J+ $ 9 ) %@
. ! T
(
(
() ! % A0 )
$ [A0 !
!< !
%&
[A0
=" %7
# N . - P
lstHistory
.
9 - ico wmf < $ E F N
!
!< !
. ! @F Z frame $ optPreview( ,- # preview %
. $
lstHistory ) K H N A+
!
textbox
ND V D $ + N *- lstHistory ) [A0 %
. $ N *- ND .
%&- ( N *. $ - C &- [A0 9 - lstHistory ( ,- # preview %
http://www.ehsani.org/jooti/
.1
2.
3.
4.
5.
6.
7.
n+1
25
:
. ( 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
( ! F !
%+ change
! . . ! select
%+
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
< %
$ + N *- [A0
!
[A0
5 . . $ + N *- % A0 $ ND
http://www.ehsani.org/jooti/
<) 5 : 4F H <)
>! ! $ + ) %A
A+
>! + 5 +
26
n+1
%>A N &$
- 7- %A .
%+ K H +
5 %A
= Em+ [A0 $ !
X, . ) ! - *+
[A0 # =&"
. )
. % @ D %+ U
.="
[A0 J- ND <)
D
http://www.ehsani.org/jooti/
n+1
27
D*.
)*+
A 2 :1-3
&
D
. %+
%! V + < $
< * < $ ! <)
4-
$ +:
+-
5 <
< H E7 E F
T
$) E F
m2L 5+
! - &.=" frmMain ND - 0-flat
U appearance
%+ ! %+ F
5+ ! =" PictureBox
) F 9
!< P %
7 J PictureBox . ! =" 0-flat
F - + 9 - ND appearance
$ ,+ +. .
F
Y! !=" E+ ! F
9 N #
! ( 2 " imagebox ) m :
$ N *- BJF [A0
7"
. FCM X
- Stertch = L PictureBox .=" <
autosize . . A & U () - $
J+ ND Picture = L
.
%+
) - $
! true
2!
L5
=" ( 2<)
+- 5 : +-
7-) . -9 + ND V +
< P
$ +< F < !
%!
(!=" <
h F % < ! 5 *! :
7 \"
( >! V +)
,+
< !%
$ ,+
+< !
10 . % @ . ! M + <)
-& :
J- ND
\ " N N *- < .
( N *- m2L
7 \ " 10
! ) imagebox &$ 5 +
A + ( 2 " imagebox ) $ 7
< !N
$
! =" 5 Q :
="
: imagebox
ND [ - I $
F < imgRIP - imagebox
[M . ! %+
http://www.ehsani.org/jooti/
2" < @
n+1
28
< ).
! F +"
$
!
ND visible
!0
.( *- ( N *- : N +)
- P# +
: N +) ImageBox
D ) ( 2 " ! 5 < =H (
$ ,+ + ! A+
. A+
< ! N &$ J
load imgRIP(1) B
1[ imgRIP - imagebox
T ND <
.=" load
Private Sub picCowboy_Click()
Load imgRIP(1)
imgRIP(1).Left = 0
imgRIP(1).Top = 0
imgRIP(1).Visible = True
End Sub
%@ .
left =J JH
false
. ="
n+1
29
N !
< . A+
BJF ! 5 &> +
< @ [ &G2 A < . ! T < @ < $ [ : ! :
) ! = - N ! @ + <) #
[ - ) N #. - P+
. =" [ - 5 D )
B
$ imgRIP
" F (0I0)
! % $ imgRIP
@ ImgRIP.count
* %A count [M
( !h
2L
(...
2L [ - BJF % )
@ N #
( ! ! count-1
B ) +
,+
picCowboy
D
.
F %A
. !h
-D ) <)
< ! 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/
n+1
30
!$ . .
< *
) +5
( *- (
*F
5 shift < =" 2L J+
.=" 4
alt <
2
ctrl < 1
J+
%7 ! < $ =T H <
+ = - %>A*+
>! 3 $ . % @ - * + &: $
$ J+
%T . * + 7
J+ 5
(
(
*F
( +D ! ) $ 0 5
: !=
0 5 (2 < 7+
0) <
%7 ! =" 1 ND <
=" =&"
!
! $
I=" shift <
. =" alt %+ " ctrl %+
AND <
) . ) ,*
5 N +<
AND ) ( 2 "
(.
P- % :
) ! BJF - &- <9 # <
dec
1
2
3
4
5
6
7
bin
001
010
011
100
101
110
111
End Sub
V + EA N
: "
) <) 5 < 5+ . $
http://www.ehsani.org/jooti/
n+1
31
*+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
!
!( 2" N !N !
< %7 J
J+
borderstyle A
.
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 \ "
- 0 %&!
m2L <
.
7- 5
ND < :
$ N *- (
!5 @
( -
m+
<
!E
& F2
< $ T >.
>! N )
:
@ .1
.
, &- < !
T >. %
!
! < ! 2.
. -&
,- (
K $ < $ T >.
@ +D 3.
+D 5 H
& $ T >. %
,E
:2-3
http://www.ehsani.org/jooti/
+
)
D
+
n+1
32
(.=" F
=" N M Jpicture %
) )
- 7- )
B m+ < P :
< GP2" \- 5
! * + ( 2 " \- 5 @ < long
0 5
N ! ! + .=" 2L
%A*+ 16777215
5 &$ . = - < ( " ! G-D N ?" X , %& =*$
5
0 " 5
A + ( 2 " RGB7 ) * + E T
%+ (Red)9+ %T
!
. %+ <
N 0 255
2L
\- 5 N 9 + N
.=" (Blue)% D < D (Green)97"
. D =" \- 16777215 N + G-D !
$
RGB
255,0,0
0,255,0
0,0,255
255,0,255
255,255,0
255,100,0
255,255,255
0,0,0
192,192,192
\9+
97"
%D
C2
)
% - 2"
%A*+
<
!
=" \- " 5 !
N $ ,T \- +N
) - + =" =," 5+ - + $ & <
!5 .
. ! ( 2 " * + M : &$ ! ) (
http://www.ehsani.org/jooti/
!
M
n+1
33
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
B \-
!) B
http://www.ehsani.org/jooti/
,+ 5 F . 2.
n+1
34
&! ) %A ! * + %F%
5 MouseDown
(
*F V + < $
< (=" ND [A0
$ MouseUp)
. 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
Private Sub Form_Load()
X1 = 0: Y1 = 0: oldX = 0: oldY = 0
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single,
Y As Single)
X1 = X
Y1 = Y
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single,
Y As Single)
If Button = vbLeftButton Then
X2 = X
Y2 = Y
Picture1.Line (X1, Y1)-(oldX, oldY), Picture1.BackColor
Picture1.Line (X1, Y1)-(X2, Y2), RGB(255, 0, 0)
oldX = X2: oldY = Y2
End If
End Sub
"
: B line 5 +
A + M %>7 B line
7
!M
line
" ="
" 5T
G). A+
http://www.ehsani.org/jooti/
n+1
35
F ,B
"
D) E + " N A+ + - 5
.1
( !
. ! F (circle " )(
. $
!
\- 5 @ N A+ 2.
. $
!
& N !M=>
3.
:
. ! F +N ! load save N A+ .1
! [A0 )
RGB
0 " \- N ! E 7 < %@ 2.
(RGB
:% &$
.
7
picture1.image,LoadPicture,SavePicture ="
G .1
.=" 256 < 7+ N ! E 7
7 < ! 2.
: ( . ! " M
line
1.
Private Sub cmdLoad_Click()
Picture1.Picture = LoadPicture("c:\image.bmp")
End Sub
Private Sub cmdSave_Click()
SavePicture Picture1.Image, "c:\image.bmp"
End Sub
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/
n+1
36
Timer G :
%H
$
%&- (
F( )*+
ND
.=" )
< $ 9 5 Q : ) %A
.
! ="
P-) =0 " m +
: N +) 9 5 !
! : .
- %+ &
&
9
+-
.
4 3 ) C . ="
m+ )
& + !
X,
)
+N F
)
A- ( 2 " N
+&
L
) & ) ( 2 " E! . ! < . >: P < $ + . * &-
K ,*+ N +)
.2 < @
.1
#
. ! ="
! . $
!
$<
m+
) 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/
n+1
37
" + M
* + stop
var
true
false
Not
false
true
7.
*+( - .
+ M
start + &! N 0 . % @
*+( - .
. * + start I
7- start .
. A + not enabled
enabled
J+ < @ B
* + false
true .
A+
ND P
70
. * + true
false .
. ! =! H $ m2L
.
) N &$
!
( A+
ND
! !
! ! &
.
. -9 \-)
=0 "
.
:
+ - .1
%
- +)
! $
< X
F<$
) %A
=,
D
-%
- ! $
F < label
-(
MI
2.
:
!
% 0 " + - : =0 "
$ \-) N ! U + 5
=>
:% &$
http://www.ehsani.org/jooti/
n+1
38
... TextBox
Format
ND
!
J-
:%
- + - (g M
! =! H U
< ! % @ . ! ( 2< ! +4mT $ < ! N + <) N
=," < ) . -9
( " F %F
http://www.ehsani.org/jooti/
n+1
39
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
!)
< +
7
( M OK
next &! [M .( *- &
name caption %>7
name
caption .
+ . =" ( "
+
!
- + !(
& ! =J JH . ! M
+
+ ! + .
7
N
<7)
- + . ! %H X < @ < +
-9
http://www.ehsani.org/jooti/
n+1
40
H.
$ $ !
-> &! [?"
%+
.
F
+
$ !
%+
! ok . . ! E &A
.)
+
! select %+ < +
.
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
( & J " K )!
& )
& PopupMenu
&@+ BJF - - %>L < + %H X % 2 ( G: < $ +
)
( G: < + %
<
A-D < .
- visible
!% + -
ND < G- &. D ! . ! ( 2 " form.popupmenu
) + A
- + < $ setting I (top level menu)
$ ,+
yI * +)
-D + ! < J- x I B"
#
) ="
V +
,+ F C M
,+) * + )
-D + ! < J- \- M
+)
D
! A N &. D 5 D (.="
N !
>! E
*+
- (bold) \- M ! %& D &@+).
(.=" %" " E
$ J- ND
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
End Sub
!
<
P + < m+ < + $ + 5
5 < :< Z
. OY+
2+ - *+) !% :
- +
< +
* + ) listbox <
.
+
* + ) picturebox
! ="
-. :< +
! $ < =" %F ! .
P
. ! C L ND R + 9 mousedown
:&
M 9&
%+ )
+ click
+)
!
>! F
+<
.
. - + ! =" - &$ $ ! "
http://www.ehsani.org/jooti/
41
n+1
:
.=" G+
9 % A: $ + %H
ND - < G !)
< P ( M ="
+
.
.
( hOX
!
T +5
$ +
...
(h &+ space)
! ( 2 " &>!
) %>L < $ + - <
. ) - %+ ( 7
! < &>!
< G+ - N #
! $ <)
P+) =" File * &$ # =&" ) + 5 T
+5 )
D 5 D * &$ exit < + (
Game +
. *+ : $
D ") B
="
! =" ND
D5 D about =" + 5 D help < +
N *!
... = %?! N
- +- (
% 0OX
. $ +
. ! = 0 * &$
- " < $ 7- +
- " <$ +
( !
0 ND
! N # . =" ="
A + &$ ! < !)
(.="
:
. ! %H X +
- m
!% $ +-
http://www.ehsani.org/jooti/
6
X
1.
2.
3.
.4
5.
<
n+1
42
&
< P
<$(
2A
M
$ +
0 O L1M : N )*+
%>7 < $ + - E F 5
. A + F G-D
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
vbOKCancel
vbAbortRetryIgnore
& '
& '
Cancel
Ignore
OK
" #
OK %
Retry ( abort %
.
vbYesNoCancel
& '
Cancel
No (Yes %
.
vbYesNo
vbRetryCancel
!
& '
No
" #
#
Yes %
Cancel
Retry %
.
vbCritical
16
# 2))
+,
.
vbQuestion
32
vbExclamation
48
vbInformation
64
.
.
.
http://www.ehsani.org/jooti/
" #
& '
" #
- ./0
& ' #
4# , 5 67
89# 5 67
:6;# 5 67
n+1
43
vbDefaultButton1~4
> 4 #
?# < +'
@
vbApplicationModal
4096
vbSystemModal
%
.
C,
E
=>
AB
?# !
@ D
C,
@ D
#
#
" F
H
%#
<
$ EA 5 . ! =
M ! < $ EA ) ( 2 "
+
%H X < 4 + N &$
J
G-D )
! $!
- + - %P *
< $ = @ < BJF ! vbCritical L ,+ .(
2. ! - (
ND =7 ! = " H ND )
) ( 2 " =" %- m @
.
%&- $ &
+m+ G 5 ! A + !
.=" (g M *. ! M ( M N 0 : Title
(
&!
!
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 % @+
. ! &: 9 - $ vbDefaultButton1~4 ) %A
Constant
Value
Description
vbOK
OK
vbCancel
Cancel
vbAbort
Abort
vbRetry
Retry
vbIgnore
Ignore
vbYes
Yes
vbNo
No
(
I
F<
% *.
M !5
integre +
.
- &$
Y+
! &:
ND
: M % *.
J+
) ! $ &! )
! $
. - P+
J+
&!
BJF N #
J+ N ! ( <) ) - . + 7- +
ND - +
!
! ( VbMsgBoxResult
http://www.ehsani.org/jooti/
n+1
44
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 < ! <)
O L1M : 2-6
!=" 2+
! %>7
$ %&! $
%+ ! % <
) %A N ) (!
- !) ( 2< ! <)
$ ( M 5 ) %A
< ! =0 " ( ( ! %H X
.(!
P + !)
( M5
- + OY+
!) $ +
P
!)
7 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
I E F N ! ( ) < > ,+ < $ + !%
G
( !=
. . (
A + ( 2 " \<$ T
9: $ T 5 = # C> T .
$
.
! ( 2 " G-D )
- +9- +
$)
(ctrl+T) ! Q , - components...
-9
="
>!
Q , - Microsoft Common Dialog Control 6.0 * + )
.
C +)D
: 3-6
$( M &H
=- F Q , $ - + &$
- "
9 7@: <
!%
T
. !
m2L < %A I
%+ F 9 7@:
9 5
.=" % + - : N +)
&
-+ 9 5
open dialog : 1-3-6
&!
: 9 5
$
m2L < label
. !
:
) ! &!
http://www.ehsani.org/jooti/
n+1
45
.
9 5
! B"
!U
.
(
Q,- E F -( EA
%
( ,T
CommonDialog1.Flags = cdlOFNHideReadOnly
. * + K H readonly &!
) %A (
M5
.="
A+
: FileName
- + : Flags
Y+ < . !
showopen ) E7
.=" open - + J
9 - save
FontDialog :2-3-6
! M < $ \T ) > Q , - (
:
="
) \>F
.C &- m2L PM # < $ =- F C &- < cdlCFBoth
. PM # < $ =- F C &- < cdlCFPrinterFonts
.C &- m2L < $ =- F C &- < cdlCFScreenFonts
http://www.ehsani.org/jooti/
M
"
1.
2.
3.
n+1
46
4 label <
=- F
,*+ ! 5 .=" ( +D
- &- !
. A+
BJF !=
- )
. ="
&$ )
( " \- Q , . - &-
EA
I < ! EA
!
. !Q,- U
N A+ 5 cowboy + !
+) \7 \"IV + " !
T AF +
-
&-
E+ !
U : 4-6
- " < $ 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/
n+1
47
Form2.Show
!
: F
- + $ &
: + MN
+5 .
%+ F BJF
! L vbModal + M
. + %&
F
$
!
!
A + 7L ( ! L ND ! %+ F
A+ !(
) () !
.
&
F ND
7
F
- P# .2
%2,+ = +
F
$ ,+ .
. ! ( 2 " Hide )
< $ + &0 ! * &- /0 + A + m+
F " 5
. " N M (5 + 7@:
5 + - +) ND %+ &0
Form2.Hide
5 ) ND < $
O+ !
Unload Form2
$
%+ .
! ( 2 " unload )
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
<
Form 1 :
declaration =&
public MinReng as integer
Form2 :
Private Sub Command1_Click()
Form1.MinReng = CInt(Me.Text1.Text)
Unload Me
End Sub
- ND < $ +
F N &$ < +
4F H )
)
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/
F A ) E7
F ! % $ J+ . A+
n+1
48
Me.Hide
End Sub
.
.
( ! ( 2 " ND < $
%+ EA*+ #
="
&4 <
+)
$cowboy <
!
%+ F
! ="
<
.
( ! %2,+
F < X &!
FI
! E+ !
G inputbox ND )
F
! @ (new)
http://www.ehsani.org/jooti/
FU
F .
:
5
,*+
&4
!
!
:
< ) : P$
:% &$
: F
$
%+
: ( . ! " M
n+1
49
A
+-
F .
: V0 )*+
J-D
.<$E F
.
<
!
&$ !
! %+ ( 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
Microsoft
< "=
! F ND
(. -9 <VisualStduioDir>\Common\Graphics\Bitmaps\OffCtlBar\Small\Color
=" ImageList1
ND Image
ND ImageList
! F
F toolbar
[?"
! F &!
$ [A0 )
! $<
!
[ toolbar
$ combo
. ! F imagelist
. $
ND placeholder
ND ) N A+ . $
http://www.ehsani.org/jooti/
n+1
50
! %H X
$ C &-
) < $ +
! F $ richtextbox
" < $ =- F = T $ , + combo ND
. ! ND richtext =- F
Private Sub Combo1_Click()
RichTextBox1.SelFontName = Combo1.Text
End Sub
5 + > ,+ < $ @ ND
<
combo
: !
Q , - G-D ) %A
9 - richtext () -
http://www.ehsani.org/jooti/
A+
F () - %
n+1
51
- ND < ! B m+ h 2
F h 2 KO
ET
300 0
. ! $
< . () >L F 5 @ E F
. *- A# ! % ,*+ H )
F () - !
!< ! &
H
true ND checked ! $
toolbar <
9.
view < +
.
+5 N
- +
)
$ , + + -D 7 % +
. A + ="
"
N
richtext 7- + < $ >! 7T . ! ="
%>A*+
! %&- ( 2 " $ >! 5 ) N
!% $ 9
%T
.
<9 # - + < + - $ ! 7@:
=J JH Windows clipboard
( 2 " ND ) $ + " U
. $
ND = +
. !
.=" %
9 - Clipboard
Private Sub mnuEditCopy_Click()
Clipboard.SetText RichTextBox1.SelText, vbCFRTF
End Sub
Private Sub mnuEditPaste_Click()
RichTextBox1.SelText = Clipboard.GetText(vbCFRTF)
End Sub
&@+ - * + h
cut [M ) N
sel
! %L
$(
A + AF
:< 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
+
- + ND
+ M. -
. %+
http://www.ehsani.org/jooti/
clipboard 5 + C,
.="
n+1
52
3. GetData
VBCFBitmap : ND < $ =+ F .
4. SetData
5. Clear
. A+
%+ #
P+
clipboard
.=" VBCFMetaFile
P + ! %T
! :
C,
VBCFDIB
+ M
clipboard N
clipboard.clear &
C,
! %T
%
<
! .
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
If Trim(sFileName) <> "" Then
If Right(sFileName, 3) = "rtf" Then
RichTextBox1.SaveFile sFileName
Else
RichTextBox1.SaveFile sFileName, rtfText
End If
End If
End Sub
Private Sub mnuFileSave_Click()
saveit sFileName
End Sub
Private Sub mnuFileSaveas_Click()
saveit
End Sub
Private Sub mnuFileOpen_Click()
CommonDialog1.Filter = "Rich Text Format|*.rtf|Text File|*.txt"
CommonDialog1.ShowOpen
http://www.ehsani.org/jooti/
n+1
53
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
Private Sub mnuFilePrint_Click()
Printer.Print RichTextBox1.Text
Printer.EndDoc
End Sub
$ Printer !
- 5 + enddoc ) [M .=
P
A- 5 Printer
+
- ND < N + =" %
. * + # printer
toolbar +
< +
>!
&! [ - $ <
,+ ! A
BJF
! %(.= - ND
http://www.ehsani.org/jooti/
-< ) !
F ND R +
R + % + .)
n+1
54
. ! ) =- F 4 <
5 + &$ =- F ! $
.(
:
FontDialog !
! F % + .1
+=- F 4 < %
2.
Q , - C, BJF - ! 0
:
... toolbar
http://www.ehsani.org/jooti/
J- + -
n+1
55
C
N
9
&
7@:
Z windows
M : N0 )*+
A+ #
) 9
ND ! $ , + N D)
N T9 +
- .
P+
. $
.
$ C windows
N
D
8
DLL
5 . - (
-CN )
! =" %@
<
)
9
)
<$
) ( 2" < .
. %+ Windows API G-D
@ 5
N+
+G-D @
5
- E+
.="
ND
! < DLL - ND < G- &. D I
Y+ <
=" SndPlaySound ND - ! )
< $ API ) %A @
:=" ( +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
$ constant !
8
9
+ N &$ . !
ND API Viewer (
F
9.
E F ND
. ! :
H . ! load Win32API.txt
Q , - Declares
70 combo
! $ API ) %A - <
!
!
>! E ( +D )
$ @
.
7
ND @
: 9 - Types Constants < $ C, API Viewer
$)
< $ api (
( 2 " < $ type
http://www.ehsani.org/jooti/
n+1
56
SND_ASYNC =
sndplaysound @ =" %F ! % # + J+
@ !
!= ). ! F N
F declares C,
(.
Private
F
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA"
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Const SND_ASYNC = &H1
' play asynchronously
Private Sub Command1_Click()
sndPlaySound "c:\windows\media\chimes.wav", SND_ASYNC
End Sub
ND N N M < .
%+ C,M E F
=" E F V D .
5
7- MSDN . ! L %T E F 5 &$ - +
N )
$ API < $ & $ Y! - 2" + I - ,
ND < & $
P
.=" =," %&! VB N
- +- < 5
.=" C
$ API
$ &
windows N
! Restart
- - +)
!< ! $
.N ! restart $ %A . $
-
+ M
logoff
E&0 - + $ + - $ 5 )
! $< 0h - . *+E 7
.= - N ! T E < 7: h - +
! T )
) N
F
m+ 0
)
%
$I
$ : HWnd
>" % N ! L<
=" % ND - - + 0 5 . * +
- +
N
+%
. .
) - 05
$API
.
P
ND
$ object.hwnd
http://www.ehsani.org/jooti/
n+1
57
2 = #
% @ TextBox
H A+ !
: (
#=
%&! C +)D
). -
. %+
: m2L
="
,+ ND N
(! ! ="
"
V +
,+ 5 F .
: window
5+5F .
+ ! =" % $ ! 5 9 P- N $ ) %A ! 5
.
-
http://www.ehsani.org/jooti/
n+1
58
7! C +)D
: GetText
. - P+
$ 5 5 + X sendmessage 5 T
. - P + space
@ ND <
P + N &. D
space
"
+ =" N &$ ) < P
- =J JH
! sendmessage 5 +
. $ +
buf +
P + 5 + I="
ND D N &. D
%@
X ) * %A E T 5
="
X ND " N &. D
+ .=" (NULL) 2L %A" ! ! !
D ! !C
! ="
.
+
! !5
$
%&I=
dc
F . % : . .=" )
A + ( 2 " GetDC(hwnd)
F BorderStyle I $
! Maximized
N
F
!
,+ .
J=J JH : HDC
) hdc 5 F . < .= $ $ dc
.
P
wnd
: m2L ) 5 F . [A0 + F ) 0,0
,+ picturebox
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/
n+1
59
! $
ND
dc
<
bitblt
: F EA N
F E + EA
) .
CreatePolygonRgn
http://www.ehsani.org/jooti/
! Jm
n+1
60
CreateRoundRectRgn
CombineRgn
<
+-
: INI < $ E
*
!
$ % + < G> F ) %L h - ini < $ E
4F H N ! = J <
. - + A +&4 N
. -
F
F
!
+
<
ini E F
A- 5 @
$5
V D filename =&
.
. * + ( windows
!
http://www.ehsani.org/jooti/
ini
! %+ P $
n+1
61
\- &!
\- &! ini < $ E F
)
windows95 ! %
)
7
4) <
: . - <
:
<:
.
- %+ ND
&4 $ +& ! =" 9 ini E F
. ! ( 2 " $ api ) vb
" ) - +<
:
!<
"
A + 2 ! vb
Private Sub Form_Load()
Me.Left = CInt(GetSetting("myAPP", "Position", "Left", 10))
Me.Top = CInt(GetSetting("myAPP", "Position", "Top", 10))
End Sub
Private Sub Form_Unload(Cancel As Integer)
SaveSetting "myAPP", "Position", "Left", Me.Left
SaveSetting "myAPP", "Position", "Top", Me.Top
End Sub
!% G !
ND
MSDN
2+ + -
$ API
*
@T + <
. ! @: + = $
9 - http://www.allapi.net/ = "
.
Y+ )
:5 &
password username
) Connect To ( M ( . $ ! < + - .1
. !( E F
52> ( &
(stretch).
picturebox () ! # !
m2L
2.
http://www.ehsani.org/jooti/
n+1
62
(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
$
. -9 + Y+ 52>
"
52> winsock 9 R 7 5
.=" + %>
( & Port 52> ( & IP(Internet Protocol)
$
!)
Microsoft Winsock Control 9 G-D
. ! F
F . ! frmServer < P
frmClient %A
. $
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#
Private Sub Form_Load()
Winsock1.LocalPort = 10300
Winsock1.Listen
End Sub
) %A
N+
(winsock)52>
+
X,
52>
Y+
<$( &
10300 %>
( &
B
! EL (port)%>
B . A- ( 2 " $ 52>
"B ) !
!=
. A+Q,) &H
80 - + % M + .
$ %T &@+ 1024 < < $
(=" webserver R +
M 5 ) ="
*+
U . . A + EL (
Q , - %>
B
+ 52>
B
. - + %+ 52> \-)
!R7
="
http://www.ehsani.org/jooti/
< *+ - P#
n+1
63
Winsock1.RemotePort = 10300
Winsock1.Connect
End Sub
$ ,+
[M
(
EL < A7
= ?+ ! 5
+
ND
=F
="
" - P#
ND
J+ ) <
Constant
Value
sckClosed
sckListening
sckConnecting
sckConnected
sckClosing
sckError
A + ,*+
%
. F
%X 7
.="
I F C M
.= -
4 + I\-)
R7
<
(
R7
U .
R7
N !
.( +D C M
P + ! < J+ .
.=" (
. A +
R 7 Close
A+ 7
="
Accept
="
( &
!
" 2 ( M)
http://www.ehsani.org/jooti/
0OX
- P#
n+1
64
End Sub
" F
! =" % 0OX !
< *+
+ ). " 2 + R 7
P+ + M
senddata
"
E J+ K X
ND .
(. A &- % F 9P +
! =F
M - P#
.
h -. $ +
! ="
0OX
%+ %F
5 " + % 0OX %
.=" ( " < $ =
@ E! Bytetotal
+ M +
P+
0OX GetData
X " + M
A+5@
+ M
0OX
.
( A- ( 2 " ND )
+
!
R7
- P#
A + ( 2 " close + ) ! 5 <
<
.
(
:R7
$)
R7
.
0OX N " F + !
!=
" $ , + . * + R 7 %
! \-) U . ND (
! 7
+ H
. ! E 7 =#
!
: P
2, \]
$
- ! %* +)D + - $ < 9 P- N $
?+ !
)
< !
V
:<
http://www.ehsani.org/jooti/
'
N
<$
D5F
*+
+
!
.
!
n+1
65
: 9P +
C,
,*+ M
N N *- <
. - P+
9P +
< *+
!
+-
+ - N &$ %>
!5
P K X
*+( " F
D N ! M - +) %L
!
M N &$ OY+) " +
"
:
?+ !
IC
http://www.ehsani.org/jooti/
7
!
< +! # $. !
!
n+1
66
: C Cb
IF %X
: "
"
"
(ND
"
m+ N
Z %$
E 7 E
)%T
- !%
J+ < G 70 I
a<b - + <
(statement) " C,
.
"
+ <(
))
Y+
N 0
! NOF %- +
70 $ R
C,
P
- +
%T % *.
J+
. P+
" C,
$ , !% L
A + ( 2 " %! >
"
if condition then
statements
else
statements
end if
! %?! c
&
!+
: Y+
$ ,+
J>H
J>H 5
For
.=" ,*+
@F
E&0
N !
A <
.
(
* 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+
- + J+ 5 I="
step_count < 2* M
9 - %2 +
: Y+
0 h & + 7" m+
L
for i=1 to 100
sum=sum+i
next
J>H
" < :
# J>H
:
"
While
) E7 J>H R
.="
. * &- : 9. $ J>H
R
7- ="
! %- +)
. *+
http://www.ehsani.org/jooti/
n+1
67
while (condition)
statements
wend
Do
J>H
%- +)
* + # J>H <
R
Q , - until . . A + E&0 while J>H - +
.
7R
! - *+ :
.
do J>H ) N
+ exit do
"
Do
statements
Loop [{While | Until} condition]
< : ) [M R
I
- loop ) [M %X
C, ! %
!. - *+ :
E H
" [M * + #
.=" %>7 =&
- + until while < >!
http://www.ehsani.org/jooti/
L
"
&>!