Form de Alerta o Mensaje Tipo PopUp con vfp

2,448 views
Skip to first unread message

amaro

unread,
Jul 22, 2010, 5:00:29 PM7/22/10
to Comunidad de Visual Foxpro en Español
Hola lista, estoy buscando opciones para el desarrollo de un
formulario de alertas tipo messenger.
y encontre este ejemplo, del cual desconozco el autor.
Lo comparto ya que a alguien le puede ser de utilidad y si alguien
tiene mas ejemplos se agradece


alerta=CREATEOBJECT("alerta")
alerta.mensagem("O backup foi realizado com sucesso.")

DEFINE CLASS alerta AS form
Height = 120
Width = 375
ShowWindow = 2
BorderStyle = 0
Caption = ""
TitleBar = 0
AlwaysOnTop = .T.
BackColor = RGB(14,173,241)
Name = "alerta"

ADD OBJECT edtmensagem AS editbox WITH ;
FontSize = 20, ;
Alignment = 2, ;
BackStyle = 0, ;
BorderStyle = 0, ;
Height = 103, ;
Left = 2, ;
ScrollBars = 0, ;
Top = 3, ;
Width = 370, ;
IntegralHeight = .T., ;
Name = "edtmensagem"


PROCEDURE visualizar
PARAMETERS m.lnA as Integer
LOCAL m.lnInicio as Integer, m.lnFim as Integer, m.lnStep as Integer
m.lnInicio=IIF(m.lnA=1,10,255)
m.lnFim=IIF(m.lnA=1,255,0)
m.lnStep=IIF(m.lnA=1,10,-10)
FOR m.loop1=m.lnInicio TO m.lnFim STEP m.lnStep
INKEY(.01,"H")
_Sol_SetLayeredWindowAttributes(THISFORM.hWnd, 0, m.loop1, 2)
ENDFOR
ENDPROC


PROCEDURE mensagem
PARAMETERS m.lcmensagem
thisform.edtmensagem.Value=m.lcmensagem
thisform.Visible=.t.
_Sol_SetLayeredWindowAttributes(THISFORM.hWnd, 0, 10, 2)
thisform.visualizar(1)
INKEY(2)
thisform.visualizar(0)
_Sol_SetLayeredWindowAttributes(THISFORM.hWnd, 0, 0, 2)
thisform.Visible=.f.
ENDPROC


PROCEDURE Init
zoom window alerta max
m.lnHeight=this.Height
m.lnWitdh=this.Width
zoom window alerta normal
this.left=m.lnWitdh-375-10
this.top=m.lnHeight-120+20
DECLARE SetWindowLong In Win32Api AS _Sol_SetWindowLong
Integer,Integer, Integer
DECLARE SetLayeredWindowAttributes In Win32Api AS
_Sol_SetLayeredWindowAttributes Integer, String, Integer, Integer
_Sol_SetWindowLong(THISFORM.hWnd, -20, 0x00080000)
_Sol_SetLayeredWindowAttributes(THISFORM.hWnd, 0, 0, 2)
ENDPROC
ENDDEFINE

Roberto Olivas Mendoza

unread,
Jul 22, 2010, 5:25:41 PM7/22/10
to publice...@googlegroups.com
Existe un proyecto muy completo en la red acerca de eso. Se llama VFPAlerts.
Buscalo en Google.


-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de amaro
Enviado el: Jueves, 22 de Julio de 2010 03:00 p.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Form de Alerta o Mensaje Tipo PopUp con vfp

ricardo peña

unread,
Jul 23, 2010, 6:50:52 AM7/23/10
to publice...@googlegroups.com
Estimados colegas:
 
He notado en los mails que circulan sobre Bases de Datos, que
muchos convierten ciegamente bases nativas de nuestro querido
VFP a SqlServer, MySQL, Firebird, etc.,etc.
 
Si bien es cierto que una Base de Datos o una tabla de VFP tienen
un asombroso parecido con las de SQL, el tratamiento que cada
producto le da a los datos es distinto.  Quizás podamos ganar en
comodidad cuando hacemos un upsizing de nuestras tablas nativas
a SQL, pero si queremos obtener el máximo beneficio de un producto
de este porte, debemos re-pensar la ingeniería de los datos.
 
