Portada
Banner
Portada Foros Manuales Enlaces Email
clear1x1.gif clear1x1.gif clear1x1.gif
clear1x1.gif
clear1x1.gif

Portada
Foros
Manuales
Enlaces
Distribuidores
Precios
Sugerencias

Contacto

 

clear1x1.gif clear1x1.gif
 Guía rápida de inicio al GUI de Visual Pro/5 (Parte 37/68)
Primero Previo Próximo Último

...
0250 REM "Si hubo actividad en lista Der. Des-selecciona los de la Izq.
0260 IF e.id<>102 THEN GOTO eventos
0270 LET a$=CTRL(1,102,1),radio=DEC(CTRL(1,102,2)); PRINT a$,radio
0280 PRINT (1)'LISTUNSEL'(101,-1); GOTO eventos
0290 REM
0300 pasar:
0310 LET ven=101; REM "Detectar si hubo ítems marcados
0320 LET ven$=CTRL(1,ven,2); IF ven$="" THEN IF ven=101 THEN LET
0320:ven=ven+1; GOTO 0320 ELSE GOTO eventos
0330 LET a$=CTRL(1,ven,3); PRINT (1)'LISTADD'(203-ven,-1,DEC(a$(1,2))),
0330:CTRL(1,ven,1); REM "Agrega ítems seleccionados en la otra ventana
0340 FOR a=LEN(ven$)-1 TO 1 STEP -2
0350 PRINT (1)'LISTDEL'(ven,DEC(ven$(a,2))); REM "Elimina ítems seleccio
0350:nados en lista original
0360 NEXT a
0370 GOTO eventos

El siguiente programa es una variación del anterior. Lo que tiene diferente es que en lugar de un contexto nos muestra tres, en donde se permite por aparte para cada uno, poder hacer la misma migración de nombres del ejemplo inicial. Podrá observar que se pone en uso un nuevo mnemónico llamado 'CONTEXT', del cual veremos dos funciones: una para definir un CONTEXTO o ventana y la otra, para navegar o migrar de un CONTEXTO hacia otro.

0001 REM "Ejerc8b Práctica controlando dos contextos
0010 OPEN (1)"X0"
0020 PRINT (1)'SEMICHARS'
0030 FOR ven=0 TO 2
0040 IF ven=0 THEN PRINT (1)'WINDOW'(90,32,190,110,"Cantantes",$03$, $FFFFFEFF$)
0050 IF ven=1 THEN PRINT (1)'CONTEXT'(1),'WINDOW'(5,160,190,110,"Futbolistas",$03$,$FFFFFEFF$)
0060 IF ven=2 THEN PRINT (1)'CONTEXT'(2),'WINDOW'(202,160,190,110,"Ocupaciones",$03$,$FFFFFEFF$)
0065 REM
0070 REM "Define objetos inmediatamente después de haber definido cada
0070:CONTEXTO
0080 PRINT (1)'BUTTON'(1,82,90,25,15,"Pasar",$$)
0090 PRINT (1)'LISTBOX'(101,10,10,80,80,"",$0400$)
0100 PRINT (1)'LISTBOX'(102,100,10,80,80,"",$0400$)
0110 REM
0120 ON ven GOTO cant,futb,ocup
0122 REM
0128 cant: REM "Define y carga lista de Cantantes
0130 PRINT (1)'LISTADD'(101,-1,"John","Paul","George","Ringo","Madonna", "M.Jackson","Sting","Pink Floyd",
0130:"Aaaaa","Bbbbbb","Cccccc")
0140 PRINT (1)'LISTADD'(102,-1,"Maria","Jose","Miguel","Angel","Pablo")
0145 GOTO 0240
0150 REM
0160 futb: REM "Define y carga lista de Futbolistas
0170 PRINT (1)'LISTADD'(101,-1,"Pele","Maradona","El Kaiser","Luis Garcia","Reinaldo","Teofilo Cubillas")
0180 PRINT (1)'LISTADD'(102,-1,"Gabelo","Ronald Gomez","Wilmer Lopez", "Mauricio Montero","Rolando Fonseca")
0190 GOTO 0240
0200 REM
0210 ocup: REM "Define y carga lista de Ocupaciones
0220 PRINT (1)'LISTADD'(101,-1,"Mecanico","Bombero","Fontanero","Cirujano","Abogado","Chofer","Guarda")
0230 PRINT (1)'LISTADD'(102,-1,"Secretaria","Doctora","Miscelanea", "Misionera","Visitadora Social","Maestra",
0230:"Microbiologa","Supervisora")
0240 NEXT ven; DIM e$:TMPL(1)
0250 REM
0260 main_loop: REM "Obtiene y muestra eventos causados por el usuario
0270 READ RECORD(1,SIZ=LEN(e$))e$
0280 PRINT e.context," ",e.code$,e.id," ",HTA(BIN(e.flags,1)), e.x, e.y
0290 IF e.code$="X" THEN PRINT (1)'DESTROY'; STOP
0295 PRINT (1)'CONTEXT'(e.context); REM "Se posiciona en CONTEXTO activa
0295:por el usuario
0300 IF e.code$="B" THEN GOTO pasar
0310 REM
0320 REM "Ctrl actividad en lista de la izquierda (ID=101)
0330 IF e.id<>101 THEN GOTO 0370
...

Primero Previo Próximo Último

Portada -- Foros -- Manuales -- Enlaces-- Sugerencias
Para comentarios: webmaster@essnet.com

clear1x1.gif
clear1x1.gif
clear1x1.gif
Portada Email Foros