GUIBUILDER - RESBUILDER

21 views
Skip to first unread message

Carlos Felipe

unread,
Sep 14, 2011, 10:46:48 AM9/14/11
to MundoBBx
Hola a todos, hace poco estoy usando la herramienta Resbuilder en
conjunto con Guibuilder y me surgió el siguiente problema:

Al construir el programa en Guibuilder, este genera todas las forms
contenidas en el archivo creado en Resbuilder lo que las hace visibles
a todas al mismo tiempo. Se puede dejar solo a un form visible
modificando el archivo gb.ini, pero el manejo de las form entonces
vendría siendo la modificación de la visibilidad de cada una y no sé
si esta sea la forma correcta.
Otra forma, usando también un solo archivo, es modificar el código
generado en la sección "rem ' Instantiate form(s)", para así
transformarlo en una especie de función e ir cargando cada form del
resource a medida que se van utilizando.

Otra forma es crear un archivo de Resbuilder para cada form, e ir
cargando todos estos de forma manual.

Lo anterior me lleva a la siguiente duda:

Si creo una interfaz en Resbuilder, la cual contiene mas de un
form, la puedo manejar desde Guibuilder como un solo archivo(resource)
o debo crearme uno para cada form ???


Desde ya se agradece su ayuda y tiempo.

Se despide Carlos Barahona.





jose aguilar

unread,
Sep 14, 2011, 11:07:23 AM9/14/11
to mund...@googlegroups.com
Carlos:

Puedes crear un archivo de recursos con 1 ó más form, y definirlos todos con flag "Invisible" y luego en tu programación de GUIBuilder indicar el form que te interesa hacer visible. Por lo que recuerdo GUIBuilder internamente genera la referencia a todos los forms contenidos en el archivo de recurso; por lo tanto, es mucho más conveniente separar los archivos de recursos por cada programa. Ahora bien, en algunos casos un programa puede tener 2 ó 3 forms (ejemplo, si tienes un catálogo de clientes y despliegas un form de consulta de una tabla relacionada). En tal caso sería aún conveniente incluirlos en el mismo archivo de recursos.

Sin embargo, considerar crear muchos forms para distintos programas en un mismo recurso dejaría de ser una alternativa eficiente.

Espero que éstos antecedentes te ayuden a fijar una pauta de desarrollo.

Saludos cordiales,

Administrador MundoBBx






--
Has recibido este mensaje porque estás suscrito al grupo "MundoBBx" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a mund...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a mundobbx+u...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/mundobbx?hl=es.


Mario rojas

unread,
Sep 14, 2011, 1:13:48 PM9/14/11
to mund...@googlegroups.com
Haber colega buenos dias
Yo manejo mucho el resbuilder y tengo en ocaciones 15o 20 formas en un mismo archivo .brc, ok y las manejo muy bien, pero hay un detalle yo no manejo el guibulder. porque todos mis programas yo genero el codigo y con un programa publico es como abro las formas sin problemas.
te anexo el programa que utilizo para abrir cualquier forma ok, espero te funcione
ok y ya sabes cualquier cosas siempre estoy en linea en el google.talk  con este correo y en el messenger con el correo  tela...@hotmail.com   ok colega 

0050 REM FORMA01  PROGRAMA PUBLICO DE FORMAS                            
0060 REM  MARIO ROJAS G.  FEBRERO/2008                                  
0065 REM G= variable para canal, entra vacia,   NDF$= Nombre de Forma   
0070 REM TDF$= Titulo de la forma,  NF= NUMERO DE FORMA                 
0080 ENTER G,NDF$,TDF$,NF                                               
0100 LET G=UNT; OPEN (G)"X0"                                            
0105 LET HH=RESOPEN(NDF$+".brc")                                        
0110 LET AA$=RESGET(HH,1,NF)                                            
0115 PRINT (G)'RESOURCE'(LEN(AA$)),AA$                                  
0120 RESCLOSE (HH,ERR=0125)                                             
0125 PRINT (G)'TITLE'(0,TDF$)                                           
0130 EXIT                                                               

y te pongo un ejemplo como lo utilizo en un  programa  fuente para que te des una idea

0010 REM PDMS01  Programa principal de DMS                                      
0020 REM Mario Rojas Guzman  JULIO/2011                                         
0030 PRINT 'HIDE'                                                               
0090 CALL "FORMA01",G,"CONTA_03","MENU PRINCIPAL",101                           
0100 PRINT (G)'CONTEXT'(0),'FOCUS'(101)                                         
0110 CALL "FHPHOY",FDH$,HDH$,PGH$,FCR$                                          
0120 PRINT (G)'TITLE'(120,FDH$),'TITLE'(121,HDH$),'TITLE'(122,PGH$)             
0130 PRINT (G)'FOCUS'(102)                                                      
0140 DIM E$:TMPL(G)                                                             
0150 PRINCIPAL:                                                                 
0160 READ RECORD(G,SIZ=LEN(E$))E$                                               
0170 LET HDH$=DATE(0:"%Hz:%mz"); PRINT (G)'TITLE'(121,HDH$)                     
0180 IF E.CODE$="X" OR (E.CODE$="B" AND E.ID=119) THEN GOTO SALIR_SISTEMA       
0190 IF E.CODE$="t" AND E.ID=13 THEN GOTO PRINCIPAL                             
0200 IF E.ID=102 AND ((E.CODE$="l" AND E.FLAGS=1) OR (E.CODE$="N" AND E.FLAGS=2)
) THEN GOTO ACEPTAR                                                             
0210 IF E.CODE$="B" AND E.ID=102 THEN GOTO ALTAS_BAJAS_CATALOGO_NISSAN         
0220 IF E.CODE$="B" AND E.ID=103 THEN GOTO LISTADO_CATALOGO_NISSAN             
0230 IF E.CODE$="B" AND E.ID=104 THEN GOTO INTEGRACION_CUENTAS                 
0240 IF E.CODE$="B" AND E.ID=105 THEN GOTO REPORTE_INTEGRACION                 
0245 IF E.CODE$="B" AND E.ID=106 THEN GOTO ACTUALIZ_IMPORTES_INTEGRACION       
0250 IF E.CODE$="B" AND E.ID=107 THEN GOTO CARGA_IDENTIFICADOR                 
0260 IF E.CODE$="B" AND E.ID=108 THEN GOTO GENERADOR_ARCH_ENVIAR               
0270 IF E.CODE$="B" AND E.ID=109 THEN GOTO GENERADOR_CATALOGO_NISSAN           
0280 IF E.CODE$="B" AND E.ID=119 THEN GOTO SALIR_SISTEMA                       
0290 GOTO PRINCIPAL                                                            
 
la linea 0090 es donde se pone el programa publico FORMA01
OK ES EL IMPORTANTE  las demas lineas es solo un ejemplo para que vieras como lo podieras utilizar ok.

saludos


atentamente
Mario Rojas G.
Mexico



Reply all
Reply to author
Forward
0 new messages