Por de pronto, en SQL hay un tratamiento distinto si la tabla tiene
un índice agrupado o no, dado que este tipo de índice determina
el orden físico ( el orden en que está grabado en el disco ) de la
tabla y puede ser crítica la performance de un insert o de un update.
Súmenle a esto un uso eficiente de los bloqueos y que cada
instrucción esté pensada en función de evitar "deadlocks".
 
Hay que analizar cada caso en particular, para obtener de la capa de
datos su mejor rendimiento.  Esto se logra escribiendo "querys", esto es
sentencias SELECT ( disculpen la mayúscula ) eficientes.  Para eso
tenemos en estos productos, planes de ejecución gráficos que nos
permiten entender qué hará el motor de BD para resolver esa ins-
trucción, antes de la ejecución propiamente dicha.
 
Cuando tengamos BD chicas, esto es hasta 100 ó 200 Megas, no
vamos a tener grandes problemas; pero cuando empiece a crecer,
escribir SELECTs eficientes será todo un desafío.
 
Lo mismo resulta de hacer una SELECT simple de una sola tabla, que
hacer una con JOIN, ORDER BY y GROUP BY.
 
Cuidado con convertir alegremente tablas y BD de VFP a uno de estos
productos porque pueden convertirse en nuestra peor noche.
 
Ricardo Luis Peña
Analista de Sistemas
BA - Argentina


Más herramientas para una vida más práctica. Estamos reinventando un nuevo Hotmail. Ver más

javier foxparaguay

unread,
Jul 23, 2010, 6:04:07 AM7/23/10
to publice...@googlegroups.com
Clap Clap Clap
 
Esto merece un blog.

Luis Mata

unread,
Jul 23, 2010, 1:34:22 PM7/23/10
to publice...@googlegroups.com
Amigo no se de que hablas, a SQL importas la data de los dbf o en todo caso la estructura de los dbf, INDICES.... los indices no valen ni se pasan a SQL... aclara bien las cosas.
upsizing .. no se que rayos es eso, yo desde SQL solo hago click derecho y elejo importar datos.
 
Luis
----- Original Message -----
Sent: Friday, July 23, 2010 5:50 AM
Subject: [vfp] Advertencia sobre Bases de Datos

Luis Mata

unread,
Jul 23, 2010, 1:36:40 PM7/23/10
to publice...@googlegroups.com
"Cuidado con convertir alegremente tablas y BD de VFP a uno de estos
productos porque pueden convertirse en nuestra peor noche."
 
Transmites incapacidad, es sencillo migrar dbf a SQL.

Roberto Olivas Mendoza

unread,
Jul 23, 2010, 2:03:40 PM7/23/10
to publice...@googlegroups.com

Los indices no valen en SQL? Con todo respeto pero deberías de documentarte mejor sobre los motores de SQL antes de emitir ese comentario, pues tomando tus palabras, nada más sabes hacer clic con el botón derecho y pasar los datos. Con respecto a lo que dice Ricardo concuerdo con él, pues he visto aplicaciones que utilizan motores SQL “colgarse” debido al mal manejo de los bloqueos implícitos, lo que provoca frecuentemente pavorosos “deadlocks” que inhiben la actividad para todos los clientes (léase Terminales de Trabajo).

 

Y … Upsizing es el hecho de pasar tus datos de BDs de escritorio (lease VFP, Access, Paradox, etc.) a un gestor de BD Cliente/Servidor (MS SQL, Firebird, MySQL, Postgre, Oracle)

Julio Rossi

unread,
Jul 23, 2010, 3:06:40 PM7/23/10
to publice...@googlegroups.com
No est� hablando de migrar los datos solamente, sino de recomendaciones
muy �tiles a tener en cuanta al hacerlo.
Mas que incapacidad, creo que transmite conciencia de lo que habr�a que
pensar 'antes' de migrar. Me parece excelente el comentario.

En cuanto al Upsizing, el t�rmino es el que indica el compa�ero Roberto,
y hasta el mismo VFP trae un asistente para realizar esto (aunque no
recomendable).

Saludos cordiales

Julio Rossi
VFP 9 -SP2

