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
, 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