Page 1 of 1

Sera Posible hacer cambios en folders

Posted: Fri Jul 28, 2006 10:55 pm
by busmatic
Hola Un saludito

A haver quien me echa una mano con este problema que no se como resolver.

Defini un folder

REDEFINE FOLDER oFld ID 29 OF oWnd ;
PROMPT "Desglose Asientos","oTROS" ;
DIALOGS "FOLDSUB1","FOLDSUB2"

Dentro del recurzo tengo
FOLDSUB1
FOLDSUB11
FOLDSUB12
FOLDSUB13

Donde FOLDSUB1 es un modelo hecho con botones donde defini una forma de ocupacion de aun autobus la forma en que estan los asientos definidos , resulta que la empresa tiene una cantidad diferente de modelos de autobuses lo cual cambia de forma y cantidad, ese no es el problema.

Pero tengo en determinado momento cambiar el contenido del FOLDSUB1 POR OTRO que tengo definidos dentro del recurso porque cambia el modelo.

Sera posible hacer _ , jesucristo tengo una semana con esto y si alguien tiene la forma de hacerlo or favor le agraceria el consejito.

Gracias
Busmatic
Thanks

Posted: Fri Jul 28, 2006 11:54 pm
by Antonio Linares
Por que no usas un if ?

Code: Select all

if <lCondicion>  // condicion a cumplirse
   REDEFINE FOLDER oFld ID 29 OF oWnd ; 
      PROMPT "Desglose Asientos","oTROS" ; 
      DIALOGS "FOLDSUB1","FOLDSUB2"
else
   REDEFINE FOLDER oFld ID 29 OF oWnd ; 
      PROMPT "Desglose Asientos","oTROS" ; 
      DIALOGS "FOLDSUB11","FOLDSUB12"
endif

Si antonio ya los hice, pero

Posted: Sat Jul 29, 2006 12:07 am
by busmatic
Pero el problema no esta en el inicio la aplicacion esque e esto es cambiante dentro de un mismo dialogo, por haber hecho el llamado ya no puedo volverlo a cambiar. He puesto el folder dentro del dialgo asi que tendria que salirme de dialogo princial y en entrar de nuevo cuando valido el cambio de modelo

Ese es el asunto por eso pregunto si se podra

Ahora de incio al entrada de dialgo lo valide asi

aFoldercito:={"FOLDSUB1","FOLDSUB2"}
vCambio:=aFoldercito[1]
vBronca:="&vCambio"


REDEFINE FOLDER oFld ID 29 OF oWnd ;
PROMPT "Desglose Asientos","oTROS" ;
DIALOGS "&vBronca","FOLDSUB2"

De esta manera si puedo entrar al folder que deseo cuando incio el dialogo principal. pero en el mismo dialogo puede cambiar el modelo por tal razon debo de cambiar sub dentro del mismo
Utilize por ahi esto

ahora subfolder sera 2
vCambio:=aFoldercito[2]
vBronca:="&vCambio"
oFld:refresh()

no actuliza.

Sera posible__

Gracias
Busmatic

Si antonio ya los hice, pero

Posted: Sat Jul 29, 2006 12:08 am
by busmatic
Pero el problema no esta en el inicio la aplicacion esque e esto es cambiante dentro de un mismo dialogo, por haber hecho el llamado ya no puedo volverlo a cambiar. He puesto el folder dentro del dialgo asi que tendria que salirme de dialogo princial y en entrar de nuevo cuando valido el cambio de modelo

Ese es el asunto por eso pregunto si se podra

Ahora de incio al entrada de dialgo lo valide asi

aFoldercito:={"FOLDSUB1","FOLDSUB2"}
vCambio:=aFoldercito[1]
vBronca:="&vCambio"


REDEFINE FOLDER oFld ID 29 OF oWnd ;
PROMPT "Desglose Asientos","oTROS" ;
DIALOGS "&vBronca","FOLDSUB2"

De esta manera si puedo entrar al folder que deseo cuando incio el dialogo principal. pero en el mismo dialogo puede cambiar el modelo por tal razon debo de cambiar sub dentro del mismo
Utilize por ahi esto

ahora subfolder sera 2
vCambio:=aFoldercito[2]
vBronca:="&vCambio"
oFld:refresh()

no actuliza.

Sera posible__

Gracias
Busmatic

O podria eliminar el objeto folder y hacer una redefinir

Posted: Sat Jul 29, 2006 1:27 am
by busmatic
OTRA PREGUNTITA

ya existe uns definicion de objeto folder si utilizo esto en un llamado a una funcion me daria duplicidad de el ID 29