El 23/07/2010 02:36 p.m., Luis Mata escribi�:

SSMH

unread,
Jul 23, 2010, 4:34:57 PM7/23/10
to Comunidad de Visual Foxpro en Español
Hola Julio, creo que Luis Mata se refería que al usar el asistente
para pasar un dbf a SQL (upsizing); no tiene nada que ver los indices
(idx, cdx) en esta conversión ya que estos no se pasan de VFP a SQL
SERVER.
Bueno la verdad yo eh usado Upsizing y me eh ahorrado mucho trabajo en
cuanto a crear todo desde cero.
pero luego de usarlo revisé cada una de mis tablas y volvi a
recapitular los tipos de campos ya que hay muchos que no son los
indicados al hacer el traspaso, además volví a crear los indices y
quite algunos campos que ya no necesitaría utilizarlos.

Al menos que no haya interpretado bien tu correo a que te referías con
que no utilize el UPSIZING????
Este es mi caso y te diré que mi sistema funciona y rinde
perfectamente.

Saludos.
> > Luis- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -

ricardo peña

unread,
Jul 23, 2010, 6:32:55 PM7/23/10
to publice...@googlegroups.com

Estimados:
 
De ninguna manera intenté generar una discusión en el foro.
 
Tampoco creo merecerme el título de incapaz al que alude Luis
dado que sólo intentaba hacer una advertencia sobre la
importancia de generar bd's y tablas en sql.
 
Hace ya "algunos años" que trabajo con sql server de M$ y 
conozco algunos casos que han resultado fatales para la
performance de los sistemas.  Caso de alguna compañía
telefónica donde se incorporan por día 40.000.000 de registros
( si cuarenta millones de registros por día ).
 
Con respecto al diseño de la bd, es importante tomar conciencia de la
importancia que esto tiene, dado que un mal diseño traerá aprejado
un mal desempeño de la base y en sql ( cualquiera sea el producto )
es clave el diseño y se paga muy caro un error.  Esto es, no
resulta válido el término: "si....pongo una tablita por acá y ya está" ó
"aquí agregamos este campo y listo".
 
Con respecto a los índices, son importantísimos dado que resultan de
ayuda inestimable para la instrucción select.  Hay casos que conozco
que la incorporación de un índice ha bajado el tiempo de respuesta del
sql de 2 horas 40 minutos a unos 10 minutos por la presencia de un
índice.  Tienen razón al decir que los índices no se pueden "pasar" de
vfp a sql. Pero volver a pensar los índices en función de cómo trabaja
el motor de sql, es central para una buena performance.
 
Quisiera señalar además, que una bd de sql posee básicamente sólo
2 archivos físicos ( el .mdf y el .log ) y que entender cómo funcionan
y qué contienen cada uno y cómo se administran manual ó auto-
máticamnte, me llevó unos 2 meses entenderlo.  Si alguno trabajó con
el diseñador de bd de vfp tenga en cuenta que es abismal la diferencia
con el del sql, porque es abismal la diferencia entre el motor de sql y
el de vfp.  Hoy puedo decir que el vfp es un excelente manejador de
archivos que "simula" muy bien una bd, pero hay que entender una bd
de sql y su motor.
 
Términos como log, backup, replicación ( creo que el libro más chico de
este tema es de 900 páginas ) son algunos de los temas con los que
nos podemos enfrentar ó que algún cliente nos puede reclamar.
 
Saludos

 
Ricardo Luis Peña
Analista de Sistemas
BA - Argentina
 
 
 
   


Para que tu tiempo sea sólo tuyo, estamos reinventando un nuevo Hotmail. Descubrilo. Ver más

Armando Rodríguez

unread,
Jul 23, 2010, 6:44:50 PM7/23/10
to publice...@googlegroups.com

Muy valiosa tu exposición Ricardo.

Saludos

Julio Rossi

unread,
Jul 23, 2010, 7:37:48 PM7/23/10
to publice...@googlegroups.com
No, no, no digo que no utilize el Upsizing en forma general.
Lo digo con respecto al ayudante de VFP que como bien dices requiere en
forma posterior revisar cada una de las tablas y sus campos.
Pero es la manera de aprovechar el dise�o de las tablas ya hecho en VFP.
Un saludos cordial.

