Mostrar registros seleccionados tras iniciar un formulario

Hola UNYSOFT, de antemano agradezco tu ayuda, mi consulta es:
Tengo un programa que se inicia con un formulario que tiene botones de Generar y Salir, lo que necesito es que luego de presionarl el botón Generar; en algún momento muestre por pantalla unos registro seleccionados, cual seria la mejor opción (formulario y grid / formulario y browse / browse), teniendo en cuenta que el cursor se mantenga en esta opción hasta que se cierre la ventana y que esta ventana sea flotante y no este dentro del formulario principal.
Como seria la lógica para es caso.
Gracias y a la espera de tus comentarios.
Saludos
David

1 Respuesta

Respuesta
1
Me parece que contribuiría a la apariencia profesional de la interfaz de tu aplicación si creas un form con un grid al cual llamar cuando des clic sobre el botón generar.
Es imprescindible en nuestro trabajo que la aplicación sea sólida y confiable, es decir que realice el trabajo que se espera de ella, pero como la mayoría de las cosas de nuestra vida nos entran por los ojos, es igualmente importante o más aún que la interfaz sea atractiva y simple para el usuario.
En cuanto al cursor de datos, si tu formulario de inicio tiene establecida "Sesión Predeterminada de datos" podrás utilizar el cursor desde el segundo formulario.
Salidos y Suerte.
Gracias Unysoft por tu ayuda, me explico mejor para que puedas entederme lo que deseo:
Este programa lo que hace es exportar información de SQL a DBF, pero antes hace una validación de los registros, solo en el caso que se encuentre registros incosistentes se debe mostrar una ventana con estos registros, esto para que el usuario tome nota y pueda hacer las correcciones del caso, luego el usuario debe tener la opción de cancelar o continuar el proceso.
Espero ahora estea más claro lo que necesito.
Saludos y Gracias.
David
Ahora te entiendo mucho mejor!
Dado el caso y los requerimientos para la conversión de datos de un formato a otro me parece puedes hacer lo siguiente:
Convertir todos los datos y almacenarlos en cursores temporales. Si se detectan inconsistencias almacenarlas en otro cursor especial a ese efecto. Finalizada la rutina de conversión, liberas las tablas y muestras al usuario en una ventana (otro form con un grid) los registros en los que se han detectado inconsistencias (Si es que las hubiera).
El sistema queda en espera de que se resuelvan una por una las mismas. A medida que se van resolviendo las vas sacando del cursor de inconsistencias y las cargas en el cursor temporal. Una vez finalizado el tratamiento de las inconsistencias grabas todos cursores temporales en una DBF de una sola vez.
Esto método te permitirá obtener las siguientes ventajas:
1) Que el procedimiento no quede interrimpudo, con las tablas abiertas y a medio actualizar, a la espera de la resolución de 1 inconsistencia (si decidieras tratarlas una por una).
2) Aseguras la integridad de tus datos, ya que esperas que el usuario resuelva las incosistencias y confirme antes de grabarlos en las dbf. Sin el el tiempo en que eso sucede hubiera un fallo, no se habrán grabado los datos parcialmente.
Gracias por tu ayuda, mira he creado un segundo formulario para mostrar los registros de incosistencia, pero tengo el problema que cuando se ejecuta el formulario (do form) esta ventana se muestra dentro de la ventana inicial y cuando lo muevo con el mouse no permite sacarlo de esa ventana inicial. Lo que necesito es que la ventana de inconsistencias se independiente de la otra y que no suelte el cursor (focus) mientras esta activa.
Te commento que la ventana de incosistencias tiene el valor windowtype=1 (modal).
Quedo a la espera de tus comentarios.
David
El la propiedad showWindow del formulario Nº 2 selecciona el valor 2 - Como formulario de nivel superior.
Suerte
Ok, la ventana Nº 2 ya esta independiente de la ventana Nº1, ahora me queda este problema:
Que debo hacer para que la ventana Nº2 mantenga el cursor (no permita seleccionar la ventana Nº1) hasta que cierre esta ventana Nº2.
Disculpa la molestia.
David
Ok David, no hay problema
Entonces deber volver al paso anterior en el showWindow del formulario. De esta manera no podrás seleccionar la ventana que está debajo del formulario activo.
Pero me parece que me perdí de algo en el camino !
¿Pará qué necesitas que la segunda ventana sea independiente (showWindow del formulario=2) si a la vez no deseas permitir interacción con la primera ventana mientras la segunda está abierta?
¿No es una contradicción?
Ok, me explico:
Solo es por que la ventana Nº2 es más grande que la ventana Nº1.
Por que de la manera que lo estoy haciendo cuando activo la ventana Nº2 se ubica dentro de la ventana Nº1 y solo puede mostrar hasta lo que permita la ventana Nº1.
Espero puedas entenderme.
DAvid
Entonces haz lo siguiente:
En la propiedad ShowWindow del formulario Nº 2 ponle el valor "0- En pantalla". De esta forma se abrirá sobre el otro formulario y no dentro de él independientemente del tamaño de los formularios. También lograrás que no se pueda activar el primer formulario hasta tanto no cierres el segundo.
Pruébalo y me avisas.
Suerte
Ok UNYSOFT, es correcto lo que mencionas, solo que ahora me estoy dando cuenta que ese en realidad no era mi problema, te explico:
Las dos ventanas (formulario Nº1 y Formulario Nº2) se activan dentro de la ventana principal de visual foxpro, ¿es correcto verdad?.
En mi programa estoy formatendo la ventana principal del visual foxpro al tamaño del formulario Nº1, entonces cuando activo el formulario Nº2 que es más grande que el formulario Nº1 ahí tengo el problema del formulario Nº2 que no se puede visualizar completo.
¿Hay alguna manera de solucionar este caso?.
De repente te preguntaras por que necesito esto, lo que pasa es que estoy colgando este programa en un sistema desarrollado en visual basic.
Saludos
DAvid
Lo único que se me ocurre es que configures la ventana de Visual FoxPro al tamaño de tu formulario más grande.
Una alternativa más estética sería la siguiente: (Sólo si tu aplicación sólo tiene estos dos formularios)
1) Diseña tu primer formulario con las dimensiones capaces de contener al segundo, y cambia la propiedad showWindow a 2- Como formulario de nivel superior (de tu primer formulario)
2) En tu segundo formulario cambia la propiedad showWindow a 1- En formulario de Nivel Superior.
Entonces no necesitas la ventana principal de VisualFoxPro. En tu ejecutable sólo se abrirá el primer formulario, y al hacer clic en generar (y cuando el sistema encuentre inconsistencias) se abrirá tu segundo formulario dentro de la venta de tu formulario principal.
Tu eliges lo que más te convenga.
Pruébalo y me cuentas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas