Inicio

   
 

 
¿ Quieres imprimir esta página ? Volver a la página principal de Recursos iSeries AS400 ¿ Necesitas ayuda ? En pruebas
System i5 iSeries AS400 Recursos. Compartiendo generamos conocimiento
.

Página anterior

Bienvenidos a la comunidad hispana de usuarios y profesionales de AS/400 .
Secciones
Recursos
IBM y el AS/400
Manuales. FAQ's
Client Access
Java
Servidor HTTP
Windows NT
Delphi/400
Hardware AS/400
Comunidad Visual RPG
Lotus Domino
Revistas
Cliente/Servidor
Utilidades
Partners
Año 2000
Guía de compra
Shareware Pc's
Internet
Virus
Erp
Trucos AVR
Drivers
Eventos
Foros
Bolsa de trabajo
Download del mes
Rincón de GeneXus
Alertas
Entretenimiento
Novedades
Faq foro visual RPG.
- Hemos desarrollado algunos programas sencillos de mantenimiento de tablas en donde intervienen dos formas, tal y como se muestra en los ejemplos. app-1-main.vrf El programa funciona bien si corre solo, pero si lo incluyo en un menu en donde este no se ejecuta primero la compilacion dice que no reconoce las formas, subfiles y archivos de la segunda forma. Podria alguien ayudarme a resolver este inconveniente.

a mi me pasaba lo mismo, sobre todo si el primer programa del menu el cual llamaba al segundo y este no utilizaba la opcion de variables globales. Siempre el primer programa debe de tener las definiciones de los demas como variables globales y alli se termina el problema. ojala te sirva de algo.

Ademas de definir variables globales en el formulario principal o en una de Code principal, tambien puedes hacer referencia a los objetos de los otros formularios indicando el formulario 'padre' en el que se encuentran. p.e.: frm2.IOCod2 = frm1.IOCod1 Esto se puede hacer teniendo en cuenta que; en el caso que el formulario frm1 este cerrado, se nos volvera a cargar frm1 y tendremos que cerrarlo nosotros. Tenemos la opcion de dejarlo en modo Hide (en memoria) si no nos interesa que este visible. La dinámica del VRPG es que los ficheros, variables etc. que se definen en el primer programa del proyecto permanecen activos en todos los programas del mismo. El programa inicial lo puedes establecer en la opción herramientas, opciones, projecto del VRPG. Si ya tienes un mantenimiento de este tipo y quieres crear un menu podrías hacerlo creando un projecto nuevo que fuera el menú y desde este llamar con un "Exec" a los proyectos que correspondan a cada opción. Si lo que prefieres es tener un sólo ejecutable tienes que pasar a definir los ficheros y las variables que tenías en el primer programa del mantenimiento al código del formulario del menú.

- Tengo una lista con la propiedad Sorted=True en la que guardo importes, pero los negativos los coloca entre los positivos sin orden concreto. Cuál es el problema?? Y la solución?? Gracias.

El estandard de microsoft y AVR para el "list box" o "combo box" no acepta valores numericos negativos, en realidad, estos controles solo aceptan "strings" (literales) y valores positivos. (Suponiendo que estas usando AVR 2.2) Para resolver este problema tienes dos alternativas: 1. puedes escribir un tu programa una funcion que ayude a la lista a organizar los valores negativos. Esto se hace creando otra lista invisible que ayuda a organizar los valores numericos y luego se pasan a la lista visible al usuario: DCLFLD X *PACKED LEN(9,2) DCLFLD Y *PACKED LEN (15,2) Y = IO1 //SUPONIENDO QUE LOS NUMEROS SON INPUTS DEL USURARIO. Y = 10000000 + Y //SEIS 0'S POR LOS SIETE DIGITOS DE LA X X = LIST1.ADDITEM (Y) LIST2.ADDITEM (IO1.TEXT,X) 2. Esperar AVR 3.0. En el "release" 3.0 de AVR vas a poder crear tus propios controles Active X; de esta forma, por ejemplo, podras hacer que una lista acomode logicamente valores negativos de la manera en que tu quieres.

