mmercado wrote:
... No obstante, siempre ser谩 conveniente educarnos en el planteamiento modular de nuestras aplicaciones haciendo que los prgs donde se utilizan formularios, involucren el m铆nimo de c贸digo no relacionado con la mec谩nica del formulario en s铆.
Hola a todos,
All谩 por el 2000 empec茅 en 16b con Clipper+FiveWin; m谩s concretamente y por necesidad, en el desarrollo de un dise帽ador visual de di谩logos y ventanas para FiveWin, se llam贸/llama FiveWiDi. De ah铆 mi nick de usuario.
Una de sus virtudes era que generaba ficheros (.fwd) con el dise帽o de los formularios y otros con la declaraci贸n local de sus variables (.lcl), y estos ficheros los a帽ad铆a a mano en mis aplicaciones con 2 simples INCLUDE ('include dlg1.lcl' y 'include dlg1.fwd'). FiveWiDi era capaz de leer definici贸n de controles en un % elevado aun haci茅ndolo de una manera muy bruta.
Adem谩s las caracter铆sticas de los controles que pod铆a usar FiveWiDi est谩 en ficheros INI, y eso permite crear predefiniciones y agrupaciones de controles (para la aplicaci贸n 'x', para la 'y', etc.).
ej. de .FWD:
DEFINE DIALOG oDbfXLS7A TITLE "Exportar dades a XLS" FROM 71,230 TO 367,564 ;
COLORS J02CLRTEXTO,J02CLRWND OF AMPAarra[1][1][2][1][1] PIXEL FONT J02FONTWND //FIVEWIDI
@ 16.00,10.00 SAY oInforme PROMPT "Activat Filtre manual" OF odbfxls7a COLORS ;
J02CLRTEXTO,J02CLRFONDO FONT J02FONTSAY CENTER PIXEL SIZE 148.00,10.00 UPDATE //FIVEWIDI
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.
ej de .LCL
/* *** Def. Var. FWD *** Window/Dialog: oDbfXLS7A */
Local oDbfXLS7A
Local oCarpeta, uCarpeta
/* *** End Def. FWD *** Window/Dialog: oDbfXLS7A */
mmercado wrote:
Como mencionaba en alguna pregunta en el foro ingl茅s, yo uso actualmente Visual FiveWin de manera intensiva en el dise帽o primario de mis formularios y ya me resulta de una gran utiliidad por el gran ahorro de tiempo en el dise帽o y en una buena parte del tecleo de mis prgs.
Yo sigo usando de la misma manera FiveWiDi que tu Visual FiveWin.
La herramienta en si, su c贸digo deja mucho que desear (era mi primera aplicaci贸n y fue muy duro), pero la idea sigo convencido de que era la correcta y acertada; el c贸digo de los formularios es independiente de los PRG, adem谩s sus cl谩usulas son inteligibles sin error posible por el programador (un LEFT es un LEFT no un OF), no son par谩metros de una funci贸n (como se ha visto en otros dise帽adores), los objetos de los controles son deducibles (incluso para el propio IDE), la definici贸n de las cl谩usulas disponibles estan en ficheros INI que se leen una sola vez y a demanda, etc.
FiveWiDi era s贸lo una parte de lo que podr铆a ser un IDE como Verce podr铆a ser otra parte y otra un editor 'inteligente' de PRG, otra ser铆a un editor de programaci贸n de eventos (ON CLICK p.e.) y otra la de reportes.
Por cierto viendo la arquitectura en FiveWin de heredabilidad entre los controles, con ficheros INI se podr铆a simular esa misma heredabilidad de eventos para saber que NO se pude editar, que se puede editar y con que par谩metros y as铆 poder crear 2 ficheros, .EVA y .EVD al que realizar 2 includes justo antes/despu茅s de activar el di谩logo o ventana, para acabar teniendo 4 ficheros que componen la definici贸n de tu di谩lgo/ventana:
Manclien.LCL
Manclien.FWD
Manclien.EVA
Manclien.EVD
Si el editor de PRg es lo suficiente inteligente, ser谩 f谩cil decirle donde poner los includes, y que el controle si se han a帽adido o no.
En fin que me estoy enrollando, no paro de ampliar el mensaje, es tarde, tengo sue帽o y hasta ma帽ana.
S贸lo intentaba dar alguna idea.
Saludos
Carlos G.