Skip to content

Commit 03e4452

Browse files
author
fdbozzo
committed
Changeset: 237 fdbozzo - 07/05/2014 20:47:21:
- Agregado soporte de evaluación de propiedades desde archivo externo (props_*.txt) - Agregado soporte de evaluación de propiedades por clase - La propiedad Picture de una clase form se pierde y no muestra la imagen. No ocurre con la propiedad Picture de los controles (Fidel Charny) - Algunas opciones del optiongroup pierden el width cuando se subclasan de una clase con autosize=.T. (Miguel Duran)
1 parent 1ba0878 commit 03e4452

File tree

101 files changed

+5359
-125
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+5359
-125
lines changed

TESTS/DATOS_READONLY/cplgd2sg.frt

32.3 KB
Binary file not shown.

TESTS/DATOS_READONLY/cplgd2sg.frx

12.9 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_checkbox.sct

15.5 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_checkbox.scx

2.92 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_combobox.sct

31.9 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_combobox.scx

2.92 KB
Binary file not shown.
40.7 KB
Binary file not shown.
2.5 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_containers.sct

6.62 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_containers.scx

2.18 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_form_aa.sct

67.7 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_form_aa.scx

3.88 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_form_aa2.sct

48 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_form_aa2.scx

1.43 KB
Binary file not shown.
55.8 KB
Binary file not shown.
9.84 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_formset.sct

23.7 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_formset.scx

4.31 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_listbox.sct

15.2 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_listbox.scx

2.29 KB
Binary file not shown.
37.2 KB
Binary file not shown.
2.5 KB
Binary file not shown.
8.44 KB
Binary file not shown.
1.43 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_test.sct

13.5 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_test.scx

1.43 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_textbox.sct

27.3 KB
Binary file not shown.

TESTS/DATOS_READONLY/f_textbox.scx

3.56 KB
Binary file not shown.

TESTS/DATOS_READONLY/fb2p_dbc.prg

