Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
4
6
7
9
10
11
12
15
17
19
23
24
25
32
37
38
40
43
45
48
52
53
55
59
60
66
69
71
74
76
78
81
83
85
88
89
92
95
' $ %
! "
# $ $
$
() "
*
+, #
#
$
+
$
"#
2#
$, ,#
3 /
%
+
)-
#
0
$
+, #
.
#
$#
0
/
#
#
&
,
+
/
$
0 ,
$
4 $ %
$# &
$#
#,
$
.
$ $
$ % #
$
$
. $#
$/ 5
0
%
$
%
$
0
/
$
) $
0
#
378
)
0
#
$
$
%
#
# 0
$
$#
,/
0
3
0
,
! "
9
$ %
9
/
$#
$/ 5
:
<
&
$'
= (>#
$ %
$
%
#
.
/
-
# $
$,
$
0 /
$
#
) $
#
$
# #
D
.
$ %
- )
#
#
% /- #
#
$
4
@7 /
0
!
.
6 C @ B .
)
#
$
/$# /
- $ )
$#
#
/
/
% $#
0
/
#'/
#
#
$
)
$
/
0
/
0
#
#
$
$
$
(#
$
/# #
)
#
$
$
#
# %
$# $)
/ - )
,# +
/ # %
#
#
/ - #
?*
/
$
)
# / $
$
)$#
#
. #
0
$/
# %
A
/
#
#
/
$
/
),
-
# %
#
0
%
$ /
$
$ (#
&
0
$
$ %
$ /
$ ) $
6
* .
$
1
4ED.
F
F
.G11
. . C
F
F
<GCED
$
D (#
$
$ #
$
#
#
$
#
*)
#
$
0
$
$
$ %
$#
D
$
$ %- $
$
$# #
)
+
C
# =
4
*
# / $ =
#
% J
#
$#
?D
$
%- >
$
(#
$# +
.
#
# / $ 3
# +
5
#
%
? K
#
>G )
>
3
$ %- $ $, ),
0 0
/ ?
$ / # /
$
(
. #
$
#
$
0
D #
$
/ 0
5
/
+
$ %- $ $, ,#
$,
"
#
$ % $,
$ %
* H#
3
#
0
/ -
$ (
@ /
/
K +, ' $ $
/
0
$ %
*
$$
)
+,
$ =
# %
/
/
0
*B
#
/
.
$
@!
$
/
/
@
L5
=>
#
$
'
0
+
)
#
0
% /-
$ =
$
$
$
5? #
(#
$
$
# % * '
)
#
$
$
% J
# / $
$
#
>G )
?D
#
$ %
),
$ GM
=
)
7
$
#
$, ,#
#
+ H
!" # $%&' ( .
)
#
$ %
#
)*$ *+ '
)%!" ! #( .
!+%,$ '%+ !( D
%
#
#
#
%
)
0
0
#
&$"#%++ !( K # $
#
#
#
/
0
# %+ !
$ &+'%$ $( <
/
#
@
$
B
$,
*$ *+ ' %,# ! -%.
"# $ ' ! %. $
0
#
$
+
! "
#
0
$
/
$ =
)
0 +
$,
#
#
0
$
0
,# #%)%+ !( L %
3 #
$
+
, $, ),
/
C
"
< 0
)
#
$#
"
$ &
#
$
,
C $ $
$#
$ &
#
$/
#
) $
, % %
$
#,
#
#
0
@ $,
B= $
P
$
$,
%
# #
C $ $
"
%
$/ 5 #
$
$#
,# ,
+
$ 0
$ =
$ &
) $
$
#
$
#
$/ /
$/
) /
&
) /
#
$,
$ 0 #
$ =
+
%
)
#
$ 0
)0"
<
)0"
1 !" $( >K 5
1 !" ? .
)0"
.
$#
$ 0
1 !"
#
$ 0
.
#
$,
$
%
)0"
+ )2!
1 !"
%
$ = #
%
@
.
$ 0
$ 0 $,
$ 0 $,
$
#
)0"
$+ ) ! $ .
%
,#
$ 0 #
$ 0 #
0
B
$ 0
.
B .
#
$ 0
#
$#
$ 0 #
#
/ $
$
)0"
$+ ) ! $
.
/
@
1 !"
)0"
3
<
,# ,
B
< )0"
$ &
/
@ / /
+ )2!
$# $
#
#
)0"
)0"
$
(
+ #
1 !" (
% %
C
1 !" $
<
,# ,
$#
+ #
$#
%
,# ,
#
$ < 0
$/ 5
$ %
1 !" $ $,
>7 $
#
)0"
)0"
$
#
# #
$ 0
#
$
1 !" ? 3
)0"
+ )2! 3
1 !"
+ )2!
#
1 !" $
1 !"
+
#
$
$#
#
0 , $,
0
H%
)0"
$#
)0"
)0"
1 !" $
"
H
$
$ $
<
,# ,
1 !" $
0 -
'
%
.
< )0"
#
D
#
0
! "
)0"
0
)
/
,# +
.
$
#
1 !" $ H
#
) $
,
)
#
$
0
!+ ! #
) !"
/
)0"
5
6/ 0 $ !% +'%$ 7
.
#
0 , &. " $
D
,# , %
$
)0"
$ #
$
-
,
)
$
+'%$
,
+'%$ $
$(
$#
% %
#
$ =
! # '% +'%$
6/ 0 $ ! &. " 7
7
$5
#
+'%$
)
,
B
-
+'%$
&. " $
"
)
+'%$ #
&. "
'
"
6/ 0 $ ! +%#
7
! &. " 7
&. "
+'%$
@# #
' &. "
-
+'%$ $ #
C#
'
2! $
,
o 7
o 7
< +'%$
. $#
#,
<
&. " $
+'%$ $
) $
+'%$ $
#
$5
+'%$
+'%$ $
+'%$
@B G #
/
2! $ 1 $ & ' %
o
/
o G 0 /
D
0
#
0
2! $
+'%$ $ 0 / @ $#
$
$#
% ) $
0
#
=) $
D
!
o A
o A
+'%$
+'%$
0 /
$#
$,
= $
B#
$B
89
.
$#
$/
. .L D
$
+'%$ $
+'%$
/
. 3 G
@#
#
:,' +%+ !
#
#
$
0 $
)
- % /
0
0
D
(*
$
D
#
)
$
+'%$ $
/
/
G 0
+ #
&. " /
$
/
$#
# 5
)
G
G 0
% /
%
$,
+'%$
/
)
$
G 0
0
/
D
$
0
/
)
# )
$
/
)
. 3 G
,
. $#
)
#
$ >
+'%$ $
G 0
( *
$/ 5
#
)
5? #
1 # 5
)
,# , %
#
>#
5
?
,# , % $ $
$
)
$
&. " (,# , %
,# ,
$# %
#
0
% /
$#
$ %
! "
3
$
,# ,
)0"
#
$
% $
&. " ()0"
) $ =
+'%$
,# , %
,# ,
$
&. "
/
/
&. "
#
+'%$ . 3 G
D
! % G
$/
+'%$ $
&. " $
&. " /
#
$ G $/
. 3 G
$
)
)0"
&. "
.
&. "
,# , % $
)0"
)0"
&. " (
/ $ %
;<
G C = D # 5
$,
/
0 $
/ =
loNovia1.MostrarDatos()
#
% /
? loNovia1.cNombre, loNovia1.dFechaNacimiento
3
$/
5? #
&. "
>#
1 # 5
0 +
7
$
/
) $
$ % $, # ) /
&. "
/
+
&. " $
&. " 5
/
#
/ #
L,
$,
# $
#
+'%$
$ $
#
#
,
$ $
#
. 3 G
.D. 3.
3
$ $
H
$
1.!EG. 7D 33
! "
. 3 G
$/
0 +'%$ (
0 +'%$
3 7<3C L
/
+'%$ $ /
+'%$ G
#
0
#
-
/
5/
+'%$ &%$
+'%$
- / # 0
+'%$
G $/
.
,# ,
,# ,
,# ,
# ) %
! % G
.
7.1< . L
1
.
#
$
$
#
&. "
#
#
/$ L
- / $
$
L
1
@B
G 0 L
1
@B
? C%
+'%$ . 3 G
% +'%$ .
)
1
@B /
$
&. "
+'%$
.
)
.
)
G $/ C% ! % G $
7
$
+'%$
,# , %
$ $ +'%$
/ $
# / C4E3 @
B 3
% $
/
? G $/
.
)
? C% G $/
.
)
.C< G
!
+
/
)
.G11.!EG.
!
+
#
.G1
$
7
# )
+'%$
. 3 G
#
#
$
3-
$
. 3 G
,
# )
$
)
$/
$
,
# )
$
$
C $/ 5
8=
A ,
,
. .L D
+'%$
. 3 G
$
7 /
0 +'%$
3 7E
Local loNuevoSocio
CLEAR
loNuevoSocio = CreateObject("SOCIO")
loNuevoSocio.cNombre
loNuevoSocio.cApellido
loNuevoSocio.dFechaNacimiento
loNuevoSocio.dFechaIngreso
=
=
=
=
"Juan"
"Prez"
CtoD("03/01/1980")
Date()
loNuevoSocio.MostrarDatos()
loNuevoSocio.MostrarDatos2()
Release loNuevoSocio
Return
*
*
DEFINE CLASS PERSONA AS CUSTOM
cNombre
= Space(20)
cApellido
= Space(20)
dFechaNacimiento = {}
PROCEDURE MostrarDatos
? This.cNombre, This.dFechaNacimiento
RETURN
ENDDEFINE
*
*
DEFINE CLASS SOCIO AS PERSONA
dFechaIngreso = {}
PROCEDURE MostrarDatos2
? This.cNombre, This.cApellido, This.dFechaIngreso
RETURN
ENDDEFINE
*
*
3 $ $
)
+'%$ 3 7E 0 $
=
. , /
+'%$ . 3 G
% /- $
)
$
.
)
#
,# , % $
)0"
$
+'%$ . 3 G .
$
3
0 ,# , % @ $ = ! % E
B
3
0 )0"
@ $
L
1
@BB
; D ,# , % $ G $/
#
)
)
+'%$
3 7E
)
)
+'%$ . 3 G
$ 3 7E
. 3 G
% %
,# , % $
. )0"
L
1
+'%$ . 3 G
% %
@B
)
,# ,
$/ 5
. 3 G
E
@
$
,# ,
)0"
%
,/
)
. 3 G
+'%$ 3 7E
3 7E
$
)0"
/
B
$, )
0 $
$ =
/
$, )
$
0
#
$
$
0
+'%$ 3 7E
&. "
%
>0
)
)
$ 3 7E
)0"
(
3 0 ) $
Clase 1
Clase 1.1
Clase 1.1.1
Clase 1.2
Clase 1.1.2
Clase 1.1.1.1
Clase 1.2.1
Clase 1.1.2.1
@,# ,
%
$ #
)0"
$B
$
)
% %
6
$, ), $
/
Clase 1.3.2
$ GM
)
#
- #
% %
$#
%
)
)
#
Clase 1.3.1
Clase 1.3.1.1
1
.
Clase 1.3
/ $ % $
)
# #
3 %
$/ 5
7
$/
/
)
$,
$
+'%$ $ $ % 0
&. " $ .
! "
$# )
$ %
EC4 F .G1 EC4
>7 ,
/ $
$,
$, ,#
. .L D
. .L D
Local loNuevoSocio
CLEAR
loNuevoSocio = CreateObject("SOCIO")
=
=
=
=
$
%
$ )
= #
$ . .L D
6 %
"
$
$ $ D '
EC4 F .G1 EC4
with loNuevoSocio
.cNombre
.cApellido
.dFechaNacimiento
.dFechaIngreso
.MostrarDatos()
.MostrarDatos2()
endwith
)
$
"Juan"
"Prez"
CtoD("03/01/1980")
Date()
Release loNuevoSocio
Return
*
*
DEFINE CLASS PERSONA AS CUSTOM
cNombre
= Space(20)
cApellido
= Space(20)
dFechaNacimiento = {}
PROCEDURE MostrarDatos
? This.cNombre, This.dFechaNacimiento
RETURN
ENDDEFINE
*
*
$, -
6
)
$
%
3 $
0
' $
/ $
. $, ),
#
. .L D
-
#
3
$
&. "
$#
0 '
0
>7
-
. .L D
$
. .L D
$#
6
$/ $
K +,
/ - $
$ $
! "
.
0 '
$ $
$#
$,
! "
#
0
H
% /- $ 0
+'%$ &%$
)
D
/
/ /
+'%$ &%$
#
$
+'%$
! "
+'%$ $ &%$
7% PA "
$
$/
7
# - $
&. " $
#
7
$
7
$
$#
7 $/ A "
E
$
- $ #
- $
7 $$
5B
A
.
7 $$
# @
# B 0
7
7
&. " $
&. "
$#
&
&. " $ 3 #
$
$#
7
7
&. "
&. " $
$#
&. " $ .
/
$
$#
#
&
7
3
) $
7
#
$
0
) $
$
! "
$ %
E
#
1A7
) $
"
8LD
$
7
$
) $
$ $
$
&. "
. 0
$
3
) $
7
$,
) $
7
A "
7
$#
"
"
.$#
7
#
0 -
,# ,
%
)0"
% $
0
#
,# ,
)0"
$
$ 3
$/
)
1 !" $ G
$#
#
@B
." #
.
$, $
C HF 7 C74 F !EG DDH .
#
/
C4
C H
$/ 5
! $
7
) $
! $3
7
) $
6
7
&. "
$/ 5
$
&. " $
4
7
$
4 #
#
#
$
#
$
$
$/ 5 #
P
$
."#
E$
L
%0
,)
D /
L
"
$/
D
L
D A "
L
/-
- $
"
0
D. A
$ $
$
D. @ $
/
&. "
B
$#
&. " $
$
D.
."
D. 7
$
."
A
7
6
7
0 8@
"B
#
#
$,
#,
! $
7
$,
#
$
$
0
# $
#,
0 +
1 !" $
#
$, $
) $
#
D
.
#,
#,
4 P
3
/
) $
C!
@#
# $
) $
D A.D ! L
$#
B
0
$
#
) $
&. "
3 #
#
3
/
7
# #
= #
3% #
L
3#
$
'$
0
$5
C "A "
3 0 #
$
#
"
/
0
$
$
)
+
"
0
$#
$ $
3 #
C$
.
#
C
0 /
$ $
#
$#
0 /
&
A
.
#
7 $$
8LD
$#
#
7 $/ A " E$
#
#
#
$# = D /
C "A "
#
3
$#
/
8LD
8LD
$/ 5
8LD!
.
8LDC /
D
/
8LDC /
$# 8LD!
#
! "
8LD
! "
8LD!
)
$#
C /
/ 8LD $
7D 3.3 K<. G
D
8LDC /
) $
1 3
$ &+'%$ $=
3..G @ " #
3..G @ " #
.$# B
.$# B
H
0 #
7 $
%
% /- $ 0
+'%$
+'%$ > .%
7
# $
/ $
+'%$ ,% #
.
B
+
! "
$ &+'%$ #
0
$ &+'%$ $ # 0
@
$/ 5
$,
%
#
<
) $
$ @
1 &
7 . G1 7D 3.3
3
.
. .L D
$ +'%$ ,% #
@
%
$# #
%0
7
D +'%$
$ &+'%$ $=
6B
$
% $
6 . .L D
$#
+
@. .L D
6B
1. 7D 3.3
$
=
SG J! S
$
7 . C. 7D 33
+'%$ $
#
%0
7
$
$
#
%%0
! "
1
+'%$ $ D $,
$ %
+'%$ $
$ % $,
0
$ & &' " +%
+'%$ $
>H #
0
# ) /
$
$
5
@
#
)
0 /
78
B$ %
- $
$
/
$# $
$
0 $
)
$# $
#
+'%$ $
"
//
//
//
$#
A C G.3 78B #
$
.
+'%$ $ #
$ $
+'%$ $ &%$
% $
$,
! "
,
0
! ?
% $
# #
.
/ .
) $ H -
/
) $
0 $
8?
.
+ $
$#
$ /
%
1.!EG. 7D 33
) $
$, ) $
) $
#
$
)
$ 7 . C. 7D 33
! "
GM
>K 5 )
7
! $ )
7 $
$ ?
+'%$
$
%0
/
!
! $A
$
!
/
$
!
+'%$ ! $
$
+'%$
L<D E 3 78
! $A
$5
)
L<D
L<D E 3 78
" +'%$ ! $A
% /
"
.
%0
+'%$ ,% #
+'%$
E 3 78
$/ 5 )
5
! $A
+'%$ ! $A
%
+'%$ ! $
I
% /
/
@
# #
%
$ 0 $
$/
,# ,
GM
GM
) $
! $A
GM ;
6 / $
P
) $
$
/ $
@#
P
0 ) $
>7 $ % $
#
?.
7C D T
0
0 +
,/
!
$
T 3 0
!
! $A
! "
GM I
>K 5
K
L<D
!
/
% $
%
0
E 3 78
! L<D
+'%$ /
0 +'%$
E 3 78
! $A
% $
$/ 5
# 0
$
0
//
//
+'%$
0
0 +'%$
+'%$ ,% #
//
/
H 0
$#
>
+'%$
$
//
+'%$ > .%
$,
-?
! $
! $A
$ GM
D +'%$ ! $A
0
@ % B
+'%$ ! $ .
,# , % $
)0"
$
+'%$ ! $ ,
#
+'%$ L
0
@ % B
+'%$ ! $A
.
)
,# , % $
)0"
$
! $A
,
#
$/ 5
,# , % $
)0"
$ ! $
3 $
,# ,
0
%
%
D
D
D
$
$
$
$
a.
b.
c.
d.
$/
0
0
BackStyle
Left
Top
Width
I;
9
=
=
=
=
$0 $
$ $
+'%$ L
# #
# #
%
4
0 (transparente)
2
25
40
%
,=
L
5
)
0 +
L
$
a.
b.
c.
d.
e.
Caption
Height
Left
Top
Width
C% ! $
$
,=
= OK
= 27
= 228
= 60
= 84
/$ =
@B
GM N
D
/
$
$
/
>H
5%
) $
/
@B? D /
)0"
)0"
! "
)0"
EGEC
=(
@B
) $
) $
/$ =
GM O
%
) $
$ $
P
*
%
>K 5
1 5
@( *
)
# ,$
L
$/
-?
) $
= (# ,$
#
$
# ,$
/
+'%$ + !" !
L
$
%
%
0 $
0
%
! $
>
L ! $L
E 3
+'%$ L
&. "
U7
L<D
L ! $L
,# ,
0
//
$ $
) $
*B .
3.C 7D 33DEA C !
3
#%
/ $
%
/
'
/
# ,$
) =(
#
,
0
#
/
,
>7 $
/
( *
@(L.G3
&. " L ! $L
5 ?
/$ =
.3* (.
@
% $
$ # $
*B
B#
! "
3% J@B
VVV0
,WWW
) $
$ #
GM Q
$
% $
-) =
7
! "
# $
+'%$ $
.
#
$
+'%$ L.G3 .3
"
$ 0
&. "
$
$,
) $
$
0
L ! $L
# ,$
.
-
% /- $
$
0-
&. "
) $
0 /
$/ 5 /
+'%$ L.G3
GM 9
-
/ 3.C 7D 33DEA C
% /- $
?
/
3
L<D
E 3 >#
//
/
$
//
3.C 7D 33DEA C
' # ,$
5
D
0 /
$ $/
# /
,# ,
)0"
$( H
=
'/
#'/
)
$
#
/
,# ,
,# ,
/
,# ,
)0"
)0"
)0"
. .L D
loNuevoGerente = CreateObject("GERENTE")
with loNuevoGerente
.cNombre
= "Mercedes"
.cApellido
= "Candia"
.dFechaIngreso = CtoD("21/03/2009")
&& Esto es un ERROR
.PonerSueldoGerente(5678901)
endwith
Release loNuevoEmpleado, loNuevoGerente
Return
*
*
DEFINE CLASS PERSONA AS CUSTOM
cNombre
= Space(20)
cApellido
= Space(20)
dFechaNacimiento = {}
PROCEDURE MostrarDatos
? This.cNombre, This.dFechaNacimiento
RETURN
ENDDEFINE
*
*
DEFINE CLASS EMPLEADO AS PERSONA
PROTECTED dFechaEgreso
&& dFechaEgreso es una propiedad
PROTEGIDA, por lo tanto es visible en esta clase y en todas sus
subclases.
HIDDEN nSueldo
&& nSueldo es una propiedad OCULTA, por
lo tanto solamente es visible en esta clase.
dFechaIngreso
dFechaEgreso
nSueldo
cNombreJefe
=
=
=
=
{}
{}
0
""
PROCEDURE MostrarFechaIngreso
with This
? .cApellido + ", " + .cNombre + "
DtoC(.dFechaIngreso)
endwith
ENDPROC
PROCEDURE MostrarFechaEgreso
with This
? .cApellido + ", " + .cNombre + "
DtoC(.dFechaEgreso)
endwith
ENDPROC
PROCEDURE MostrarSueldo
with This
? .cApellido + ", " + .cNombre + "
Transform(.nSueldo, "999,999,999")
endwith
ENDPROC
Sueldo = " +
PROCEDURE PonerFechaEgreso
LParameters tdFecha
This.dFechaEgreso = tdFecha
ENDPROC
PROCEDURE PonerSueldo
LParameters tnSueldo
This.nSueldo = tnSueldo
ENDPROC
ENDDEFINE
*
*
DEFINE CLASS GERENTE AS EMPLEADO
PROCEDURE MostrarNombreGerente
? This.cNombre
ENDPROC
PROCEDURE MostrarFechaEgresoGerente
? This.dFechaEgreso
ENDPROC
PROCEDURE MostrarSueldoGerente
&& Esto es un ERROR
? This.nSueldo
ENDPROC
PROCEDURE PonerSueldoGerente
LParameters tnSueldo
This.nSueldo = tnSueldo
&& Esto es un ERROR, nSueldo es una
propiedad OCULTA, por lo tanto no se puede acceder a ella desde esta
subclase
ENDPROC
ENDDEFINE
*
*
$
$
# #
/ %
$
&. "
G 0 .$#
#
# #
$
$
.dFechaEgreso = CtoD("15/09/2010")
! "
GM
;
>
?
.
)
$ &+'%$ $
4
0 +
! % .
#
(E
$ 0 $
# #
,#
$
+'%$
! "
#
GM
>H %
#
.
)
'
H
,
# #
$
#
> $
?D % $
- =
,
# #
#
/
$
# #
$
,#
$
.PonerFechaEgreso(CtoD("15/10/2010"))
) $ .
$ # ,$
/
#
@B
$/
/
-
3
.
F
$
) %
#
0 +
$#
$
$#
$ # ,$
! % .
@B*
$
$ 0 $
=
@
;INOB
>
! "
#
5?
'
%
# #
#
3
$
0 / #
+'%$ 6. .GC.
G
0 / #
+'%$ 6. .GC.
$/
0
3
#
+'%$ .L D. 1
0 / #
+'%$ .L D. 1
#
$ &+'%$ $
+'%$ .L D. 1
# #
! !"
%&
'& (&
! !"
%&
'& (&
$5
@#
$ $- $
,
$,
3
@)
&. " $ #
B
$ )
#
$#
# #
$5
#
@
+'%$
.$#
>7 ,
# #
1 # 5
#
+'%$ ? >H
$5
/ ,
#
- $
#
7
G $/
#
1
C 5) X
7
X @$ 0 B
D
.$
GM
$
3 "
.
70
! %
G $
7
7
7
7
7
7
7
7
7
7
G
G
!
,
,
,
,
,
,
,
,
,
,
$5
$5
%
I
I
L5
L
1
@B
YY 7
G $/ H #
@B YY L
#
HG $/ @B YY L
% %
+'%$ 7DE.GC.
G $/ 1
G $/
#
)
$ $
# #
C 5)
# 5
$
.$
#
G $/
$5
G $ $
$
7 . C. ! L
+'%$ /
) $
. .L D
$
L 1E!H !
F
L 3
6
) $
$/
% $
$/ 5 # $
Local loMiForm
*--- Primero, creamos una instancia de FORM y la llamamos loMiForm
loMiForm = CreateObject("FORM")
with loMiForm
*--- Segundo, asignamos valores a las propiedades
.BackColor = RGB(64, 255, 255)
.Caption
= "Mi primer formulario usando clases"
.Height
= 600
= 800
.Width
*--- Tercero, le agregamos botones de comando
.AddObject("BotonOK"
, "MiBoton1")
.AddObject("BotonSALIR", "MiBoton2")
*--- Cuarto, hacemos a los botones visibles
.BotonOK.Visible
= .T.
.BotonSALIR.Visible = .T.
*--- Quinto, mostramos el formulario y los botones
.Show()
endwith
*-- Sexto, leemos los eventos
READ EVENTS
*--- Sptimo, liberamos al objeto de la memoria
Release loMiForm
Return
*
*
DEFINE CLASS MiBoton1 AS COMMANDBUTTON
Caption
Height
Left
Top
Width
= "OK"
= 30
= 50
= 570
= 100
PROCEDURE Click
WAIT WINDOW "Has presionado el botn OK"
ENDPROC
ENDDEFINE
*
*
DEFINE CLASS MiBoton2 AS COMMANDBUTTON
=
=
=
=
=
Caption
Height
Left
Top
Width
"SALIR"
30
650
570
100
PROCEDURE Click
CLEAR EVENTS
ENDPROC
ENDDEFINE
*
*
>K 5 )
7
!
%
0
$ ?
/
)
L .
0
L! $
# #
A
L
D
D/
7
#
#'/
/
7
/
$5
# #
/
;
I
N
O
Q
+'%$
3 DE
0
0
) $
0
/
/
#
#
D
$
. /$
/
+
$
/
D
$
. /$
/
+
0
#
&. "
@CB
/
$ $
0
# #
Z
/ *
$
$/
7 $$
$5
.
)
+'%$ 7 $$
# #
,
/
/
$
$/ 5
0
7 $$
# #
,
/
/
$
$
#
#
A
%
.
P
$
A
%
.
$ $
P
$# ,
7D 33@B
6
$/
11 7D 33
)
//
78
11 A .7C@B
/
. .GC3@B
#
'$
$#
EG3C G7.@B
6
%
L.LA. 3@B
6
/
$/
L <3. A @B
7
/
/
# #
) $
3.D A @B
D
+
A @B
7 $#
//
# #
5
7 . C. 7D 33
/
1 &
7 . C. 7D 33DEA
7
0 @ 0 - B//
7 . C. A .7C@B
7
/
$ $/
787D 33.3@B
6
) $
7 L
,#
# #
1.!EG. 7D 33
7
# #
$5
1E3 D H A .7C3
L
) $
1 1.! <DC@B
.
$5
/
)
6.C A .7C@B
0
6.C .L
1 0
0
0
$#
DE3C A .7C3
7
$
G.
#
/
$ $
$/
$5
# #
L 1E!H 7D 33
/
1 &
"
) $
.L3C C<3@B
#
$ #
$5
7
)
# $
. A .7C
A
/
@ 78B
%0
$5
//
/
A C 7DE.GC@B
1 0 0
#
$ $
# #
) $
$5
$#
.D. 3. 7D 33DEA
7
//
3.C 7D 33DEA
/
//
&
A .7C@B
7
0
$ @ 6B #
.G L. 7D 33
D
$/
//
G 1.! <DC
E$#
.L
$/
$/
3H3@ N9B
1 0
# #
3H3@ O B
1 0
3H3@ O B
1 0
# )
# #
B
0
#
$/
3H3@ O B
1 0 0
C4E3
0
#
#
$/
%0
378
# #
)
)
3
$
7
D
.
.
4
. .L D
$
$/
$#
0
0
0 ) $
$
7 $$
$5
P
/
C%
7 #
$
) $
$
P /
/
# #
%
# #
+'%$ ,% #
.GC $
A
/$ =
U (.
) $
Local loForm
loForm = CreateObject("FORM")
with loForm
.Caption = "Este es el caption original del formulario"
.AddObject("Boton1", "BotonCAMBIA")
.AddObject("Boton2", "BotonSALIR")
.Boton1.Visible = .T.
.Boton2.Visible = .T.
.Show()
endwith
READ EVENTS
Release loForm
Return
*
*
DEFINE CLASS BotonCAMBIA AS COMMANDBUTTON
Caption = "Cambiar ttulo"
Left
= 20
PROCEDURE Click
This.Parent.Caption = "Este es el nuevo caption del formulario"
ENDPROC
ENDDEFINE
*
*
DEFINE CLASS BotonSALIR AS COMMANDBUTTON
Caption = "SALIR"
Left
= 200
PROCEDURE Click
CLEAR EVENTS
ENDPROC
ENDDEFINE
*
*
>K 5 %
$ ?
$
! $ @
( /
*
# ) $
)
(
*B
&. "
0$
(*
( /
$/ $
7 LAE
3 "
35# $
) $
A
A
+'%$
$/
!
( *
LB
$ $
)
) $
# $
@
*
D +'%$
3 DE
0 /
! $
&. "
$ $
$
.
# #
(7 #
$
+'%$ ,% #
+'%$ A
7 LAE
P
A
7 LAE
$/ $
$,
# -) $
0
# #
*
.
$/
)
0
.
#
)
#
C%
C%
C%
/
) $
# #
#
#
@A
7 LAE B #
+'%$ ,% # B
# #
$
7 #
U (.
%U
D ) U I
;;
4
0
+'%$ ,% #
"
$5
) $
=
$#
+'%$ ,% # @
. .L D
$5
D
. .L D I 6 #
%
)
L
! % E
+'%$ .L D. 1 B
$
#
+
@B
F
DEFINE CLASS GERENTE AS EMPLEADO
PROCEDURE MostrarNombreGerente
? This.cNombre
ENDPROC
PROCEDURE MostrarFechaIngresoGerente
EMPLEADO::MostrarFechaIngreso()
&& Aqu se utiliz el operador
de resolucin de alcance para ejecutar un mtodo de la clase padre.
ENDPROC
ENDDEFINE
*
*
.
6
#
. .L D
$#
# # #
$,
$
$
G 1.A. 4 7. 3.
;I
# #
.PonerFechaEgreso(CtoD("15/10/2010")) &&
correcta de asignarle un valor a la propiedad
.PonerSueldo(1234567)
&&
correcta de asignarle un valor a la propiedad
?
.MostrarFechaIngreso()
.MostrarFechaEgreso()
.MostrarSueldo()
?
endwith
Esta es la forma
dFechaEgreso
Esta es la forma
nSueldo
?
loNuevoGerente = CreateObject("GERENTE")
with loNuevoGerente
.cNombre
= "Mercedes"
.cApellido
= "Candia"
.dFechaIngreso = CtoD("21/03/2009")
.MostrarNombreGerente()
.MostrarFechaIngresoGerente()
&& Esto es un ERROR.
.PonerSueldoGerente(9876543)
endwith
Release loNuevoEmpleado, loNuevoGerente
Return
*
*
DEFINE CLASS PERSONA AS CUSTOM
cNombre
= Space(20)
cApellido
= Space(20)
dFechaNacimiento = {}
PROCEDURE MostrarDatos
? This.cNombre, This.dFechaNacimiento
RETURN
ENDDEFINE
*
*
DEFINE CLASS EMPLEADO AS PERSONA
PROTECTED dFechaEgreso
&& dFechaEgreso es una propiedad
PROTEGIDA, por lo tanto es visible en esta clase y en todas sus
subclases.
HIDDEN nSueldo
&& nSueldo es una propiedad OCULTA, por
lo tanto solamente es visible en esta clase.
dFechaIngreso
dFechaEgreso
nSueldo
cNombreJefe
=
=
=
=
{}
{}
0
""
PROCEDURE MostrarFechaIngreso
with This
? .cApellido + ", " + .cNombre + "
DtoC(.dFechaIngreso)
endwith
ENDPROC
;N
PROCEDURE MostrarFechaEgreso
with This
? .cApellido + ", " + .cNombre + "
DtoC(.dFechaEgreso)
endwith
ENDPROC
PROCEDURE MostrarSueldo
with This
? .cApellido + ", " + .cNombre + "
Transform(.nSueldo, "999,999,999")
endwith
ENDPROC
Sueldo = " +
PROCEDURE PonerFechaEgreso
LParameters tdFecha
This.dFechaEgreso = tdFecha
ENDPROC
PROCEDURE PonerSueldo
LParameters tnSueldo
=MESSAGEBOX(TRANSFORM(TNSUELDO))
This.nSueldo = tnSueldo
ENDPROC
ENDDEFINE
*
*
DEFINE CLASS GERENTE AS EMPLEADO
PROCEDURE MostrarNombreGerente
? This.cNombre
ENDPROC
PROCEDURE MostrarFechaIngresoGerente
EMPLEADO::MostrarFechaIngreso()
&& Aqu se utiliz el operador
de resolucin de alcance para ejecutar un mtodo de la clase padre.
ENDPROC
PROCEDURE PonerSueldoGerente
LParameters tnSueldo
&& Esto es un ERROR, porque
EMPLEADO::PonerSueldo(tnSueldo)
tnSueldo es una propiedad oculta de la clase EMPLEADO
ENDPROC
ENDDEFINE
*
*
7 $ 0 $
6. .GC.
3
@B
# #
3
/
%
-B
+
#
>#
5
.L D. 1
$
?
#
3
.7<[ 1 D =
# #
)
$# /
#
$ + '"%
+ '"%
3
;O
3
6
@B
+'%$
,
$
#
$
$
$/
0
# #
+ '"% #
$
$
@ $
@
%
%
$
+
<
<
<
0 ,#
$
.
"
+'%$
$
"
# +,
D
# + $
/$ =
>K 5
+'%$
+'%$ &%$
G
$
$ , .CEK<.C
, 7 GC EG.
,
! "
/
?K
$
% 0 7 GC
0
D.3 78
GM
7 $ #
$ 7 GC
$ 0
D.3 78
+'%$
;Q
$ .CEK<.C
%0
$/ $
-=
$ &
GM ;
.
#
# #
O @#
# #
$5
D A.D #
#
$,
CEL.
CEL.
# #
B
$ =
/$ =
GM I
6 / $
) $
%0
$
7 GC D.3 78
/ $
. +'%$ %
#
$
.
0
0
$
%0
+
) ) $
! "
<.A
;9
$
+'%$
) $
)
$
/$ =
) $
0 -
J7
GM N
.
,
0
E
F*
7 GC
7 GC D.3 78 G $
D.3 78
$ $
$
0 +'%$ $ 5
,
,
$
$
.CEK<.C
) $
GM O
+'%$ $
#
$5
EGEC
) $
/$ =
GM Q
.
) $
F 0
"
# +,
+
3
0
$ 0 $,
,#
CEL.
# #
#
$/ 5 #
7 $ 0 $
# +,
#
$,
$#
.
$,
%0
7 GC
$#
$
#
.
$/
$/
"
$# % $
$# $
$
/
$#
#,
$#
.
$
#
$,
D.3 78
%0
$# $
H#
#
' $ #,
) $
$# $
<.A
$/ 5
0
#
37C
/ 0
/ $
#
$
%
%
$
$
<
<
<
+'%$
$#
,
<
D ) $
! "
/$ =
1 # 5
# #
$
$ $
"
GM 9
.
#
# #
@
# #
$5
/
B
$,
C$
C$
$ =I
# #
/$ =
This.Parent.Label1.Visible = !This.Parent.Label1.Visible
6 / $
) $
$
) $
0
<.A
/$ =
$5
) $
F VVV -
"
WWW
0
EGEC
+'%$
$/
)
$
$ %
"
#
<
+
<
1
=
/
! "
/$ =
- BackStyle
= 0. Transparent
- BorderWidth = 0
.
-
.
-
BackStyle
ForeColor
Left
Top
Width
=
=
=
=
=
0. Transparent
0, 0, 128
0
0
720 (o el que te parezca ms adecuado)
=
=
=
=
=
0.Transparent
192, 192, 192
2
2
720 (o el que te parezca ms adecuado)
BackStyle
ForeColor
Left
Top
Width
- Height = 17
- Width = 720
0
#
/
$
$
$/
$
3
/
5
/
$
$
$
#
GM
7
#
5
1 # 5
$ '
$ =
7
SG JL % F
G $ =
.
/$
7 #
0 $5
$
$/ 5
$/
# 5
+'%$
#
$
.
$5
# $
0 /
$ $
#
$
#
$,
/ G
/$ =
GM
>!
!
,?
0 ) $
L
.
) $
$
$5
EGEC
!
) $
&
/$ =
GM
.
) $
F VVV - )
I;
WWW
/ $
$ $
/-
. $
#
) $
/
$
#
$ &
$,
/$
#
-
)
$
+'%$
+'%$ $ $
)
+
0
! "
$#
0 ,
$#
#
/$ =
$ 0 $
GM
.
0
.
-
!
BackStyle
BorderWidth
Height
Width
'=
= 0. Transparent
=
0
= 23
= 720
.
-
=
BackColor
Curvature
Height
Left
Top
Width
%
$#
$ $ ?7
$
0
#
$
>
)
'
&
$
' # / $ D
0
$
/
$
II
#
$
! "
+'%$ $
$
0
.
-
& =
Height = 23
Left
=
0
Top
=
0
Width = 720
Label1.Alignment
Label1.FontBold
Label1.FontSize
Label1.Left
Label1.Top
Label2.Alignment
Label2.FontBold
Label2.FontSize
Label2.Left
Label2.Top
H %
,
#
+
=
=
=
=
=
=
=
=
=
=
2 Center
.T.
12
0
3
2 Center
.T.
12
2
5
"
GM ;
GM I
IN
'
$5
3
)
$/
' )
$ &
>
, $
!
$,
$,
5 $
, )
$5
EGEC
!
$
"
0
-
?.
'
% $
$
$
GM N
D
$
"
.
$ $
$#
"
$#
#
$#
A
)
!
$
$
$
L;
%
$
!
#
'
GM O
IO
/ #
0 )
0 ) $
$5
EGEC
!
'
$ $
/$ =
"#
$
$
) $
$ =
$#
GM Q
H - $
7 $
$
#
/
$
-
$
! "
# )
$
/)
C $/ 5
- $
0
#
#
#
"
0
#
$
IQ
+
$ &
,
# $
#
%
0
0
$ %- $ /
$ %
$ %
"
, $#
0
D %
$ %
$,
.
# - $ %
% $
/
-#
#
%
$
! "
/
'
/$ =
# #
7
$5
7D.
. .GC3
/$ =
/$ =
#
0
%
$
$
$ %
I9
# $
. $ %
$#
#
0
7
#
$
$
$
# )
+
$
$
)
)
$ 0
+'%$ #
#
#
# 0
$ $
$
),
.
! "
/$ =
$ =
1
1
<
/$ =
- BackStyle
= 0 - Transparent
- BorderWidth =
0
- Height
= 299
- Width
= 331
/$ =
Height
Left
Top
Width
Height
Left
Stretch
Top
Width
Alignment
BackStyle
Caption
FontSize
Height
Left
Top
Width
= 32
= 149
=
0
= 32
) #
/$ =
= 237
=
7
= 2 - Stretch
= 36
= 316
/$ =
=
2 - Center
=
0 - Transparent
= (nada, lo dejamos en blanco)
=
8
= 15
=
3
= 282
= 324
'
+,
+'%$
)- =
$
)
)$ $,
+
BackColor
Curvature
Height
Left
Top
Width
BackColor
Curvature
Height
Left
Top
Width
% $
$5
7
#
=
=
=
=
=
=
0, 128, 128
20
243
3
33
324
=
=
=
=
=
=
/$ =
% $
$#
# #
%
/$ =
$5
=
*
/$ =
GM 9
D
/$ =
$5
$ $
GM
) ,
0 $
$5
. $5
$ # ,$
,
.
$
$5
+
0 ,
$/
#
3
$/
$
)-
)
0
0 0 ,
$/
* ) ,
)-
)-
GM
#
$
/
$/
)-
$ =
ThisForm.Fotos1.NombreFotografia()
H #
, #
$5
))
GM
7
,
5 %
#
,
) #
$
%0 3
/ ,
%0
,$
)
#
# $
0 ) $
$ & $ % $
#
$
) # #
)
$5
$ $ $
0
! C 3
$
+
/$ =
GM
>K 5 % $
=
$
$
,/ $
$ & $ % $
.
/
# -)
) $
@
-? 7
/
0
H
"
.
$
$
%
/$ = 4 % U
0 ) $
$
) #
.
0 ,#
$
) $
)
$ $
$#
)- B
)
4
%
N
$
0 , #
*
) $
+'%$ ,% #
$ %
$
/0 $
$ $
$#
+ $ #
$
$#
5
! "
) $
3$
$
@#
/$
! "
5
%
$
+'%$ ,% #
) $
% U
%
$ $
) B
%
) $
A
*
) $
# /
! "
/$ =
$5
) $
/$ =
GM ;
>
5
?
+'%$ $
>H
) # % /- $
) $
% 0 7 GC
,
%
=
? 3- #
# $
D.3 78
$5
.AddObject("BotonC", "BotonCANCELAR")
$ (A
7 G7.D
! "
,
$
3.C 7D 33DEA
$
H
/ /
.
7 GC
! "
D.3 78
A
% % )
$
/
$ =
%
/
$
/
- F
$
)
%0
$
)-
%
$
N;
) $
$
0
/
% $
$
GM I
%
$ 0 $
)-
GM N
NI
$ =
$ $
#
# #
$ %
#
)
#
%
#
.
)
0
+
$
! "
$
$
#
)
/$ =
$
-
# #
BackColor
BackStyle
DisabledBackColor
DisabledForeColor
FontName
ForeColor
Height
Width
.
#
$
)
#
0 +'%$
! "
/$ =
- $
$
=
=
=
=
=
=
=
=
+
$
#
# -)
*
#
) %
$
#
$
% $
? .
0
0
/ $
$
/
+'%$ $
! "
L >#
5%
+'%$ $
+'%$
*
#
+'%$
D
$
-
3$
DateFormat
InputMask
Value
Width
# #
=
=
=
=
$
$
3 - British
99/99/9999
{}
81
%
$
! "
#
.
/$ =
MODIFY CLASS INGRESOCANTIDAD OF CONTROLES AS INGRESODATO FROM CONTROLES
7 $ 0 $
$/ 5
NN
# #
- InputMask = 9,999.99
- Value
= 0
- Width
= 67
$5
/$
GM O
>K 5
- $
B
%
%
$#
#
H %
$/
/$ =
-? 1 5
# #
B
$
E # L P
%
. ( >H #
%
@
#
% .
"
5%
@
$
-
$#
0
. $
$
$
! "
# #
- InputMask = 999,999,999.99
- Value
= 0
- Width
= 109
$5
)
-
3 )
# -
/$
% $
!
!
!
!
#
#
#
#
;
$ %"
$
+>%
$ %!" %
$ ), #"
#
$ $
% /- $
#
0 #
, #
+
, #
+
, #
+
- $
- $
NO
$5
=
#
) %
$, #
$
$#
$#
$"#%# "%' $
! # $ ), #" #
# #
$
. (
- $
% /
#
+,
/
A
! # $
'$
%A $+ '%$ #
$ '
H -
$/
)
$
-
$#
'
$/
0 $
9 #
#
# /
% $
% %
#
+
0 ) $
/ $
LN
=
modify form FORM6
D #
$
$
) $
A P7
9
$ 0 $
$
#
#
=
GM Q
H -
$#
/
'$
)
H
) %
$ =
' $
X X
#
2
/ $
! "
NQ
0
)
) % 0,
#
% + ,#
$
$
"
$
) $
@#
.
)
.
$#
=
$#
)-#
GM N @7
% /- $ 0
$
5
$5
%
) $
$ B
) $
+'%$ #
) $
=
) $
/
/
#
$
$5
B
/$
GM 9
7
$5
0 ) $
$
$
/
GM 9
$ =
GM ;
N9
%
"
0 ) $
)
$
.
#
% $
$
$
' #
) $
) $
,
) $
) $
$ %
$#
. ) $
$#
+'%$ ,% # ! L .
)
$ &
#
#
) $
$
$/ 5 #
3
$#
$
0
$#
) $
) $
$ $
#
#
#
$ $
'
# #
$/
$ $
) $
,
, $, ,#
) $
$#
,
# /
% 0 37C
378
#
)
#
$# )
$5
)
$ %
$#
) $
$
$
$
$,
$/ $
7
4
.
! "
# $
# #
$,
# #
$
$5
/
$
$,
$
@
'
=
#
)
B
0
0 0
# #
.
#
$5
+
>7 ,
K
,
.
$#
H
0
$ $
\
0
$
-
, $
,
!
. .L D
# #
#
'
0
$
$5
#
$/
# #
Local loFecha
SET CENTURY ON
BRITISH
SET DATE
CLEAR
loFecha = CreateObject("Fecha")
with loFecha
.dFecha = CtoD("01/01/1940")
.ImprimirFecha()
.PonerFecha(CtoD("31/12/1995"))
.ImprimirFecha()
.PonerFecha(CtoD("21/04/2011"))
.ImprimirFecha()
endwith
Release loFecha
Return
*
*
# #
0,
$ ,# "
)
#
$#
/
/
$ #
7 $
) %
$
.
,
C
! %
"#
7
$
! % \
% +
$,
%
! % U 7 1@( X
$
! %
$5
$5
7
05
=
! % @7
33E6G
) %
$
0
@( X
,
$
X 9; *B
) %
# #
$
=
X 99I*BB
% +
0,
-
This.dFecha = tdFecha
/ $
$5
0
. .L D
! "
77.33
#
33E6G $/ 5
$# # $
,
/ =
Local loForm1
loForm1 = CreateObject("MiForm")
with loForm1
.Caption = "*** CAPTION DEL FORMULARIO PRINCIPAL ***"
.Left
= 100
.Width
= 500
=MessageBox("Este es el caption: " + .Caption)
endwith
Release loForm1
Return
*
*
DEFINE CLASS MiForm AS FORM
PROCEDURE THIS_ACCESS
LParameter tcPropiedad
=MessageBox("Se accedi a la propiedad: " + tcPropiedad)
Return(This)
ENDPROC
PROCEDURE LEFT_ASSIGN
LParameters tnLeft
=MessageBox("Se le asign a la propiedad Left el valor: " +
Transform(tnLeft))
This.Left = tnLeft
ENDPROC
ENDDEFINE
B
.
# $
! "
9
)
# #
D /
#
/
$5
<ADE7B H
#'/
. >K 5 #
# /
#'/
#
$
#
- $
/
#
# #
$5
0 /
$ #'/
# $
# #
#
%
$
F
$
$/
\3
#
#
'
\3
#
0 /
@
$5
? 7
!D ]
D ]
D ]
J % \3
# #
0 #
, #
$5
# #
0
$
. $5
$/ 5 #
# #
#
#
$5
@B # $
)
0
/
=
\3
% /-
0 0
O;
0 # #
# #
]
/
$#
.AddProperty("cUsuario")
0 # #
# #
\3
-
$/
$/ 5
0 # #
0
with _Screen
\3
'
% /-
0 @/
% /=(
$ 0 $
#
'
>7<^G1 <3
7
#
<
/
\3
$# /
=
$
$,
)
$
$
/ $
#
# #
# #
$ F#
# #
- $
#
#
0
0
$
, /
OI
\3
# / $
$
0
H
$ %
)
$,
$5
/ %
# #
?
$
.D A .C \37 ..G?
$
0
$5
$#
5
(D
% B
5%
# #
! "
$
0
$
>#
# #
with _Screen
$
with _Screen
# $
#
*
$
$ E ) $,
.
/
0
-#
/
\3
= (L 6
( ( (
.
! "
$
!
G.
%
3
$
/
$ % $
% )
0 $
>7 $
+ ?
1 /
C H#
1 /
7 C74
1 /
!EG DDH
. .L D
$
$
$
$#
Local lnMiNumero
CLEAR
*--- Quita uno solo de los asteriscos de abajo y mira lo que sucede.
Luego ponlo a ese y quita otro. Todos son errores puestos a propsito.
TRY
*
*
*
*
abc
lnMiNumero = lnMiGranNumero
do MiProcedure
set printer ot
CATCH TO oExcepcion
lnErrorNro = oExcepcion.ErrorNo
lcMensaje = ""
do case
case lnErrorNro = 1
lcMensaje = "El archivo no existe"
case lnErrorNro = 10
lcMensaje = "Error de sintaxis"
case lnErrorNro = 12
lcMensaje = "La variable no existe"
case lnErrorNro = 16
lcMensaje = "Comando no reconocido"
case lnErrorNro = 36
lcMensaje = "El comando contiene una palabra no reconocida"
endcase
=StrToFile(DtoC(Date()) + " " + Time() + " Ocurri el error N "
+ Transform(lnErrorNro) + " " + lcMensaje + " " + Chr(13),
"SISTEMA.ERR", .T.)
FINALLY
ENDTRY
Return
*
*
.
%0
) %
#
"
$
$
/
3E3C.L .
$
0
- $
ON
#
%0
$/ 5
0
#
'$
,
$
# 0
$
#
. $
$
$#
# -
#
$,
$/
$/
%
7 C74 $
$
$/
$
$#
C $/ 5 # $#
#
H
#
% /
% /
$/
#
=
CATCH TO oExcepcion
lnErrorNro = oExcepcion.ErrorNo
lcMensaje = ""
do case
case lnErrorNro = 1
lcMensaje = "El archivo no existe"
case lnErrorNro = 10
lcMensaje = "Error de sintaxis"
case lnErrorNro = 12
lcMensaje = "La variable no existe"
case lnErrorNro = 16
lcMensaje = "Comando no reconocido"
case lnErrorNro = 36
lcMensaje = "El comando contiene una palabra no reconocida"
endcase
=MessageBox(lcMensaje)
H#
$
#
#
#
D $#
#
.
0
$
% ,
C H F .G1C H
+
$,
$
/
<3 G1 .D L[C 1 .
$,
@B
C H F .G1C H
#
/
$5
$
$5
/
.
OO
#
@B
@
<
$ +
$ +
0
$
$
#
$# =
#0 $
! "
F L3
+
."
%
+
0
."
$ +
$
$
$# + $
Local loWord
loWord = CreateObject("MSWORD")
with loWord
endwith
Release loWord
Return
*
*
H %
%
$
7
/
L
L
E$# $
6
7
J %F
J %
$# =
0
$
$
"
"
0
# 0
$
$
@ $
$
L3
/
$
1 7
1!
1#
# #
=
=
=
=
=
""
""
NULL
NULL
NULL
ENDDEFINE
D # #
$/
$
D # #
$
$# $
$
1 /
$#
OQ
$/
$/
$#
$#
. 0
$
# #
/
$
.
# #
/
# #
1
$
)
H
$5
G<DD >#
# $
/
# #
?#
$ G<DD .
$5
$5
$
>7 $ % - $
$5
PROCEDURE AgregarDocumento
with This
.oWord
= CreateObject("WORD.APPLICATION")
= .F.
&& No queremos que Word sea visible
.oWord.Visible
.cNombreDocumento = ""
.oDocumento
= .oWord.Documents.Add()
.oRango
= .oDocumento.Range()
endwith
ENDPROC
>H #
"
PROCEDURE AbrirDocumento
LParameters tcNombreDocumento
with This
.oWord
= CreateObject("WORD.APPLICATION")
.oWord.Visible
= .F.
&& No queremos que Word sea visible
.cNombreDocumento = tcNombreDocumento
.oDocumento
= .oWord.Documents.Open(.cNombreDocumento)
.oRango
= .oDocumento.Range()
endwith
ENDPROC
$#
)
$
3$
$
$/
$5
$
/
$
?
"
$5
1
$
$5
$5
#
-
/
$
)
45
+
PROCEDURE FontNegrita
LParameters tlNegrita
&& debe ser .T. o .F.
This.oRango.Font.Bold = tlNegrita
ENDPROC
>K
$# $
PROCEDURE ImprimirDocumento
with This.oWord
.ActivePrinter = This.cNombreImpresora
.PrintOut()
endwith
ENDPROC
O9
D
$/
/
$,
>K
>K
PROCEDURE MostrarDocumento
This.oWord.Application.Visible = .T.
ENDPROC
#
#
"
$
+
#
$ . .L D
$
/
#
1#
)
#
H
#
74 @
$
$ &
#
B 3
/ $
"
#
$
$, $#
$
# #
/ $
$
#
$#
/ $
$
$# &
G %
"#
#
$
/
#
#
C $/ 5
0
, /
$#
$
H
$#
6
"
$5
@
,
$ $ -
,
-
@
$
."
#
7
/
0 $
6 /
6 /
.
#
#
0
#
#
"
$#
#
/
# )
3
),
%
$#
$/
5? #
#
>
$
$
$
$
$ %
# $
0 +
! "
$
$/
%
$/
0
-
$ &
#
."
0 +
#
@B
"
%
#
$ % $,
$/
'
$ %
$#
=
DEFINE CLASS EXCEL AS CUSTOM
cNombrePlanilla = ""
oExcel
= NULL
oAplicacion
= NULL
ENDDEFINE
$, '
#
0 #
/$
PROCEDURE NuevaPlanilla
with This
.oExcel
= CreateObject("EXCEL.APPLICATION")
.oAplicacion = .oExcel.Application
with .oAplicacion
.Visible = .F.
.WorkBooks.Add()
endwith
endwith
ENDPROC
H #
=
- $
/$
PROCEDURE AbrirPlanilla
LParameters tcNombrePlanilla
with This
.oExcel
= CreateObject("EXCEL.APPLICATION")
.oAplicacion = .oExcel.Application
with .oAplicacion
.Visible = .F.
.WorkBooks.Open(tcNombrePlanilla)
endwith
endwith
ENDPROC
/
$
@ "
$
'$
=
) % B
PROCEDURE EscribirCelda
LParameters tnFila, tnColumna, tuValor
This.oAplicacion.Cells(tnFila, tnColumna).Value = tuValor
ENDPROC
H#
0
)
@ "
'$
$/ 5 $
) % B
=
FUNCTION LeerCelda
LParameters tnFila, tnColumna
Local lnValor
lnValor = This.oAplicacion.Cells(tnFila, tnColumna).Value
RETURN(lnValor)
H#
$
#
- $ =
0 /
PROCEDURE MostrarPlanilla
This.oAplicacion.Visible = .T.
ENDPROC
#
%
7 $ 0
$ + ."
$
)
=#
/
"
#
)
) $
+
#
),
# - $
#
"
$
. )
' $ %
$/
- $
# 0 ,
<
+'%$
# 0
$
! "
# $
$# #
$
$
/
$,
- $
K
6
K
%
-
'
H
0
=
$
$#
K
$
K
K
K
.
$ $ %
) $
,
#
%
$
$
# $
0
$,
$
$#
)
'
$
$#
$5
,)
+
/'
! "
/$ =
7
/ ,
7 GC EG.
$
% 0 7 GC D.3 78
>7
#
5
?
$/ 5
, "/ "
$
# $ %
$
$#
#
$, &. " $
#
$#
7 GC EG.
7 D
$
+'%$
,
6 E1 7
/ $
6 EDD
+'%$
,
$
+'%$
/
/
.3 1. D 3 !ED 3
<
0 +'%$
,
$
$ =
Thisform.Grid1.SetAll("DynamicBackColor", ;
"IIF(MOD(RECNO(), 2)=0, RGB(255, 255, 255), RGB(0, 255, 0))", ;
"Column")
D
)
$
)
#
@ ; N Q
B
/
)
$#
@
I O 9
B
0
.
# /
$ $
#
F>
$ $
I Q
?
$
=
+ $
$
)
EE!@B
+ $
E7 3.@B 3
$/
%
0 $ % $
=
+
$5
)
# #
#
+
0 0
3 #
$
$ $
)
=
$#
0
A
$#
,
+
$#
$
/ - $ =
ThisForm.Grid1.SetAll("DynamicBackColor", ;
Thisform.ObtenerColor(MiCondicion)", "Column")
H
L[C 1
D
$
D
7
$5
/
C% ! $ /
@B #
7
E$#
E$#
7
E$#
7
E$#
7
@ 7
_
U 6A@ II
`U
G1
U 6A@ II
`
U 6A@
B
E$#
_U
II IIB
YY 7
IIB
YY 7
a
a
Q;
YY 7
/
+
7
/
$
%
$/ / "
P /
#
) $
(A
%
*0 $
P
$
GM ;
. 0
+ !$"# +" #
>H #
#
7 $/ / "
5
0 ?
= (7 $/ A " A
$/ / "=
#
. $ % $, ),
$
#
H
$
#
#
$/ / "
"
! "
# #
$/ 5 #
/
$
QI
F
$
#
# #
# $
$
+
3 3
3.6<E
7 .
0
/ $
# #
,
%0
6
#
$# =
. 0
7 $
) $
L EG\6 EDD
# #
$/
/ ,
@
# ,$
$
,B
A<ED1.
%0
$ ,
0 ) $
#
I
@
$
0 #
@
/
/
$/ #
# #
#
P
N
O
4 $
. $
# $
Q H
,
%
$
P
(A
(A
/
F* F 0
$
# $
F*
$
0
%
$
$#
#
$ #
$# = 7 G!E6<
\6 EDD B
# $
$
%0 #
#
#
= L EG\6 EDD
6B
(A
F*
$ ( ##
@ ##B
#
@
/
$/
#
B
$
+
) $
/
) $
% $
/
@
@
% /- $
#
$
0 ) $
/
GM ;
QN
/ $
$#
$#
#
$# $
B % $
B
P
GM ;
% $
%
$#
#
- # $
+ !$"# +" # #
$/
/
$
$
$ %- $
$ %- $ $,
$
#
$
$ /
0
$/ 5
% , $ % $, 0
$
3
-
#
- $
% , #
#
# #
+,
#
#
QO
$#
$ &
;<
.
$#
/
$
$5
$5
4
'
# $
$ )
) $
1.L
378 #
GM ;
7 $/
(7
C
#
$
,
$ &
* )/
/
/
)
$
'
% +
0
$ &
) $
P
0
6
7
<
.
G
<
#
$#
$#
- $
/ =
@B b
LG $ .
2
% L G $/ c; d2
e
7
, '$
LG $
L G $/
0
0
/
# ,
$
$ $," $
;
D 0
, '$
$
#
/
L G $/
LG $ .
$#
$#
U
<
0
0
@ $
0
$
= E$# $
$#
C #
/ L G $/
0
#
-
=
)
0
#
L G $/
.
4 J
L G $/
;IN2
$/
! "
/ =
L G $/ U (
*
L G $/ U
;IN
L G $/ U O9
5
/
$
0
+
@ $ $# $
B
# - #
)
$
#
/
#
Q9
)
! "
/ 7
#
/
# $
L,
/-
$# $
%
,? 4$$$$F # / $
>!
D 7 D
LG $
LG $
L G $/
3 #
0 #
/$
3 EGC.6.
L G $/
$ =
3 3C EG6
" *
L G $/
$
#
,
.
U (.
U
LG $
$ #
F VVV
WWW
=
"
!
& #D% + ## #
#" ) !" " , %
#
-
3 -#
0
$ =
$
/
E
#
3
#
)
$#
/$
GM ;;
G
0 $
#
/
#
(E
/$
EG
! "
)
0
0
/
) !"
D
3 $#
% /
# ) /
$# /
$
5#
# 5/
0
)-
5
E.1 1 1. 3 D D.7C<
0
# $
# $ %
$ ), $
$# =
# #
33E6G
$5
$ 0 $
Local loSoloLectura
loSoloLectura = CreateObject("PROPIEDAD_SOLO_LECTURA")
with loSoloLectura
.cMiVariable = "Este es el nuevo texto"
? "Mi texto = " + .cMiVariable
endwith
Release loSoloLectura
Return
*
*
DEFINE CLASS PROPIEDAD_SOLO_LECTURA AS CUSTOM
cMiVariable = "Este es el valor original"
PROCEDURE cMiVariable_ASSIGN
LParameters tcValor
=MessageBox("Error, la propiedad cMiVariable es de solo
lectura")
*--- Quita el asterisco de la siguiente lnea para asignar
*
This.cMiVariable = tcValor
ENDPROC
ENDDEFINE
*
*
.
0
# #
, )
. $5
# #
3
/ =
C%
L
."
$
."
# #
/ \ 33E6G
0
,
/ U
0 +
# #
'
/ $
>7fL 3 A. 3E <G
0
$
"
$
$ +
D A
/
.3C^ 7
.7C L.GC. .37 EC ?
# /
/
D ) $ $,
/
05
$ 0 $
$# =
lcMiPalabra = "Visuel"
loWord = CreateObject("WORD.APPLICATION")
llResultado = loWord.CheckSpelling(lcMiPalabra)
? "Existe la palabra " + lcMiPalabra + "? ", llResultado
Release loWord
Return
*
*
C% ! $ 7 #
C% ! $ D /
H
%
7 #
$/ 5
/ $
P /
- 0
3
.
$/
0
$
#
U (.
U (4
#
# #
- * T 1C 7@1 C.@BB
$/
0
$
# #
#
/
# #
/
#
$
$
/$ =
-$/
@UB
)
0
$#
) $
><3
.D L[C 1 +6- 45 D
! L<D E ?
4
) $ # /
$
L! $
34
@B
#
) $
- ( T 1C 7@1 C.@BB
$#
$
$ ) $
! "
U*4
D
/ =
L! $
1.L
Q 378
E.1 1 " + /
) $
/ U C
L 3C
$
/ =
<G
>7 ,
. $5
C
D
+6- 45 $
)
/
)
#
0
.
?
) $
+6- 45 "
5 .
$#
50 /
) $
# #
$/
$
+6- 45 #
#
+
$5
7 L 7 LAE
D 3
34
@B
# #
) $
"
$5
$
$/ 5
'
E AD.3 1.7D
1 3 .G <G
/ -' +
.3 1. D 3
0
$ $
) $
%
#
@A P7
0 ,
#"
#
G $ !
+
3+
9;
# #
B
$/ 5
7 $
% /,
)$#
$# +
#
$
' %
$ % $,
#
$
#
/
# $
. )
$ ,
7 $
#
#
%
#
$
, $
$ %
$ %
$#
%
% /
#
-#
$,
+
$
$#
%
$# +
)
$ %
"#
% /
$
-
$#
$#
$
)
# /
- #
# 5
$/ 5
$#
! "
C
$
$# /
% /, #
$
)5
$
#
$#
J 0g% $
9I
, /
#
/