Escolar Documentos
Profissional Documentos
Cultura Documentos
Un DataWindowChild es un DropDownDataWindow en un objeto DataWindow. Un DropDownDataWindow se comporta como un objeto Child (hijo) del DataWindow que lo contiene.
Los DataWindowChild son tiles por ejemplo para mostrar informacin de tablas maestras en forma de listado filtrar informacin de un campo. Cmo se crea un DataWindowChild? Veamos un ejemplo. Se tiene un campo cod_area, el cual al seleccionar muestra un listado de todas las reas de una empresa. 1. En la imagen tenemos los datos de la tabla maestra que almacena las Areas.
2. Se crea el objeto DataWindow que ser vinculado como Child y mostrar el listado de Areas. Este objeto se crea segn los datos de la tabla maestra Area. En este DataWindow solo debe mostrarse los campos que se desea visualizar. Guardamos el objeto con el nombre d_area.
3. Seleccionamos el campo cod_area en el cual se creara el vinculo y nos desplazamos a la pestaa Edit de la ventana de propiedades, en la opcin Style Type seleccionamos la opcin DropDownDW, en la misma pestaa nos desplazamos hacia abajo y buscamos la opcin DataWindow, hacemos clic y seleccionamos el DataWindow creado en el paso 2. En la opcin Display Column seleccionamos el campo des_area que viene a ser el nombre, en la opcin Data Column seleccionamos el campo cod_area que es el cdigo del area seleccionada.
Vista Final
Publicado por Elmer Ventocilla en 15:52 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: DataWindowChild Reacciones:
ds_prueba=Create DataStore //Se Instancia la variable ds_prueba.DataObject="dw_authors" //Se establece el objeto DataWindow ds_prueba.SetTransObject(SQLCA) //Se conecta a la BD ds_prueba.Retrieve() //Recupera la informacin
Articulos de apoyo: Conexin a SQL Server Conexion a SQL Server mediante OLE DB Conexion a MySQL
Dudas?, Comentarios?. Publicado por Elmer Ventocilla en 17:02 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: DataStore Reacciones:
En el cdigo anterior se crea una nueva tabla llamada empleado_2, y se crea la columna Id_emp el cual es un campo IDENTITY el cual su indice iniciara del numero 100 y se
incrementara en 1. Nota: Esta funcin IDENTITY no admite pasar valores mediante variables. Publicado por Elmer Ventocilla en 14:45 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Funciones SQL Server Reacciones:
long
//Almacena
la fila en donde se encuentra el campo con valor numero de columna con valor null. nombre de la columna con valor null.
null.
integer string //Almacena el //Almacena el
string
ls_columna
dw_1.AcceptText() ll_row=1 li_columna = 0 dw_1.FindRequired(Primary!,ll_row, li_columna,ls_colname, True) IF ll_row <> 0 THEN dw_1.SetColumn(li_columna) dw_1.ScrollToRow(ll_row) //Obtenemos el mensaje de validacin obtenido. ls_columna= dw_1.describe(ls_colname+'.ValidationMsg') //Quitamos las comillas del mensaje de validacin. ls_columna=left(ls_columna,len(ls_columna)-1) ls_columna=mid(ls_columna,2,len(ls_columna)) dw_1.SetFocus() //Mostramos el mensaje de validacin. messagebox("Verifique",ls_columna,Exclamation!) END IF
Dudas?, Comentarios?. Publicado por Elmer Ventocilla en 16:18 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Validacin DataWindow Reacciones:
dw_1.Filter()
// Filtro por campo nico
dw_1.SetFilter("Cod_empleado='PMA42628M'") dw_1.Filter()
//Filtro segn modelo usando caracteres comodn dw_1.SetFilter("(Nombre like '%maria%') and (Apellido like '%rodriguez%')")
dw_1.Filter()
//Filtro por rango de nmero dw_1.SetFilter("Edad >20 and Edad<=30")
dw_1.Filter()
El mtodo SetFilter() establece los criterios de filtrado. El mtodo Filter() ejecuta el filtro segn los criterios establecidos. Dudas?, Comentarios?. Publicado por Elmer Ventocilla en 12:36 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Filtros DataWindow, Mtodos DataWindow Reacciones:
Integer Valor Decimal Resultado Valor=10 //Considerar que las variables que se pasen deben ser del mismo tipo //definido en el procedimiento almacenado DECLARE sp_procedure PROCEDURE FOR usp_escenario1 @parametro1 = :Valor, @parametro2 = :Resultado OUTPUT; //Ojo definir el parametro2 como OUTPUT.
EXECUTE sp_procedure; //Ejecutamos con el nombre del Alias FETCH sp_procedure INTO :Resultado; //Recuperamos el resultado CLOSE sp_procedure; messagebox("",Resultado)
Escenario 2 y Escenario 3: Cuando devuelve un conjunto de resultados producto de una sentencia select y cuando el procedimiento no tiene parmetros, como dira mi abuela aqu matamos dos pjaros de un tiro, abordando los dos ltimos escenarios restantes. Para una mejor manipulacin de los resultados devueltos por un Procedimiento Almacenado es aconsejable realizarlo mediante un DataWindow, pero eso ser tema de otro artculo. Definimos el cdigo del Procedimiento Almacenado, el cual no pasamos ningn parmetro simplemente ejecutamos el procedimiento y recuperamos el conjunto de resultados.
CREATE PROCEDURE usp_escenario2_3 AS BEGIN CREATE TABLE #cliente ( codigo int, nombre varchar(15) ) INSERT INTO #cliente VALUES(1,'PEPE') INSERT INTO #cliente VALUES(2,'JUAN') INSERT INTO #cliente VALUES(3,'MARIA') SELECT codigo,nombre FROM #cliente END
Integer codigo String nombre //Considerar que las variables que se pasen deben ser del mismo tipo definido en //el procedimiento almacenado DECLARE sp_procedure PROCEDURE FOR usp_escenario2_3; EXECUTE sp_procedure; //Ejecutamos con el nombre del Alias FETCH sp_procedure INTO :codigo,:nombre; //Recuperamos el resultado DO WHILE sqlca.sqlcode = 0 Messagebox("Resultado",string(codigo)+" " +nombre) FETCH sp_procedure INTO :codigo,:nombre; LOOP CLOSE sp_procedure;
Articulos de apoyo: Conexin a SQL Server Conexion a SQL Server mediante OLE DB Publicado por Elmer Ventocilla en 12:35 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: PowerBuilder Reacciones:
PowerBuilder
En algn momento nos hemos hecho la misma pregunta, Que es PowerBuilder?, Para que sirve PowerBuilder?, o tambin, Es bueno PowerBuilder?, pero antes de nada un poco de historia. PowerBuilder fue desarrollado hace ya muchos aos atrs, en los aos 1991 bajo el mando de la compaa PowerSoft lanzando la versin 1.0, la versin 2.0 fue lanzada en 1992, en esta versin PowerBuilder incluye la herencia y encapsulacin, haciendo de PowerBuilder un lenguaje netamente orientado a objetos. En 1995 PowerSoft fue adquirida por la compaa Sybase, lanzando las versiones sucesoras. PowerBuilder es una herramienta empresarial, para arquitecturas cliente/servidor , distribuida y web, orientado completamente a objetos, adicionalmente PowerBuilder posee un objeto nativo para la gestin y manipulacin de datos llamado DataWindow el cual nos permite Insertar, Actualizar, Eliminar datos, adicionalmente nos permite visualizar los datos en mltiples formatos y vistas segn la necesidad. El objeto DataWindow se ha convertido en la piedra angular de PowerBuilder, hace que el trabajo con datos sea realmente sencillo, donde el programador con pocas lneas de cdigo pueda tener una interfaz de usuario con validacin y actualizacin de datos en minutos, haciendo ms productivo la etapa de desarrollo. Desde mi punto de vista PowerBuilder es por excelencia el mejor Lenguaje de Programacin para desarrollar herramientas y sistemas empresariales para la gestin de datos, este es quiz su punto fuerte y donde mejor se desempea. He ledo en la pgina de Sybase donde indica que PowerBuilder es un lenguaje de programacin de propsito general, pero a mi modo de ver no es as, PowerBuilder no es recomendable para desarrollar aplicaciones de uso general, donde PoweBuilder es experto e idneo, y como ya lo mencione es en la Gestin de Datos, es ah donde PowerBuilder es la mejor eleccin. Publicado por Elmer Ventocilla en 13:33 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: PowerBuilder Reacciones:
SQLCA.dbms="ODBC" SQLCA.dbparm="ConnectString='DRIVER={MySQL ODBC 5.1 Driver}; SERVER=localhost;PORT=3306;DATABASE=mysql;UID=usuario;PWD=contrasena; OPTION=135168;DisableBind=1;'" connect using SQLCA;
Nota:
En la seccin "DRIVER={}" la conexin puede variar segn la versin del driver que descarguemos de la pgina de MySQL, para el ejemplo se descargo el driver mysql-connector-odbc-5.1.6-win32 Los parmetros usados SERVER,PORT, DATABASE,UID,PWD puede variar segn la configuracin actual de su servidor.
Publicado por Elmer Ventocilla en 11:21 1 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: MySQL Reacciones:
Este es un ejemplo de un DataWindow Grid con el listado de la tabla authors de la base de datos pubs en SQL Server 2000
f_dw_get_objects
El cdigo para que copie/pegue Nota: No olvidar definir los parmetros segn la imagen mostrada. //f_dw_get_objects //Esta funcin a sido creada por PowerBuilder asi que lo copiamos tal cual. //Esta funcion retorna todas las columnas contenidas en el DataWindow
DO WHILE tab_pos > 0 obj_holder = Mid(obj_string,start_pos,(tab_pos start_pos)) IF (Describe(dw_arg,obj_holder+".type") = obj_type or obj_type = "*")AND & (Describe(dw_arg,obj_holder+".band") = band or band = "*") THEN count = count + 1 obj_list[count] = obj_holder END IF start_pos = tab_pos + 1 tab_pos = LOOP obj_holder = Mid(obj_string,start_pos,Len(obj_string)) IF (Describe(dw_arg,obj_holder+".type") = obj_type or obj_type = "*") AND& Pos(obj_string,"~t",start_pos)
(Describe(dw_arg,obj_holder+".band") = band or band = "*") THEN count = count + 1 obj_list[count] = obj_holder END IF Return count
f_registro_colores
El cdigo para que copie/pegue Nota: No olvidar definir los parmetros segn la imagen mostrada. //Esta funcion toma como parametro el DataWindow y alterna los colores string lista[] integer li_nn integer li_columnas long gl_color_registros
//Esta variable se puede declarar como global gl_color_registros=RGB(191,223,255) //El color que deseamos
li_columnas=f_dw_get_objects(adw_origen,lista,"column","*") for li_nn = 1 to li_columnas adw_origen.modify(lista[li_nn]+'.background.color="16777215~tif (mod(getrow(),2)=0,16777215,'+string(gl_color_registros) +')"') next Ahora en el DataWindow en su evento Constructor() poner el siguiente cdigo:
//Evento constructor del DataWindow f_registros_colores(this) Publicado por Elmer Ventocilla en 12:49 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: DataWindow Reacciones:
Publicado por Elmer Ventocilla en 11:27 1 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: DataWindow Reacciones:
Conexin a SQL Server 2000 desde PowerBuilder 9.x usando archivo INI
Siguiendo con el tema de manejo y uso de conexiones a SQL server, en el presente cdigo veremos cmo realizar una conexin a SQL Server 2000 tomando sus parmetros de conexin desde un archivo INI. El primer paso es definir de manera correcta la estructura del archivo INI, registrando los principales parmetros que se necesita para realizar una conexin con xito. Pues bien aqu dejo una muestra del archivo INI usado en este ejemplo. Nombre del Archivo: conexion.ini
Cdigo para realizar la conexin String startupfile startupfile="conexion.ini" SQLCA.DBMS = ProfileString (startupfile, "sqlserver", "DBMS", "") SQLCA.database = ProfileString (startupfile, "sqlserver", "Database", "") SQLCA.servername = ProfileString (startupfile, "sqlserver", "ServerName","") SQLCA.logid =ProfileString (startupfile, "sqlserver", "LogId", "") SQLCA.logpass ="contrasea" connect using SQLCA;
Los archivos INI tambin son tiles para almacenar informacin acerca de las preferencias de los usuarios as como otros parmetros usados por la aplicacin.
Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: SQL Server Reacciones:
Reacciones:
SQLCA.dbms="OLE DB" SQLCA.logid="sa" SQLCA.logpass="1234" SQLCA.servername="ATENA" SQLCA.DBParm="PROVIDER='SQLOLEDB',DATASOURCE='ATENA',PROVIDERSTRING='da connect; if sqlca.sqlcode<>0 then MessageBox ("ERROR", "Error en conexin" + sqlca.sqlerrtext) return end if messagebox("Exito","Se Conecto a la Base de Datos")
Pregunta: 457 - DATAWINDOWS EN POWER BUILDER Autor: Carlos Gamarra Estoy programando en powerbuilder en el cual en una ventana tengo varios datawindows en un solo sitio a la cual los llamo por un sle que me da una busqueda y me visualiza la informacin que necesito todo me sale bien,pero lo malo esta en la impresion en la cual me imprime todos los dataswindows que tengo en la ventana pero solo deseo que me imprima el datawindow activo o visualizado. Deseo saber que comandos utilizar en el scrip del boton print para que me imprima solamente el datawindow que tengo presente o visualiza De antemano te agradesco respondas mi pregunta
Respuesta: Jose Vela jdvelaa@msn.com Hola. Me parece que te estan perdiendo con las respuestas. la mia aqui va: Caso 1)un window con varias objetos datawindow ejemplo; dw_1, dw_2, dw_3...... 2) un window con un datawindow dondo solo cambias el DataObject ejemplo: dw_1 Choose case <quereporte> case 1 dw_1.DataObject = 'd_reporte1' case 2 dw_1.DataObject = 'd_reporte2' End Choose Respuesta: para ambos casos debes crear una variable datawindow idw_activo pones en el evento activate de los dw. idw_activo = this luego cuando quieres imprimir en tu boton pones idw_activo.Print() eso es todo. espero que te sirva Nota: si quieres ver el dw como se imprimira debes previsualizarlo dw_1.Object.DataWindow.Print.Preview = True mostrar la regleta dw_1.Object.DataWindow.Print.Preview.Rulers = True Jose Vela Respuesta: Luis Jess Gutarra Briones luis_fish@hotmail.com Para imprimir un DataWindows activo, debe de usar el DataStore, para visualizar y mandar la impresion, pero debes de ver queel data Windows este diseado correctamente... Respuesta: jesus ramon gil olguin rgil@baja.gob.mx usa datastores, ya que son datawindows no visibles... Respuesta: Oscar M. oscar_m@hotmail.com Por la largada de la respuesta, la hemos colocado en el archivo resp457.txt Pregunta: 485 - POWER BUILDER EN INTERNET
Autor: Gonzalo Eduardo me gustaria saber si alguien tiene algun conocimientos sobre como hacer que una aplicaccion en Power Builder se pueda correr en una pagina web conectandose a una base de datos sql server. Gracias.
Respuesta: GABRIEL MANILLA gabriel_manilla@hotmail.com PARA QUE SE COMPLICAN TANTO LA VIDA EXISTE UNA NUEVA HERRAMIENTA QUE SE LLAMA APPEON Y TE CONVIERTE TODA TU APLICACION PARA WEB, CLRO ESTA QUE HAY QUE HACRE ALGUNOS CAMBIOS COMO EN LOS TRETRIEVE'S DE LOS DW Y COSAS ASI QUE SON FACIL Y MUY RAPIDO. LA VERDAD HE ESTADO BUSCANDO MANUALES Y UTILERIAS PERO LA VERDAD HAY POCO AUN, DE CUALQUIER FORMA LES PASO EL DATO. PASEN ALGUNO QUE SEPA DOND CONSEGUIR MANUALES EN ESPAOL. Respuesta: Cristian Stolarowa cristian_stolarowa@hotmail.com Si queres migrar una aplicacion de P.B. a web en forma rapida, transparente y NO TENES PROBLEMAS DE ANCHO DE BANDA, usa el producto que menciono nuestro colega anteriormente, el Web Deployment Kit, es transaparente, sencillo de instalara y utilizar (te lo aseguro, ya que lo usamos dos aos aproximadamente), solo que consume mucho cao, este es el unico problema que presenta (problema segun como se lo mire). Sds Respuesta: Mauro A. Morales M. mauro@triton.ciencias.ubiobio.cl Observaciones : Esta tu programa diseada como cliente/servidor ? Si la respuesta es si : a traves de TCP/IP ( WINSOCK ) u otro modo ? Si la respuesta es TCP/IP entonces es facil : Crea una OCX de conectividad TCP/IP en cualquier editor de OCX ( puede ser tambien una DLL C/C++ ) para que el link del WEB acceda al objeto DLL u OCX ( que es tu programa ) <-como una especie de objeto OLE ... ( a lo anterior si deseas le puedes implementar seguridad a traves de clases API ) y puedes obtener datos para tu programa a traves de una pagina CGI ) es ahi donde se complica pues debes estar seguro de que tu servidor de SQL Server no cambie el numero de IP o que su DNS este abajo o saturado por lo que debes resguardar responsablemente esos aspectos de seguridad ... y una vez hecho eso estas listo para recibir todos los datos que desees .... GRANDE POWER :) <-- es una apreciacion mia !! Chau ... GUD BAI ... SI YU LATER !!! ... que te vaiga gud :) ... NICKNAME(IRC) : BALDOR ICQ NUMBER : 17699924 Respuesta: Oscar oscar_m@hotmail.com Yo tengo algn tiempo programando en PowerBuilder desde la versin 3.0 y hasta las ltimas versiones apareci una manera de migrar aplicaciones hacia el internet utilizando el web.pb solo que no era tan transparente como uno quisiera o como sealaban en la documentacin tcnica, hasta la versin 7.0 apareci una manera de hacer que los datawindows funcionaran dentro de pginas ASP al instalarse como objetos COM en la parte del servidor. Existe un ejemplo muy claro dentro del site de Sybase para hacer esto ltimo solo que necesitas el
EAStudio para instalar los drivers del SQLAnywhere, pero creo que te servira mucho. Sin embargo, yo lo veo mas para aplicaciones de arquitectura de 3 niveles (creo que hay muy pocas). Tambin hace poco tiempo sali el PowerBuilder Web Deployment Kit y dice que funciona para aplicaciones de 6.5 y 7.0 (para arquitecura de 2 niveles) sin embargo ya sabes que nunca e tan transparente el migrar el sistema hacia otros entornos, por lo que yo lo tomara con reserva. Espero que te haya servido mi opinin al respecto. Saludos. Pregunta: 584 - POWER BUILDER 6.5 Autor: Decio Rodrguez Estoy evaluando Power Builder 6.5 v.s. Visual FoxPro 5.0. Reconozco que Power Builder, a simple vista, tiene importantes caractersticas que no tiene VFP. Pero me pregunto si es tan bueno como para pagar $4000.Es tan perfecto? No cojea de alguna pata? Me molestara enormemente gastar esa cantidad para descubrir ms tarde fallas exasperantes o dificultades al desarrollar aplicaciones en esta herramienta. Ms an cuando mi viejo VFP (ya disponible la versin 6.0) de $ 600 funciona aceptablemente y quizs combinado con otras herramientas econmicas para visualizar modelos lgicos de BD, motores de BD va ODBC, etc., puede hacer igual o mejor trabajo. Sinceramente, necesito buenos argumentos para apostar por Powersoft pues Microsoft es el adversario. Saludos y gracias.
Respuesta: ALBERTO ESTERLKER albertoesterk@hotmail.com Estimados les comento que soy un programador viejo, he realizado mas de 1500 sistemas que hasta el dia de hoy funcionan a la perfeccion. Y quiero decirles que todavia programo en Foxpro 2.0 para D.O.S. No hay nada que no se pueda hacer en FoxPro 2.0, por lo menos no me toco. Lo importante es sentirse comodo con el lenguaje. Ya que todas las herramientas que estan en el mercado son terriblemente poderosas. Respuesta: Marcelo Guglielmini marcelo@alamo.com.ar Mira, no se de cuando es la pregunta, la versin 6.5 de Power builder es una de las ms estables que conoc pero demasiado vieja. Ya esta la versin 12.1 y la 12.1.NET. Yo probe la 11.5 y anda muy bin, en la 12 ya se reescribi el cdigo de los DataWindows que es lo ms destacable de PowerBuilder ya que acelera muchsimo la programacin. La 12.1.NET ya tiene entorno VisualStudio con lo cual deberas ver si hay algo para migrar desde VISUAL FOX o BASIC, desde otras versiones de PB se puede migrar, conviene primero al 12 clasic que es casi transparente y luego al 12.net que te avisa todo lo que debes reprogramar. Para m ni existe comparacin entre PB (Mercedes) y MS (Fiat) Si me das un ejemplo de MS donde migrses una aplicacin de 10 o 12 aos a la ltima versin y no debas tocar una lnea de cdigo, puedo cambiar mi parecer, pero yo tengo aplicaciones con ms de 15.000 horas y si no fuera por PB creo que no podra mantenerlas de ningn modo. Atte. MG Respuesta: Daniel Castera danca@adinet.com
Estimado Decio; le estoy escribiendo desde Uruguay le diria que pb 6.5 o superior es una muy buena opcion frente a su herramienta acutal de desarrollo en todas sus caracteristicas, desarrollo, robutez, ampliacion etc, como todo lo bueno sale caro, pero estaria adquiriendo una herramienta muy buena para desarrollo de aplicaciones de todo tipo. Mi experiencia con Pb6.5 es buena lo estamos usando en una financiera desde hace mas de 5 aos y su compatibilidad con cualquier base de datos atravez de odbc es exelente, tambien soy parte de una empresa de desarrollo de sofware (gsoft.com.uy) en la cual se utiliza como principal desarrollador el pb6.5 y estamos migrando a versiones superiores por su buen rendimiento incluso frente a visual basic y .net Espero que mi informacion le sea util Respuesta: ESE ESE esalazare@hotmail.com Para cantidades grandes de registros si lo usas con sybase, te recomiendo que sigas con tu herramienta, es muy lento cuando usas datawindows en el momento de abrir las ventanas, pero muy lento. Respuesta: cesar vilela cesarvilela@hotmail.com T dir lo ke opino: trabaj con el fox algn tiempo hasta incluso un poko despus de utilizar PB 4, pero nunka por nunka ni sikiera me atrevera a compararlos, claro si vas a hacer un programa ke solo imprima una miserable factura, usa el viejo VF (ke ha d ser lo mejor de microsoft), si kieres algo en serio y grande donde puedas desarrollar toda tu habilidad en software empresarial usa POWERBUILDER!!! fui a trabajar a una empresa donde idolatraban los productos d microsoft y todo lo tenian hecho en akellos productos, al notar la rapidez d desarrollo en powerbuilder no dudaron en migrar y ahora los "visuales" de microsoft son historia, y una historia penosa!! si kieres dar un paseo en tu misma calle subete a una patineta si kieres recorrer el mundo subete a PowerBuilder Respuesta: Dante Balandrano A. dbalandrano@seicom.com.mx Una pregunta, de verdad has trabajado bien con VFP? Lo que puedo decirte es que para aplicaciones en serio, debes usar plataformas de desarrollo lo suficientemente potentes y buenas, PB no es la 8 va. maravilla pero es muy, pero demasiado superior a VFP y todas las demas herramientas del Studio, (incluyendo al mugrero de Visual Basic). Mira que yo utilic ambos y es lo que te puedo decir. Saludos. Respuesta: Juan Pablo Celedon Cortes celesoft@avantel.net Mira yo uso el PB (PowerBuilder) desde la version 3,4,5,6,6.5 y ahora 7.03 y hace unos 4 meses termine una aplicacion con el Visual FoxPro 7.0 y te dire que la comparacion no es tan sencilla.. como algun colega acaba de contestarte DEPENDE DEL TIPO DE APLICACION ... contesta lo siguiente... Que Base de datos Usaras.. recuerda que powerbuilder es una herramienta ( Front-End ) Osea que NO esta casado con ninguna Base de Datos... si tu
sistema necesita ser portable para llevarlo e instalarlo el mismo usuario... la R=VFP si tu sistema es empresarial corporativo y usas StoredProcedures de tu BD como MS-SQL Server , Oracle o Informix la R=PB.... te dire que aun que soy enamorado de PowerBuilder mis colegas no me dejaran mentir que los SQL Embebidos osea SQL escrito en PowerBuilder son "Lentos" tienes que bajarlos a la base de datos... y aun que nunca me convencio Microsoft reconozco que el VFP como Cliente Servidor si lo usas al 100% esta super integrado al MS SQL Server 7.0 y puedes escribir sentencias de SQL desde VFP y las ejecuta 100% igual que si fuera una StoreProcedure con el comando SQLEXEC() si usaras MS SQLServer 7.0 y no necesitas llevar tu aplicacion a muchos lados en diskete para instalar yo le doy un empate total (SOLO EN ESTE CASO). recuerda que PowerBuilder es un poco mas complicado de su instalacion.... Despues de 10 aos de usar PB ya poseo rutinas de que solo llevas el .EXE y al correr la primera vez se AUTO-INstala la aplicacion con todo y ODBC o dirvers Nativos y da de alta en el Registry de Windows etc... eso mismo lo he hecho en VFP osea que depende cuanto tiempo te lleve hacerte experto en el que te guste ambos te dara lo mismo... para mi viva PB ! Respuesta: Pedro Herrarte Pedro_Herrarte@yahoo.es Hola, soy un enamorado de todo el entorno de progrmacion de MicroSoft Visual Studio, aunque tarbajo con PowerBuilder. Tu pregunta debe tener como respuesta otra pregunta. Que tipo de aplicacion quieres hacer? Si pretendes hacer una aplicacin para diseo grafico... ni mires a Power Builder. Pero si lo que quieres es atacar a una base de datos Power Builder es la mejor herramienta que conocco (con todo el dolor de mi corazon para VB) Sus DataWindows son sencillamente el mejor control enlazado a base de datos que podamos pensar. Pero no te hagas lios, Power Builder no es un lenguaje ni facil ni perfecto y tiene numerosas trampas que solo la practica te ayudar a solucionar, ademas si trabajas con Visual y no estas acostumbrado a herencias y demas caracteristicas de POO te resultar algo dificilillo al principio.(Aunque dispone de una ayuda que es la hostia) Ala, ya esta Respuesta: Juan Miraval juanmiraval@hotmail.com Definitivamente Power Builder 7.0 es una herramienta de desarrollo mucho ms potente que visual fox pro. creo que no hay punto de comparacin. Una de las caracteristicas de Power Builder es que ee Cliente Servidor por naturaleza, cosa que no lo tienen muy claro Visual Fox. Su programacin es muy sencilla, no se por que uno de los comentarios que he leido dice que es dificil. no lo es. Es facil y ordenado en la codificacin. Tiene muchas herramientas que te permiten hacer muchas cosas en una cantidad menos de horas. Yo tambien trabajaba con Visual Fox Pro pero cuando se trata de administrar grandes cantidades de data este se vuelve tan lento uqe tienes que implementar rutinas de evacuacin de informacin a diario. con power no me sucede lo mismo ya que power builder es una herramienta cuya caracteristica principal es la de manipular grandes volumenes de infortmacin.
En referencia alos costos se sabe que hay mucha diferencia en tre Visual Fox pro y Power builder incluyendo incusive a Visual Basic. Yo creo que nosotros los especialistas en Informtica siempre devemos de afriontar los cambios. Si es de provecho planificar las actividades para implementarlo en la empresa y veras que te dar muchos resultados y sobre todo realce en tu trabajo. Ti tienes la oportunidad de ingresar power builder a tu empresa haslo sin pensar, de lo contrario tendrias que evaluar mucho ms el horizonte que te ofrece Visual FOx Pro frente a las futuras necesidades de la empresa. Espero te oriente este comentario. Juan Miraval Villanueva. P.D. Espero me confirmes a mi correo para formar un circulo de ayuda mutua. Gracias. Respuesta: jose miguel jm_tortosa_vergara@teleline.es No es por descorazonarte, pero no creo que sea muy buena idea cambiarte a PB, como manejador de grandes cantidades de datos es colosal, y sencillo en entrono de desarrollo, ms complicado en la programacin, y adolece de efectos visuales Respuesta: Renzo Grado fatal_men@yahoo.com A mi juicio las ventajas de PB por sobre VF van por tres lados : 1.- Interfaz altamente acoplada con los motores de base de datos, ya sea utilizando odbc, los conectores internos (para la familia de productos Sybase fundamentalmente) o utilizando conectores de terceros. 2.- Una orientacion a objetos bastante avanzada no solo en los objetos graficos, sino tambien en algunos objetos no graficos. Esto permite una reutilizacin de codigo realmente notable. Como ejemplo mi productividad de programacion aumento en mas de un 45% en comparacin a mi antigua herramienta (VB 4.0). 3.- La interfaz de programacin es bastante sofisticada y permite incorporar SQL directamente en el codigo (SQL Inmerso) incluyendo T-SQL, Ademas posee un control muy poderoso denominado "DataWindow" que en terminos simples, es un control permite acceder directamente a los datos en forma grafica usando sentencias SQL, y mucho mas que eso. Respuesta: Leonardo Daniel Velazquez Fuentes leodan@sistec.com.mx Hola, mira para mas detalles visita mi pagina en http://www.sistec.com.mx/~leodan ya que alli explico cuales son las ventajas de uno y otro, y tambien cuales son sus grandes defectos..! espero tus comentarios bye..!! Respuesta: Arturo Baeza del Solar abaezad@mailcity.com Hola, Como estas? : Al grano, es verdad que Power es una herramienta cara, pero te puedo dicir que no hay nada que no puedas hacer con PowerBuilder, hace unos dias terminamos una aplicacin que calcula
los incentivos para las distintas areas El Teniente (CODELCO S.A.), y tuvimos que llegar al punto de crear una ventana que contiene una "DataWindows" que se genera en tiempo de ejecucion (No siempre con la misma estructura ni titulos de cabecera), como Power te permite Sql inmerso te facilita enormemente la programacin. chau Pregunta: 909 - ENLAZAR VENTANAS DE POWER BUILDER Autor: Miguel Tejada espero tener acceso ainformacion sobre programacion en POWER BUILDER . actualmente meencuentro desarrollando un programa de inventario delos equipos electricos de launiversidad en laque estoy estudiando y necesito ayuda en ciertos temas (como enlazo ventanas de distintas librerias *.pbl?). Gracias mil!!
Respuesta: MIGUEL VILLADIEGO mvilladiego@starmedia.com HOLA SOY CERTIFICADO DE POWER BUILDER, Y ME GUSTARIA AYUDARTE DE MANERA SENCILLA. 1. LO QUE PRIMERO DEBES HACER ES INCLUIR LAS OTRAS LIBRERIAS DONDE TIENES TUS OTROS OBJETOS. COMO: CUANDO ABRAS TU PROYECTO PRINCIPAL PRESIONA CLICK DERECHO Y SLECCIONAS PROPIEDADES 2. TE APARECERA LA VENTANA DE APLICACION, Y SELECCIONAS LA PERTAA DE LIBRERIAS 3. VERAS LA LISTA DE LIBRERIAS QUE TIENES ANEXADAS, POR LO GENERAL SOLO APARECA UNA, LA QUE ESTAS TRABAJANDO 4. INCLUYE LAS OTRAS LIBRERIAS, PRESIONANDO EL BOTON "BROWSE", BUSCALAS E INCLUYELAS, PUEDES SELECCIONAR VARIAS, Y OK. 5. CUANDO YA ESTEN INCLUIDAS, PUEDES UTILIZAR CUALQUIER OBJETO DE CUALQUIERA DE LOS PROYECTOS QUE ANEXASTES. POR EJEMPLO SI QUIERES INCLUIR UN DATAWINDOW DE OTRO PBL, HAS COMO SI FUESES A CREAR UN NUEVO DW Y VERAS QUE APARECE EN LA VENTANA LAS LIBRERIAS QUE SELECCIONASTES ANEXAS Y CUANDO CLICKEES SOBRE ELLAS APARECERAN LOS DW QUE ESTASN TIENEN, SOLO ESCOJE Y UTILIZALAS. ESPERO SEA MAS CLARA ESTA RESPUESTA, SUERTE. Respuesta: Renzo Grado fatal_men@yahoo.com Complementando la respuesta anterior, te recuerdo que si tu incluyes todas tus PBL en el objeto aplicacion, entonces todos los objetos contenidos por esas pbl, sern accesibles desde cualquier ventana u objeto, es decir pasan a ser "publicas". Respuesta: Alex Moreno Riofrio morenamr@telconet.net
Primero en propiedades de la aplicacion debes de tener la lista de librerias pbl que vas ha usar. Luego desde cualquier lugar del programa puedes usar: 1.-
OpenSheet ( sheetrefvar {, windowtype }, mdiframe {, position {, arrangeopen } } ) sheetrefvar : insatancia de una pantalla mdiframe : MDI de la cual es hija la nueva pantalla. position : pocision del menu donde aparecera un acceso directo a la pantalla abierta arrangeopen : forma de presentacion puede ser -> Cascaded! , Layered! , Original! Espero hayudarte con esto Alex Pregunta: 1429 - CONEXION A BASE DE DATOS Autor: Julio Cesar Bolaos Hdez Saludos a todos tengo un problema si me pueden asesorar se los agradezco. Tengo una Base de Datos (SQL Server 6.5) y mi lenguaje de programacion es Power Builder 5.0 y el problema es el siguiente, yo quiero conectarme a la base de datos por medio de una interfase echa desde Power Builder todo esto porque tengo un equipo de PDT (Codigo de Barrras)que lo envia a la base de datos pero power buider no lo encuentra porque tengo que primero realizar una interfase entre el P.B y la B.D si alguien me puede ayudar gracias.
Respuesta: Renzo Grado fatal_men@yahoo.com No entiendo bien tu pregunta, sin embargo, te recuerdo que el abiente de desarrollo de PB, necesita que ejecutes algunos procedimientos almacenados en la base de datos con la que vas a trabajar, para que se creen unas tablas de usuario que permitiran a PB conocer las tablas y columnas de tu BD. Estos procedimientos vienen incluidos en los CD estandares de PB y debes mirar la documentacion de PB en la parte instalacion para saber cual procedimiento debes ejecutar y cual es su ubicacion. Por otro lado si tu problema es en la aplicacion ya realizada, puede ser que tu problema este en la configuracion correcta del objeto transaccion (SQLCA), donde debes indicar el tipo de conexion (ej sqlca.DBMS = "ODBC") y el juego correcto de parametros (ejemplo para odbc : sqlca.DBParm = "ConnectString=DSN=Mydb;UID="sa;PWD="password";") Ojala esto te sirva de algo. Si no puedes mandarme un mensaje a mi e-mail Pregunta: 1457 - SELECT EN TABLAS DBF Autor: German Risco Salcedo Una consulta para quien pueda ayudarme:
Estoy aplicando PowerBuilder para hacer un modulo de Consultas a una Tabla de tipo DBF de un sistema que aun se encuentra operativo en mi empresa. Cuando trato de hacer una sentencia SELECT incrustada en el Script de mi programa, me arroja Syntax Error, pero con la misma sentencia SELECT en el DB Administration funciona a la perfeccion. Hay alguna consideracion adicional que tomar en cuenta al incrustar una sentencia SELECT para utilizar Tablas de tipo DBF ?? Gracias por la ayuda.
Respuesta: Cristian Neira cneira@protein.cl Cuando realizas un select en tu script, recuerda que si lleva variables, estas deben ir antecedidas del signo :. Esto para que el el compilador asuma que no es una columna perteneciente a una tabla. Lo otro es que debes revisar la sintaxis de la instruccin Select, ademas del tipo de Datos de la Clausula WHERE. Por ultimo esta Sentencia debe terminar con un punto y Coma (;) Espero te sirva Saludos Cristian Respuesta: Isaac Freijo Prez isaac@grupids.com Lo primero que tienes que saber es que si es una sentencia incrustada en cdigo tiene que ser finalizada con un punto y coma. Despus, todas las columnas que retorne el select deben ser almacenadas en variables, cogete la help, all hay ejemplos: Select a into :variable from tabla Pregunta: 1616 - EJECUTABLE EN POWER BUILDER Autor: Rafael B Quisiera que alguien me ayudara diciendome como hago para que un ejecutable hecho en PB funcionase en otro equipo. Yo hice el ejecutable en PB y cuando lo monto en otro equipo me sale un error que dice "no se ha encontrado, pbvm60.dll". Que hago gracias por su respuesta.
Respuesta: Daniel Castro Olivas Danielco15@hotmail.com solo toma de tu maquina el archivo pbvm60.dll y copialo al directorio c:\windows\system\ de la otra maquina, luego lo copias de ahi mismo(c:\windows\system\) y lo pegas arriba del archivo Regsvr32.exe para registrarlo, algunos no ocupan registro, solo con copiar el archivo funciona (haces lo mismo con todos los dll que te marque que te faltan). Respuesta: Diogenes Alberto Moreira dmoreira@elsito.net
Dentro del help hay una lista de las dll que tenes que pasar dependiendo de los objetos que usaste en tu aplicacion. Esto es lo mas comun siempre = PBVM70 .DLL, LIBJCC.DLL DataWindows = PBDWE70 .DLL Rich Text = PBRTC70 .DLL OLE automation servers = PBAEN70.TLB DataWindow plugin = NPDWE70 .DLL Standard PowerBuilder window plugin = NPPBA70 .DLL Secure PowerBuilder window plugin = NPPBS70 .DLL Standard PowerBuilder window ActiveX = PBRX70 .OCX Secure PowerBuilder window ActiveX = PBRXS70 .OCX Font mapping = PBFNT70.INI Label DataWindow presentation style predefined formats = PBLAB70.INI Database connection tracing = PBTRA70 .DLL Respuesta: Ciro Arrieta Miraval ciro_a@perfunid.com.pe Tienes que copiar todos los archivos que estan en "sybase\pb65\shared" a la carpeta donde estan tu ejecutable y tus dlls Pregunta: 1715 - GRAFICO EN POWERBUILDER Autor: Hugo CArdenas RIojas Mi problema es que me han pedido que en PowerBuilder, Grafique las funciones Logaritmicas, exponenciales y cuadraticas. Pero yo no encuentro aun como hacerlo estoy trabajando con el control Graph.
Respuesta: Ken Fer chezzu@yahoo.com EL problema es ke esas funciones no existen en el power pero si en el Servidor de Base de Datos Podrias crear un(os) datawindow(s) de Stored procedures. Pregunta: 2119 - LIBRERIAS POWER BUILDER Autor: Luis Cceres Hola Amigos.Saben necesito encontrar manuales avanzados de Power Builder y de una libreria llamada SRMSQLPL.pbl. Les agradeceria que me dieran algunos datos. De Antemano Gracias
Te recomiendo la linea de Prentice Hall, tiene 3 ediciones (dos de ellas de nivel experto) muy buenas. Pregunta: la libreria que buscas que se supone contiene ? Saludos Pregunta: 2135 - SYBASE Y POWER BUILDER Autor: Luis Cceres Hola Amigos.. Necesito saber como crear procedimientos almacenados en Sybase y luegos utilizarlos en una aplicacin en Power Builder. Ojal algunas direcciones con manuales avanzados de Power Builder y Sybase.. De antemano Gracias... Saludos
Respuesta: Oscar Rios oscp_rr@viabcp.com Mira en Power la forma optima de utilizar los procedimientos almacenados es creando un objeto coneccion, abrea la ventana para crear objetos nuevos enntra al tab Object y selecciona Clases Standar te va a dar una lista donde debes de seleccionar el objetos connecction. De una vez hayas seleccionado este en el declare busca local external functions da sobre la zona de edicion boton derecho te aparecera un menu debes de seleccionar Paste Special/SQL/remote store procedures esto te va a permitir cargar los proc que tienes en tu DB. Claro que en el momento de la coneccion debes de usar este objeto y definirlo como tu objeto conneccion. Respuesta: Eduardo Xavier TG. exaviertg@latinmail.com
Con respecto a los procedimientos almacenados puedes hacerlos desde el ISQL que viene con Sybase Anywhere del PB , bueno aqu tienes que usar slo cdigo, no es difcil pero si tiene su grado de dificultad, pero tambin puedes hacerlo desde el Sybase Central que me parece es ms fcil... Primero desde Sybase Central conectate a la base de datos y luego ubcate en "Procedures & Functions" y escoge en el otro lado del panel "Add Procedure/Function (Wizard)" y con el asistente crears facilmente tu/s procedimiento/s almancenado/s, obviamente debes tener nociones bsicas de los SP.
Desarrollador PowerBuilder
DOMINGO, 18 DE ENERO DE 2009
Creando un Standard Visual - User Object Para crear un Standard User Object, presionamos click en el icono New del PowerBar y escogemos Standar Visual del Tab PB Object.
Escogemos CommandButton Nota: Es muy comn usar CommandButton's en nuestras apliaciones, entonces para dar un ejemplo de herencia en PowerBuilder crearemos un CommandButton User Object base o
ancestro con nombre u_cb. Lo sgte que tenemos que hacer es heredar del objeto u_cb (Standard Visual CommandButton Ancestro), buscamos el objeto u_cb, le da damos click derecho y elegimos Inherit.
Y asi sucesivamente creamos los CommandButton's que nuestra aplicacin necesite ejemplo: "Nuevo, Eliminar, Imprimir, Modificar, Eliminar, Cerrar, etc"
Desarrollador PowerBuilder
DOMINGO, 27 DE NOVIEMBRE DE 2011
Actualmente he desarrollado unas fuentes con Kodigo, he implementado nuevos objetos y nuevas funcionalidades a algunos de sus objetos de Kodigo v3.3.1.5 y he migrado todo a PowerBuilder 10.5, bueno lo que empez como un tema de investigacin y de ejemplo
termino siendo mis actuales fuentes de desarrollo (por ahora se quedaron en stand by mis queridas BFC ya mencionare de ellas).
Espero tras este post contactar con otras personas que utilicen Kodigo y poder intercambiar ideas y experiencias.
Publicado por Barzi en 20:18 2 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: GUI, Herencia, Programacin Orientada a Objetos, User Objects, Variables y Objetos
2 - En la pestaa General en Executable File Name, ubicamos la ruta y el nombre del archivo ejecutable
4 - En la pestaa Versin colocamos las propiedades de nuestro producto, para el ejemplo dejamos los que establece PowerBuilder.
5 - Una vez ubicados en la pestaa Run estamos listos para desplegar o crear los archivos ejecutables, dar clic a la opcin Deploy Project del PowerBar. No es necesario dar un inicio (Start in).
1-
2.
3.
Publicado por Barzi en 18:04 1 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Conexin, SQL SBADO, 24 DE SEPTIEMBRE DE 2011
Argumentos en DataWindows
Para crear argumentos de recuperacin en un DataWindows debemos seguir los siguientes pasos: Ingresar al DataWindows y darle clic a la opcin Data Source del PainterBar:
Publicado por Barzi en 17:19 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: DataWindows MARTES, 9 DE AGOSTO DE 2011
w_nombre_window.ChangeMenu(m_nombre_menu)
Publicado por Barzi en 13:56 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Menu, Windows DOMINGO, 7 DE AGOSTO DE 2011
Pero hay un detalle que se debe tener en cuenta antes de comenzar a migrar de versin, si es mejor desarrollar un nuevo software o migrar de versin las Aplicaciones PowerBuilder. Algunos clientes no solo quieren migrar de versin sus Aplicaciones PowerBuilder, tambin quieren migrar de Base de Datos sea a una nueva versin, a una Base de Datos de distinta tecnologa Licenciada o Libre. Algunos clientes prefieren migrar de versin sus Aplicaciones PowerBuilder porque piensan que se ahorra mas tiempo, es mas barato, van a poder utilizar las nuevas bondades de ultima versin migrada, etc.
He tenido la oportunidad de migrar distintas Aplicaciones PowerBuilder encontrndolas sin estndares de programacin, con exagerado SQL Embebido, sin POO, etc y en estos casos es donde aplico Refactoring (dedicare un post sobre mi experiencia en Refactoring a Aplicaciones PowerBuilder).
PowerBuilder cuenta con un asistente que nos permite ver que sintaxis es obsoleta y lo encontraremos seleccionando File - New
Publicado por Barzi en 10:34 0 comentarios Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Migracin SBADO, 6 DE AGOSTO DE 2011
Antes de leer estos libros solo tenia la idea de heredar es por eso que en el 2007 publico este post Herencia en PowerBuilder, pero faltaba Encapsulacin y Polimorfismo, entonces no aplicaba POO en PowerBuilder siendo una herramienta Orientada a Objetos.
El punto de partida y que me cambio totalmente la idea sobre POO en PowerBuilder fue cuando di mantenimiento a una aplicacin desarrollada con PFC, sinceramente fue muy complejo todo al comienzo, luego empece a entender y a manejar las PFC pero jamas me agrado, es as que en el 2008 publico este post PowerBuilder Foundation Class.
Trabajar con aplicaciones desarrolladas con PFC y el querer aplicar POO en PowerBuilder me lleva a buscar en la web sobre POO y es cuando me encuentro los libros ya mencionados anteriormente y tambin con documentacin en ingles sobre POO en PowerBuilder aunque muy poca.
Bueno llego el momento de explicar lo que me faltaba aplicar o lo que se no sabia aplicar:
Encapsulacin
PowerBuilder soporta la encapsulacin de variables, eventos y funciones a nivel de objetopara las ventanas, menus y user object. Mediante el uso de variables instancia, eventosdefinidos por el usuario y funciones de nivel de objeto.
Polimorfismo
El polimorfismo permite que una operacin se comporte de manera diferente, dependiendo del contexto en el que se llama a la operacin.
PowerBuilder soporta Overloading y Overriding Overloading: funciones con el mismo nombre en el mismo objeto. Overriding: funciones descendientes suelen tener los mismos argumentos, pero el cdigo dentro de la funcin es diferente.