if <lCondicion> // condicion a cumplirse
REDEFINE FOLDER oFld ID 29 OF oWnd ;
PROMPT "Desglose Asientos","oTROS" ;
DIALOGS "FOLDSUB1","FOLDSUB2"
else
REDEFINE FOLDER oFld ID 29 OF oWnd ;
PROMPT "Desglose Asientos","oTROS" ;
DIALOGS "FOLDSUB11","FOLDSUB12"
endif

Se podria de alguna manera eliminar el objeto folder y volverle a redefinir esto desde el mismo oWnd.

Gracias
Busmatic

Posted: Sat Jul 29, 2006 1:38 am
by Alfredo Arteaga
Mmmm, se me ocurre que ya dentro del folder uses TPage. Por ahí hice algo y funciona.

Posted: Sat Jul 29, 2006 10:38 am
by manuramos
Alguna vez se me presentó un problema parecido. Lo que pasa es que de un folder a otro tenía muchos elementos comunes. Lo que hice fue definir todos los elementos en un mismo folder, Los comunes a la vista y los especificos de cada situacion escondidos con oCtrl:Hide() en el ON INIT del Dialogo. Después, unos los "enseñaba" con oCtrl:Show() y oCtrl:Enable() y los otros los "escondía" con oCtrl:Hide() y oCtrl:Disable() según la situación y contenidos de algunos Get's/Radios. A lo mejor puedes hacer algo parecido. Si intervienen gráficos los puedes intercambiar con oBmp:Reload("NOMBRE"), va muy bien y es rápido. Lo más complicado es diseñar el dialogo pués algunos elemenmtos se montaban unos encima de los otros. Incluso algunos controles, además de esconderlos, tenía que moverlos con oCtrl:nLeft := xx. Es más tedioso de contar que de realizar.

Suerte. Un saludo.

Posted: Mon Jul 31, 2006 6:59 pm
by joseluisysturiz
buscando encontre una clase de sButton y hace algo a lo que deseas, es mas en 1 ejemplo esta el modelo de un BUS con chofer y todo :lol: , si deseas te la envio a tu privado, talves te ayude o de una idea a lo que quieres, creo que de de _.

Agradezco cualkier ayuda

Posted: Mon Jul 31, 2006 11:33 pm
by busmatic
joseluisysturiz

Gracias, claro me puedes enviar el asunto a
Mi correo ventas@busmatic.com
TE lo agardezco

Busmatic

Otra Pregunta acabando cartuchos acerca de los Pages

Posted: Tue Aug 01, 2006 1:53 am
by busmatic
Continuando y molestando sera posible destruir un refedine y volverle invocar mirando lo siguiente

Local oBot1 ,..

DEFINE DIALOG oWnd RESOURCE "MAIN" ICON oMAINICON ;
TITLE "Asunto tpages "

REDEFINE PAGES oPags ID 110 OF oWnd ;
DIALOGS "DLG1", "DLG2","DLG3","DLG4","DLG5"
oPags:SetOption(1)

/*
Cuerpo de prog..
*/

REDEFINE BUTTON oBot1 3 OF oWnd;
ACTION (oBronca())

ACTIVATE DIALOG oWnd center


Return....


Function oBronca()
///-> aki borro el page

oPags:End() // desaparece totalmente del dialogo ok

** Ahora si hago el llamado del redefine de nuevo no da error

REDEFINE PAGES oPags ID 110 OF oWnd ;
DIALOGS "DLG1", "DLG2","DLG3","DLG4","DLG5"
oPags:SetOption(1)

REDEFINE SAY ooSay_1 var oP:cNu1 ID 104 of oPags:aDialogs[ oP:SETOP ] ADJUST
REDEFINE SAY ooSay_5 var oP:cNu5 ID 108 of oPags:aDialogs[ oP:SETOP ] ADJUST
REDEFINE SAY ooSay_9 var oP:cNu9 ID 112 of oPags:aDialogs[ oP:SETOP ] ADJUST

Syserfresh()
oPags:refresh()

// No hace nada , no reaprece el Pages.
No ; ni error, nada
pero creo qeu podria omitir alguna cosilla a menos que no se posible este tipo de redefinicion y mostrarle de nuevo


Return..



return..

Posted: Tue Aug 01, 2006 4:21 pm
by joseluisysturiz
Creo deberias colocar oWnd como global o pasarla como referencia a la funcion oBronca()para que culegues el oPage, voy a probar de todos modos tus lineas.

Posted: Tue Aug 01, 2006 4:58 pm
by Antonio Linares