Julio Rossi
VFP9 - SP2

El 23/07/2010 05:34 p.m., SSMH escribi�:
> Hola Julio, creo que Luis Mata se refer�a que al usar el asistente


> para pasar un dbf a SQL (upsizing); no tiene nada que ver los indices

> (idx, cdx) en esta conversi�n ya que estos no se pasan de VFP a SQL


> SERVER.
> Bueno la verdad yo eh usado Upsizing y me eh ahorrado mucho trabajo en
> cuanto a crear todo desde cero.

> pero luego de usarlo revis� cada una de mis tablas y volvi a


> recapitular los tipos de campos ya que hay muchos que no son los

> indicados al hacer el traspaso, adem�s volv� a crear los indices y
> quite algunos campos que ya no necesitar�a utilizarlos.
>
> Al menos que no haya interpretado bien tu correo a que te refer�as con


> que no utilize el UPSIZING????

> Este es mi caso y te dir� que mi sistema funciona y rinde
> perfectamente.
>
> Saludos.
>

Rene Ricardo

unread,
Jul 23, 2010, 8:44:14 PM7/23/10
to publice...@googlegroups.com

En mi caso, prefiero una BD a las tablas fox, se quita uno varios dolores de cabeza (seguridad)

wchalito

unread,
Jul 24, 2010, 5:01:19 AM7/24/10
to Comunidad de Visual Foxpro en Español
Gracias Ricardo Peña por tus recomendaciones y concuerdo con Roberto.

Al parecer nuestro colega Luis toma los comentarios muy personales,
como si fueran directo a él y bueno pues alli su comentario.
Aquí todos los comentarios son bienvenidos sean errados o no, (espero
esta apreciación sea el de todos) y aquí todos estamos para aprender
y seguir aprendiendo, si son errados, se le hace saber al colega que
está equivocado y se discute el asunto en forma alturada.

Saludos.

Willy Roa
LIMA - PERU


On 23 jul, 13:03, "Roberto Olivas Mendoza"
<rolivasmend...@megared.net.mx> wrote:
> Los indices no valen en SQL? Con todo respeto pero deberías de documentarte
> mejor sobre los motores de SQL antes de emitir ese comentario, pues tomando
> tus palabras, nada más sabes hacer clic con el botón derecho y pasar los
> datos. Con respecto a lo que dice Ricardo concuerdo con él, pues he visto
> aplicaciones que utilizan motores SQL “colgarse” debido al mal manejo de los
> bloqueos implícitos, lo que provoca frecuentemente pavorosos “deadlocks” que
> inhiben la actividad para todos los clientes (léase Terminales de Trabajo).
>
> Y … Upsizing es el hecho de pasar tus datos de BDs de escritorio (lease VFP,
> Access, Paradox, etc.) a un gestor de BD Cliente/Servidor (MS SQL, Firebird,
> MySQL, Postgre, Oracle)
>
> De: publice...@googlegroups.com
> [mailto:publice...@googlegroups.com] En nombre de Luis Mata
> Enviado el: Viernes, 23 de Julio de 2010 11:34 a.m.
> Para: publice...@googlegroups.com
> Asunto: Re: [vfp] Advertencia sobre Bases de Datos
>
> Amigo no se de que hablas, a SQL importas la data de los dbf o en todo caso
> la estructura de los dbf, INDICES.... los indices no valen ni se pasan a
> SQL... aclara bien las cosas.
>
> upsizing .. no se que rayos es eso, yo desde SQL solo hago click derecho y
> elejo importar datos.
>
> Luis
>
>
>
> ----- Original Message -----
>
> Más herramientas para una vida más práctica. Estamos reinventando un nuevo
> Hotmail. Ver más <http://www.nuevohotmail.com>  - Ocultar texto de la cita -

carlos SALCEDO

unread,
Jul 24, 2010, 9:45:08 AM7/24/10
to publice...@googlegroups.com

Grupo:

Es importante identificar lo que somos,un GRUPO
y que como en todo grupo esxisten diferencias de conceptos y
dibergencias en las apreciaciones, pero que en ningun momento debemos perder la esencia que nos une

- EL INTERES POR UNA HERRAMIENTA RAPIDA Y SENCILLA, Y EL APRENDIZAJE
CONTINUO DE LA MISMA,QUE PARTE DE LA VOLUNTAD EXPPEDITA DE DAR
LO MEJOR DE NUESTRO CONOCIMIENTO PARA RECIBIR LO MEJOR DE LOS DEMAS.

Teorias y discusiones sobre base de datos,en este momento existen de todo tipo
sobre todo en lo que tiene que ver con sql o no sql, esto incluye
indices, balanceo de carga,replica,herencia,poliformismo,
FIREBIRD,POSTGRESQL,MARIADB,MYSQL y un largo etc que enriquese
el entorno informatico.
Por lo tanto debemos - ESCUCHARLO TODO Y RETENER LO BUENO

Bendiciones

Carlos
 		 	   		  

Discover the new Windows Vista Learn more!

Luis Mata

unread,
Jul 24, 2010, 1:20:58 PM7/24/10
to publice...@googlegroups.com
Mi estimado llevo mas de 5 años con sql, los indices de vfp no se pasan a sql, lo que no significa que no se deba de hacer en el mismo SQL una vez pasada la data es en el mismo sql donde debe de genera tus llaves y relaciones pero con lenguaje de sql, no me vas a decir que cuando migras a sql Server sigues usanedo tus CDX e IDX.
he migrado muchas bd a SQL y los Deadlooks tienen soluciones ampliamente documentadas, los problemas de cuelgues de una BD eso es muy raro que lo menciones.
 
Para transmitir una informacion hay que saber de lo que se habla y no solo haber visto o escuchado de terceros en mi caso trabajo con sql server 2005 y 2008 y no he visto ni escuchado de lo que hablo sino lo he vivido.
 
Luis Mata
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5308 (20100724) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com


__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5308 (20100724) __________

ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com

Roberto Olivas Mendoza

unread,
Jul 24, 2010, 4:03:45 PM7/24/10
to publice...@googlegroups.com

Estimado, no hablo por haber escuchado de otras personas: nosotros aquí hemos tenido que hacer reingeniería de aplicaciones de terceros que tenían ese enorme problema llamado “deadlocks” y muchas cosas más. Yo desarrollo en VFP por cuestiones de conveniencia, no estoy casado con él. Soy un Ingeniero de Software y trabajo no nada más con SQL Server, sino con MySQL, Firebird, PostgreSQL y créeme, no me caso con ninguno de ellos. Los usamos todos por igual, dependiendo de la solución que vayamos a ofrecer a nuestros clientes. Así que sé exactamente de lo que estoy hablando. Tú eres la persona que refleja desconocimiento con tus comentarios (deberías de formularlos mejor) y si llevas más de 5 años con SQL no me impresiona. Yo he venido trabajando con SQL desde hace 15 años, aún cuando en el ambiente informático no se hablaba tanto de Microsoft SQL Server (Sí : SQL no es algo nuevo, data desde 1986)

 

Y otra cosa: pon los pies sobre la tierra, lo que utilizamos aquí son herramientas de trabajo, nada más. Si el día de mañana tengo que cambiar por otra herramienta no va a acabarse mi vida, simplemente tendré que aprender a usar la nueva herramienta. SQL Server, Visual FoxPro, etc. no son ciencias, por lo tanto pueden llegar y pueden irse. Cuando expongas un comentario hazlo aportando algo, no con frases como upsizing .. no sé qué rayos es eso”, pues desde ahí reflejas tu ignorancia y luego te enojas cuando alguien dice que lo eres. Por lo general mis respuestas han sido en el tono en que tú respondes a este foro, pero a partir de ésta última ya no voy a ofrecer ninguna en ese sentido, pues es una pérdida de tiempo y no vale la pena.

Luis Mata

unread,
Jul 24, 2010, 7:44:13 PM7/24/10
to publice...@googlegroups.com
Entonces caso cerrado.
__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5309 (20100724) __________


ESET NOD32 Antivirus ha comprobado este mensaje.

http://www.eset.com


__________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 5309 (20100724) __________
Reply all
Reply to author
Forward
0 new messages