- Me gustaria saber como se habria de hacer para conseguir imprimir el grafico dinamicamente en el registro de un fichero de impresión, ya que parace ser que el grafico, en vez de guardarse un puntero hacia el archivo de imagen lo que se guarda es directamente toda la imagen, merci.

En la pagina de ASNA hay un ejemplo en el que se muestra como cambiar la foto dinamicamente al momento de imprimir: http://www.asna.com/examples_2.2_new.asp El nombre del archivo del ejemplo es:"Image Display.VRM" localizado en el folder llamado "Intermediate examples". Fundamentalmente, solo necesitas ejecutar el comando LoadPicture. Es decir, suponiendo que el "print image control" esta definido como "prtimage" en el print file format "fmtpicture". "\\myimages\picture.bmp" Entonces: LoadPicture file("\\myimages\picture.bmp") target(fmtPicture!prtimage.picture) write fmtPicture

- Desearia saber como crear un fichero en formato xls o doc a partir de un fichero de AS/400.

Una solución es copiar el archivo de AS/400 a un archivo de B.D. Local mediante el mandato de Visual RPG DGCPYFILE y a continuación exportar todo el fichero a ASCII con el mandato DGEXPFILE y darle un nombre con extension XLS, de esta manera a continuación con el mandato EXEC se abrira automaticamente el EXCEL, con el archivo perfectamente transformado.

- Me gustaría si es posible poner fondos de diferentes colores a botones en un mismo formualrio.

Si quieres poner distintos colores a los botones de un mismo formulario. Seria mejor que utilizaras los CommandButton incluidos en Windows, dentro de FM20.dll . Esta DLL incluye distintos controles utilizados por windows que forman parte de los Microsoft Form 2.0. Cuidado que no todos los controles que hay en esta DLL funcionan para VisualRPG.

- En un formato de Acceler8DB Print File Editor quiero imprimir un campo en distintos colores en función de su valor, y no sé cómo hacerlo.

Hay un ejemplo muy bueno referente a tu pregunta en la pagina de asna en la direccion: http://www.asna.com/examples_2.2_new.asp
"Baja" el ejemplo del internet y asi podras ver la forma en que se hace en AVR22

- Trabajando con Visual RPG, al mover la paleta de control de los controles ocx, la he desplazado a un lugar de la pantalla que no puedo verlas. ¿Hay alguna manera de recuperarla) Gracias,

La manera de recuperar la 'Control Palette' si tener de inicializar el 'Regedit'. Es la siguiente: Abrir la carpeta del Regedit: HKEY_CURRENT_USER/Software/ASNA/ ASNA Visual RPG/Current Version/IDE/Toolbars-Bar3 En esta carpeta se ha de modificar el valor de XPos a 0. Tambien se puede modificar el valor de YPos a 100 por ejemplo.

- Somos una cadena de productos de alimentacion.
Ahora tenemos una aplicacion en AS/400 de gestion y la queremos traspasar a entorno Visual, queremos aprovechar el diseño de Base de Datos y los fuentes de los programas, y mejorar el entorno de la aplicacion con imagenes.
¿Es posible con Visual RPG?
¿Cuanto tiempo me costaria aprender Visual RPG y convertir la aplicacion?

Con Visual RPG, se puede desarrollar una aplicacion en un PC, aprovechando el codigo RPG, incluso se pueden importar pantallas 5250 y trabajar contra la B.D del AS/400 directamente. Ademas, se puede traspasar la B.D. del AS/400 al PC y con el gestor de B.D. Acceler8DB que esta incluido en el Suite de Visual RPG se puede trabajar en el PC local o contra un servidor NT perfectamente.
La conversion de aplicaciones RPG a entorno Visual es factible gracias a que Visual RPG entiende y trabaja con la misma programacion que el RPG. Ademas la curva de aprendizaje es de 1 semana.

