La intención de esta entrada es mantener una lista de empresas y consultorías en donde por lo menos alguna vez han publicado vacantes para desarrolladores Powerbuilder La lista solo comprende la Ciudad de México por ahora, si alguno de ustedes tiene información de otra empresa con gusto las voy agregando. La lista es la siguiente. Empresas Bancomer (Coyoacan) Comercial Mexicana Price Shoes Super Soya SA de CV Telcel (Polanco) Banorte (Santa Fe) Universidad Ibero (Santa Fe) Value Grupo Financiero (Santa Fe) MicroInformática Gerencial (http://www.mig.com.mx)
Consultoras ENKONTROL - www.enkontrol.com Obelsys - www.obelsys.mx Hunt IT - www.huntit.com.mx GoNet Mexico - www.gonet.us/empleo EISEI - eisei.net.mx Knowledge Momentum knowledgemomentum.com Hitss - www.globalhitss.com Enlace Laboral - www.enlacelaboral.com Application Hosting - www.applicationhosting.com.mx En ocasiones Manpower publica vacantes. Tambien les recomiendo establecer alertas en google, occ, computrabajo y jobomas que es de donde más he encontrado ofertas periodicamente, incluso durante todo el año.
Aquí un truco en las datawindows que determina si existen registros duplicados en la datawindow. Lo que puede ser útil, por ejemplo, antes de actualizar en base de datos. En el ejemplo de abajo, la llave primaria (única) es "user_id", entonces lo que se hace es ordenarlas por ésta llave, para posteriormente filtrarlas de manera que solo queden las líneas duplicadas. Si el RowCount posterior al filtrado es mayor a cero, detectamos el o los duplicados, y sin necesidad de recorrer todos los registros.
// la datawindow o datastore en este caso es lds_bufer // ahora usamos el ordenamiento y filtrado para solo dejar los duplicados lds_buffer.SetSort ("user_id A") lds_buffer.Sort() lds_buffer.SetFilter ("user_id = user_id[-1]") lds_buffer.Filter()
if lds_buffer.RowCount() > 0 then //Tenemos un duplicado, y avisamos al usuario. al_row = lds_buffer.GetItemNumber (1, "row_num") as_colname = "user_id" as_error = "Usuario duplicado." return -4 end if
//No hay duplicados, limpiamos el filtro y continuamos con nuestro proceso. lds_buffer.SetFilter ("") lds_buffer.Filter() Explicación:
La formula para combinar los valores de colores promarios en un número es: 256*256*azul + 256*verde + rojo = número donde el valor de cada color primario esta especificado como un valor entre 0 y 255. Por ejemplo, para especificar el cyan, sustituye 255 por azul, 255 por verde y 0 por rojo. El resultado sería 16776960.
En la tabla debajo se enlistan los valores de azul, verde y rojo que puedes usar en la formula para especificar otros colores.
Colores del Sistema En las librerias PFC, hay un servicio de colores que te permite obtener los colores del sistema. Para usarlo, se tiene que llamar a la estructura inv_datacolors.
long ll_selected_text
IF NOT IsValid(gnv_cst_app_object.inv_datacolors) THEN gnv_cst_app_object.of_SetDataColors(True) END IF
gnv_cst_app_object.inv_datacolors.of_SelectedColor( ) // Selected background gnv_cst_app_object.inv_datacolors.of_EnterableColor( ) // Window text gnv_cst_app_object.inv_datacolors.of_ReadOnlyColor( ) // Buttonface gnv_cst_app_object.inv_datacolors.of_SelectedTextColor // Selected Text Color
Para no tener que realizar la fórmula descrita al principio para obtener el valor y asignarlo a una variable, puedes simplemente utilizar la función rgb(rojo INT, verde INT, azul INT). La función admite tres valores numéricos, que equivalen a los valores de rojo, verde y azul, en ese orden. Por ejemplo: rgb(255,255,255) daría como resultado el blanco. rgb(255,0,0) daría como resultado el rojo, rgb(0,255,0) daría como resultado el verde, rgb(0,0,255) daría como resultado el azul y rgb(0,0,0) daría como resultado el negro.
Puedes utilizar la función RGB directamente en las propiedades de color de una datawindow:
O utilizarla al asignarle el valor a alguna constante de color de un objeto en la interfaz gráfica:
Por último, una lista de colores que te ayudaran: BUTTONFACE = 78682240 WINDOW_BACKGROUND = 1087434968 WINDOW_TEXT = 33554592 APPLICATION_WORKSPACE = 268435456 TRANSPARENT = 553648127