+224
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
* *********************************************************************
2+
* *
3+
* * 2013/12/09 FB2P_DBC.DBC 22:32:26
4+
* *
5+
* *********************************************************************
6+
* *
7+
* * Description:
8+
* * This program was automatically generated by GenDBCX Version 1.1,
9+
* * a modified version of Microsoft's utility GenDBC Version 2.26.67.
10+
* *
11+
* *********************************************************************
12+
13+
14+
LPARAMETERS tcMethod
15+
LOCAL oDBC
16+
oDBC = CreateObject('GenDBCX')
17+
IF TYPE('oDBC') != 'O'
18+
RETURN
19+
ENDIF
20+
cExactSet = SET('EXACT')
21+
SET EXACT ON
22+
IF EMPTY(tcMethod)
23+
=oDBC.GenerateAll()
24+
ELSE
25+
=EVALUATE('oDBC.' + tcMethod)
26+
ENDIF
27+
IF cExactSet = 'OFF'
28+
SET EXACT OFF
29+
ENDIF
30+
31+
32+
DEFINE CLASS GenDBCX AS Custom
33+
PROTECTED aTables[1]
34+
PROTECTED nTables
35+
36+
PROCEDURE CustomProcess
37+
*-- Your code goes here
38+
ENDPROC
39+
40+
PROCEDURE Init
41+
IF FILE('FB2P_DBC.DBC')
42+
OPEN DATABASE FB2P_DBC.DBC
43+
this.nTables = ADBOBJECTS(this.aTables, 'Table')
44+
ENDIF
45+
LOCAL ARRAY xx[1]
46+
IF ADIR(xx,'*.DBC') > 0 OR ADIR(xx,'*.DBF') > 0
47+
IF MessageBox('Warning! This program will overwrite your existing database and tables! Continue?', 308, 'GenDBCX Warning...') != 6
48+
RETURN .F.
49+
ENDIF
50+
ENDIF
51+
ENDPROC
52+
53+
PROCEDURE CreateDBC
54+
*-- Create the Database Container
55+
CLOSE DATA ALL
56+
CREATE DATABASE 'FB2P_DBC.DBC'
57+
58+
********* Procedure Re-Creation *********
59+
IF !FILE([FB2P_DBC.krt])
60+
? [Warning! No Procedure File Found!]
61+
ELSE
62+
CLOSE DATABASE
63+
USE 'FB2P_DBC.DBC'
64+
g_SetSafety = SET('SAFETY')
65+
SET SAFETY OFF
66+
LOCATE FOR Objectname = 'StoredProceduresSource'
67+
IF FOUND()
68+
APPEND MEMO Code FROM [FB2P_DBC.krt] OVERWRITE
69+
REPLACE Code WITH SUBSTR(Code, 70, 13140)
70+
ENDIF
71+
LOCATE FOR Objectname = 'StoredProceduresObject'
72+
IF FOUND()
73+
APPEND MEMO Code FROM [FB2P_DBC.krt] OVERWRITE
74+
REPLACE Code WITH SUBSTR(Code, 13210)
75+
ENDIF
76+
IF UPPER(g_SetSafety) = 'ON'
77+
SET SAFETY ON
78+
ENDIF
79+
USE
80+
OPEN DATABASE [FB2P_DBC.DBC]
81+
ENDIF
82+
83+
ENDPROC
84+
85+
86+
**************************************************
87+
** Table setup for NOMBRELARGODELDBF
88+
**************************************************
89+
PROCEDURE tbNOMBRELARGODELDBF
90+
LPARAMETERS tnPassNumber
91+
92+
DO CASE
93+
CASE tnPassNumber = 1
94+
=this.RemoveTable('NOMBRELARGODELDBF', 'C:\DESA\FOXBIN2PRG\TESTS\DATOS_READONLY\FB2P_DBF.DBF')
95+
96+
CREATE TABLE 'FB2P_DBF.DBF' NAME 'NOMBRELARGODELDBF' ( ;
97+
NOMBRE C(30) NOT NULL CHECK .NOT.EMPTY(nombre) ERROR "El nombre está vacío" DEFAULT ".", ;
98+
EDAD N(3, 0) NOT NULL, ;
99+
ID I NOT NULL, ;
100+
BIGTEXT M NOT NULL, ;
101+
DEPTO C(10) NOT NULL ;
102+
)
103+
***** Create each index for NOMBRELARGODELDBF *****
104+
SET COLLATE TO 'MACHINE'
105+
ALTER TABLE 'NOMBRELARGODELDBF' ADD PRIMARY KEY ID TAG ID
106+
SET COLLATE TO 'GENERAL'
107+
INDEX ON NOMBRE TAG I_NOMBRE
108+
SET COLLATE TO 'MACHINE'
109+
INDEX ON DEPTO TAG DEPTO
110+
111+
CASE tnPassNumber = 2
112+
***** Change properties for NOMBRELARGODELDBF *****
113+
DBSetProp('NOMBRELARGODELDBF.NOMBRE', 'Field', 'Caption', "'Nombre:'")
114+
DBSetProp('NOMBRELARGODELDBF.NOMBRE', 'Field', 'Comment', "Comentario de 'Nombre'")
115+
DBSetProp('NOMBRELARGODELDBF.NOMBRE', 'Field', 'InputMask', "!XXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
116+
DBSetProp('NOMBRELARGODELDBF.NOMBRE', 'Field', 'Format', "A")
117+
DBSetProp('NOMBRELARGODELDBF', 'Table', 'Comment', "Comentario de la tabla 'fb2p_dbf'")
118+
CREATE TRIGGER ON 'NOMBRELARGODELDBF' FOR DELETE AS del_trg()
119+
CREATE TRIGGER ON 'NOMBRELARGODELDBF' FOR INSERT AS __ri_insert_nombrelargodeldbf().AND.(ins_trg())
120+
CREATE TRIGGER ON 'NOMBRELARGODELDBF' FOR UPDATE AS __ri_update_nombrelargodeldbf().AND.(upd_trg())
121+
ALTER TABLE 'NOMBRELARGODELDBF' SET CHECK edad>10 ERROR "Mensaje de error de la regla edad > 10"
122+
ENDCASE
123+
ENDPROC
124+
125+
126+
**************************************************
127+
** Table setup for FB2P_DEPTO
128+
**************************************************
129+
PROCEDURE tbFB2P_DEPTO
130+
LPARAMETERS tnPassNumber
131+
132+
DO CASE
133+
CASE tnPassNumber = 1
134+
=this.RemoveTable('FB2P_DEPTO', 'C:\DESA\FOXBIN2PRG\TESTS\DATOS_READONLY\FB2P_DEPTO.DBF')
135+
136+
CREATE TABLE 'FB2P_DEPTO.DBF' NAME 'FB2P_DEPTO' ( ;
137+
DEPTO C(10) NOT NULL, ;
138+
DESCRIP C(50) NOT NULL ;
139+
)
140+
***** Create each index for FB2P_DEPTO *****
141+
SET COLLATE TO 'MACHINE'
142+
ALTER TABLE 'FB2P_DEPTO' ADD PRIMARY KEY DEPTO TAG DEPTO
143+
144+
CASE tnPassNumber = 2
145+
***** Change properties for FB2P_DEPTO *****
146+
DBSetProp('FB2P_DEPTO', 'Table', 'Comment', "Comentario de 'fb2p_depto'")
147+
CREATE TRIGGER ON 'FB2P_DEPTO' FOR DELETE AS __ri_delete_fb2p_depto()
148+
ENDCASE
149+
ENDPROC
150+
151+
152+
***** Relations Setup *****
153+
PROCEDURE SetRelations
154+
ALTER TABLE 'NOMBRELARGODELDBF' ADD FOREIGN KEY TAG DEPTO REFERENCES FB2P_DEPTO TAG DEPTO
155+
ENDPROC
156+
157+
***** Referential Integrity Setup *****
158+
PROCEDURE SetRI
159+
CLOSE DATABASE
160+
USE 'FB2P_DBC.DBC'
161+
LOCATE FOR ObjectType = 'Table' AND UPPER(ALLTRIM(ObjectName)) == 'NOMBRELARGODELDBF'
162+
IF FOUND()
163+
nObjectID = ObjectID
164+
LOCATE FOR ObjectType = 'Relation' AND 'depto'$Property AND 'fb2p_depto'$Property AND 'depto'$Property AND ParentID = nObjectID
165+
IF FOUND()
166+
REPLACE RiInfo WITH 'ICR '
167+
ELSE
168+
? "Could not set RI Information, line " + ltrim(str(lineno()))
169+
ENDIF
170+
ENDIF
171+
USE
172+
ENDPROC
173+
174+
FUNCTION RemoveTable(tcTable, tcFile)
175+
LOCAL ARRAY laTables[1]
176+
=ADBOBJECTS(laTables,'Table')
177+
IF ASCAN(laTables,tcTable) = 0
178+
*-- No such table in the current dbc, nothing to do!
179+
RETURN .t.
180+
ENDIF
181+
IF !FILE(tcFile)
182+
*-- If the file has been erased, REMOVE TABLE fails with a 'File does not
183+
*-- exist' error, because it can't find the file to either remove its
184+
*-- database reference or delete the file .
185+
*-- We'll work around this problem by creating a phony file with the same
186+
*-- name, and use REMOVE TABLE DELETE to both remove the table reference
187+
*-- in the dbc, and erase the phony file.
188+
LOCAL lhFile
189+
lhFile = FCREATE(tcFile)
190+
IF lhFile = -1
191+
RETURN .f.
192+
ENDIF
193+
=FCLOSE(lhFile)
194+
ENDIF
195+
REMOVE TABLE (tcTable) DELETE
196+
=ADBOBJECTS(laTables,'Table')
197+
RETURN ASCAN(laTables,tcTable) = 0
198+
ENDFUNC
199+
200+
201+
PROCEDURE GenerateAll
202+
=this.CreateDBC()
203+
=this.CreateTables()
204+
205+
*-- Call custom method
206+
=this.CustomProcess()
207+
208+
=this.RulesTriggersProperties()
209+
=this.SetRelations()
210+
=this.SetRI()
211+
ENDPROC
212+
213+
PROCEDURE CreateTables
214+
*-- Create Tables
215+
=this.tbNOMBRELARGODELDBF(1)
216+
=this.tbFB2P_DEPTO(1)
217+
ENDPROC
218+
219+
PROCEDURE RulesTriggersProperties
220+
*-- Finish Tables (add rules/triggers/properties)
221+
=this.tbNOMBRELARGODELDBF(2)
222+
=this.tbFB2P_DEPTO(2)
223+
ENDPROC
224+
ENDDEFINE

0 commit comments

Comments
 (0)