- Necesitaría saber como poder obtener la lista de los controles del formulario de VRPG, así como sus propiedades y el contenido de las mismas en tiempo de ejecución. Ya se que esto no es posible a través de VRPG, pero la opción de generar un OCX con visual Basic 6.0 no la descarto. ¿Que rutinas o API's debería usar para generarme este control?.
Muy agradecido.

IOleClientSite* pSite = GetClientSite(); ASSERT(pSite); LPOLECONTAINER pContainer; if (FAILED(pSite-*GetContainer(&pContainer))) { pSite-*Release(); return; } IEnumUnknown* pEnum = NULL; // OLECONTF_EMBEDDINGS is used to retrieve OLE Controls. // OLECONTF_OTHERS is used to retrieve other objects such as // Visual Basic internal controls HRESULT hResult = pContainer-*EnumObjects(OLECONTF_EMBEDDINGS | OLECONTF_OTHERS, &pEnum); if( FAILED(hResult) ) return; ....

- Me interesa haber si alguien conoce alguna solución para saber si hay alguna instrucción para saber si existe un fichero concreto,sin tener que abrirlo, para en caso contrario crearlo por programa. Gracias

Utilitzando el objeto *app de VisualRPG podemos controlar los errores que se producen en el transcurso del programa. Este objeto esta incluido por defecto en todos los proyectos, de manera que no es necesario incluirlo, de hecho, no se puede añadir , ya que es un objeto que no tiene representación física.
   Asi pues, para controlar el aceso a un fichero que no existe podemos hacer :
   DGCLRMBR DB('BaseDatos') FILE('Biblioteca\Fichero')
                     MBR('Miembro') ERR(*IN89)
   Select
      when *app.DBErrorCode=603
          Msgbox  'El fichero no existe'
      when *app.DBErrorCode=604
          Msgbox  'El miembro no existe'
   EndSl
     Creo que esto solucionara tu problema.

- Quisiera saber como poder trabajar con miembros de ficheros durante la ejecucion del programa. Lo equivalente a un OVRDBF. Gracias.

La forma de hacerlo, es definir el fichero controlando la apertura en calculo mediante UC. Y definir el miembro con una variable, de forma que puedas utilizar el miembro que quieras y a continuacion realizar el OPEN del fichero, de esta manera se abrira el miembro que hayas movido a la variable.
Ejemplo en Caviar:
DCLDISKFILE NAME(CLIENTES) TYPE(*INPUT) DSG(*FULL) ORG(*INDEXED) DB(BD) FILE(CLIENTES) MBR(MBRVARIABLE)

 

Dossiers técnicos iSeries y AS400
- Seguridad
- Alta disponibilidad.
¿Buscas trabajo ?
Inscríbete en nuestra lista laboral y recibirás las ofertas de trabajo en tu buzón de correo electrónico.
Envíanos un truco y gana
Trucos iSeries AS400 i5 os server
¿Tienes algún truco que quieras compartir con todos los profesionales de Recursos iSeries AS400?.
Envianoslo y si resulta seleccionado te enviaremos un vale de Amazon por valor de 50$.
Todos los trucos y documentos recibidos serán publicados.
Nuestros links favoritos
- Tendencias tecnologías de la información
Expertos en tecnologías de la información, nos dan su punto de vista sobre las tendencias actuales y futuras
- Los últimos anuncios sobre hardware-software para iSeries AS400 realizados por IBM
- Freeware y shareware para el iSeries AS400
- Utilidades para el iSeries AS400 realizadas por profesionales
- Documentos. Trucos e ideas para resolver tus problemas
- Los manuales y links más interesantes del iSeries AS400

IBM ® y AS/400 ® son marcas registradas de IBM
© 1997-2000 Recursos AS/400
Privacidad  
. .