¿Qué es un DataWindowChild? 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 información de tablas maestras en forma de listado ó filtrar información de un campo.
¿Cómo se crea un DataWindowChild? Veamos un ejemplo. Se tiene un campo cod_area , el cual al seleccionar 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 .
Listado Tabla Area
2. Se crea el objeto DataWindow que será vinculado como Child y mostrará el listado de Areas. Este objeto se crea según 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.
Objeto DataWindow que se vinculara c omo Child
3. Seleccionamos el campo cod_area en el cual se creara el vinculo y nos desplazamos a la pestaña Edit de la ventana de propiedades, en la opción Style Type seleccionamos seleccionamos la opción DropDownDW, en la misma pestaña nos desplazamos hacia abajo y buscamos la opción DataWindow, hacemos clic y seleccionamos el DataWindow creado en el paso 2. En la opción Display Column seleccionamos el campo des_area que viene a ser el nombre, en la opción Data Column seleccionamos seleccionamos el campo cod_area que es el código del area seleccionada.
Objeto DataWindow que contiene el Child
Objeto DataWindow que se vinculara c omo Child
3. Seleccionamos el campo cod_area en el cual se creara el vinculo y nos desplazamos a la pestaña Edit de la ventana de propiedades, en la opción Style Type seleccionamos seleccionamos la opción DropDownDW, en la misma pestaña nos desplazamos hacia abajo y buscamos la opción DataWindow, hacemos clic y seleccionamos el DataWindow creado en el paso 2. En la opción Display Column seleccionamos el campo des_area que viene a ser el nombre, en la opción Data Column seleccionamos seleccionamos el campo cod_area que es el código del area seleccionada.
Objeto DataWindow que contiene el Child
Objeto DataWindow que contiene el Child
1. El listado final del campo cod_area seria como la imagen siguiente.
Vista Final
Publicado por Elmer Ventocilla en 15:52 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir blog Compartir con TwitterCompartir con Facebook Etiquetas: DataWindowChild Reacciones:
DataWindow no visual, DataStore El DataStore es un control DataWindow no visual, las ventaja principal de usar un DataStore frente a un DataWindow es que consume menos recursos, por ende es mas eficiente en recuperar datos. La manipulación de un DataStore es similar a un DataWindow. En el siguiente ejemplo dejo el código para declarar y recuperar datos usando un DataStore.
DataStore ds_prueba //Declara variable del tipo DataStore
ds_prueba=Create ds_prueba=Create DataStore //Se Instancia la variable ds_prueba.DataObject="dw_authors" ds_prueba.DataObject= "dw_authors" //Se //Se establece el objeto DataWindow ds_prueba.SetTransObject(SQLCA) //Se conecta a la BD ds_prueba.Retrieve() //Recupera la información
Nota: el DataObject siempre se establece antes de conectar el DataStore a la Base de Datos.
Articulos de apoyo: Conexión 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 electrónicoEscribe un blogCompartir blog Compartir con TwitterCompartir con Facebook Etiquetas: DataStore Reacciones:
Crear columna de IDENTIDAD usando función IDENTITY en SQL Server En SQL Server existe una función llamada IDENTITY, la cual permite crear una columna de identidad en una nueva tabla. Esta función se utiliza en instrucciones SELECT INTO. Otro punto importante es que esta función es distinta a la propiedad IDENTITY que se utiliza con la sentenciaCREATE TABLE y ALTER TABLE.
SELECT nombre, nombre, apellido, apellido, IDENTITY( IDENTITY (INTEGER INTEGER, ,100, 100,1) AS Id_emp INTO empleado_2 FROM empleado
En el código 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 función IDENTITY no admite pasar valores mediante variables. Publicado por Elmer Ventocilla en 14:45 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Funciones SQL Server Reacciones:
Validar campos de un Datawindow usando propiedad “required” El objeto DataWindow cuenta con un método llamado FindRequired() el cual devuelve aquellas columnas que han sido marcadas como "requeridas", y contienen valores Null. Antes, especificamos los campos que seran validados con sus respectivos mensajes, para eso entramos en modo diseño en el DataWindow. Seleccionamos el campo a validar, luego seleccionamos la propiedad required que se encuentra en la pestaña Edit Nos desplazamos en la lista de de columnas y escribimos el mensaje que deseamos que se muestre en el mensaje de validación.
Ahora si, estamos listos para escribir el código de validación.
long
ll_row
//Almacena la fila en donde se encuentra el campo con valor
li_columna ls_colname
//Almacena el numero de columna con valor null. //Almacena el nombre de la columna con valor null.
null. integer string
string
ls_columna
//Almacena el mensaje de validación de la 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 validación obtenido. ls_columna= dw_1.describe(ls_colname+'.ValidationMsg') //Quitamos las comillas del mensaje de validación. 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 validación. messagebox("Verifique",ls_columna,Exclamation!) END IF
¿Dudas?, ¿Comentarios?. Publicado por Elmer Ventocilla en 16:18 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Validación DataWindow Reacciones:
Filtrar datos de columna en DataWindow El DataWindow cuenta con los métodos SetFilter() y Filter() para realizar filtros según el criterio que le indiquemos. En el ejemplo realizamos diversos tipos de filtrado:
//Filtro por rango de fecha. dw_1.SetFilter("FechaNac>=datetime('01/01/1988') AND FechaNac<=datetime('01/01/1990')" )
dw_1.Filter() // Filtro por campo único
dw_1.SetFilter("Cod_empleado='PMA42628M'" ) dw_1.Filter() //Filtro según modelo usando caracteres comodín dw_1.SetFilter("(Nombre like '%maria%') and (Apellido like '%rodriguez%')")
dw_1.Filter() //Filtro por rango de número dw_1.SetFilter("Edad >20 and
Edad<=30")
dw_1.Filter()
El método SetFilter() establece los criterios de filtrado. El método Filter() ejecuta el filtro según los criterios establecidos. ¿Dudas?, ¿Comentarios?. Publicado por Elmer Ventocilla en 12:36 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Filtros DataWindow, Métodos DataWindow Reacciones:
Ejecutar Procedimiento Almacenado en PowerBuilder En el ejemplo mostrare como ejecutar un Procedimiento Almacenado de SQL Server desde PowerBuilder. Mostraremos tres escenarios distintos: 1. Cuando el Procedimientos Almacenado devuelve uno o más parámetros de salida también llamado parámetro OUTPUT . 2. Cuando devuelve un conjunto de resultados producto de una sentencia select. 3. El tercero y más simple, cuando el Procedimiento Almacenado no tiene parámetro alguno.
Escenario 1: Cuando el Procedimiento Almacenado devuelve valor mediante variables OUTPUT . Primero definimos el código del Procedimiento Almacenado, el cual su función es devolver el producto de la multiplicación del valor de parámetro1 y el valor de PI que es 3.1416.
Ojo, devemos definir el parametro de retorno como OUTPUT
CREATE PROCEDURE usp_escenario1 @parametro1 INTEGER,@parametro2DECIMAL(18,2) OUTPUT AS BEGIN SET @parametro2=@parametro1 * 3.1416 END
En la cuadro siguiente el código de PowerBuilder usado.
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 parámetros, como diría mi abuela aquí matamos dos pájaros de un tiro, abordando los dos últimos escenarios restantes. Para una mejor manipulación de los resultados devueltos por un Procedimiento Almacenado es aconsejable realizarlo mediante un DataWindow, pero eso será tema de otro artículo. Definimos el código del Procedimiento Almacenado, el cual no pasamos ningún parámetro 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
En la cuadro siguiente el código de PowerBuilder usado.
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: Conexión a SQL Server Conexion a SQL Server mediante OLE DB Publicado por Elmer Ventocilla en 12:35 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: PowerBuilder Reacciones:
¿Por qué y para qué es bueno PowerBuilder?
PowerBuilder
En algún momento nos hemos hecho la misma pregunta, ¿Que es PowerBuilder?, ¿Para que sirve PowerBuilder?, o también, ¿Es bueno PowerBuilder?, pero antes de nada un poco de historia. PowerBuilder fue desarrollado hace ya muchos años atrás, en los años 1991 bajo el mando de la compañía PowerSoft lanzando la versión 1.0, la versión 2.0 fue lanzada en 1992, en esta versión PowerBuilder incluye la herencia y encapsulación, haciendo de PowerBuilder un lenguaje netamente orientado a objetos. En 1995 PowerSoft fue adquirida por la compañía 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 gestión y manipulación de datos llamado DataWindow el cual nos permite Insertar, Actualizar, Eliminar datos, adicionalmente nos permite visualizar los datos en múltiples formatos y vistas según 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 líneas de código pueda tener una interfaz de usuario con validación y actualización de datos en minutos, haciendo más productivo la etapa de desarrollo. Desde mi punto de vista PowerBuilder es por excelencia el mejor Lenguaje de Programación para desarrollar herramientas y sistemas empresariales para la gestión de datos, este es quizá su punto fuerte y donde mejor se desempeña. He leído en la página de Sybase donde indica que PowerBuilder es un lenguaje de programación de propósito 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 idóneo, y como ya lo mencione es en la Gestión de Datos, es ahí donde PowerBuilder es la mejor elección. Publicado por Elmer Ventocilla en 13:33 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: PowerBuilder Reacciones:
Mostrar cuadro de dialogo "Abrir" para seleccionar un archivo Aquí dejo un ejemplo de cómo utilizar el cuadro de dialogo Abrir para seleccionar un archivo de nuestro ordenador y guadar la ruta y el nombre del archivo en una variable.
String ls_ruta, ls_file GetFileOpenName('Elegir Archivo',ls_ruta, ls_file,"XLS","Texto (*.txt),*.txt,Excel (*.xls),*.xls") /* - El primer parámetro indicamos el titulo que tendrá el cuadro de dialogo - El segundo parámetro, si seleccionas un solo archivo guarda la ruta completa del archivo Ejm: "C:\imagenes\miarchivo.jpg" Si, seleccionase más de un archivo, guarda la ruta del directorio donde se encuentra el archivo seleccionado. Ejm: "C:\imagenes" - El tercer parámetro Almacena el nombre del archivo - El cuarto parámetro es opcional, indicamos el tipo de archivo por defecto definidos en el filtro. - El quinto parámetro es opcional, ahi indicamos el filtro para que se muestre determinados archivos */ if ls_ruta = '' OR IsNull(ls_ruta) then return //Valida que exista el archivo if FileExists(ls_ruta)=false then messagebox("Verifique","El archivo no existe") return end if Publicado por Elmer Ventocilla en 18:49 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Cuadro dialogo Reacciones:
Conectar PowerBuilder con Base de Datos MySQL 5.x PowerBuilder puede trabajar de manera excelente con MySQL, la conexión se realiza mediante conexión ODBC usando el driver que el mismo MySQL pone a disposición y que lo pueden descargar en este enlacehttp://www.mysql.com/downloads/connector/odbc/ . La conexión se realizara sin necesidad de crear ningún DSN, si no de manera directa. Para el ejemplo nos conectaremos a la base de datos mysql. Este ejemplo considera que se tiene acceso al servidor MySQL así como a la base de datos mysql.
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 sección "DRIVER={}" la conexión puede variar según la versión del driver que descarguemos de la página de MySQL, para el ejemplo se descargo el driver mysql-connector-odbc-5.1.6-win32 Los parámetros usados SERVER,PORT, DATABASE,UID,PWD puede variar según la configuración actual de su servidor.
Publicado por Elmer Ventocilla en 11:21 1 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: MySQL Reacciones:
Alternar colores en cada Fila de un DataWindow A continuación veremos como crear un DataWindow tipo Grid en donde los colores de cada fila se alternen, el objetivo es llegar a tener un DataWindow que nos muestre un listado tipo Grid donde se alternen los colores.
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
Ejemplo de alternar colores
Pues bien para empezar crearemos dos funciones: f_dw_get_objects, f_registros_colores El código de cada función a continuación:
f_dw_get_objects
El código para que copie/pegue Nota: No olvidar definir los parámetros según la imagen mostrada.
//f_dw_get_objects //Esta función a sido creada por PowerBuilder asi que lo copiamos tal cual. //Esta funcion retorna todas las columnas contenidas en el DataWindow
string obj_string, obj_holder int obj_count, start_pos=1, tab_pos, count = 0
obj_string = Describe(dw_arg,"datawindow.objects") tab_pos =
Pos(obj_string,"~t",start_pos)
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 =
Pos(obj_string,"~t",start_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&
(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 código para que copie/pegue Nota: No olvidar definir los parámetros según 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 código:
//Evento constructor del DataWindow f_registros_colores(this) Publicado por Elmer Ventocilla en 12:49 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: DataWindow Reacciones:
Crear DataWindow Dinámico A continuación veremos cómo se crea un DataWindow dinámico de manera fácil y clara. Para el ejemplo usamos la base de datos pubs de SQL Server 2000, listaremos tres campos de la tabla authors. Para desarrollar el ejemplo creamos una ventana y dentro de ella creamos un botón llamado cb_1, creamos un datawindow llamado dw_1. En el evento clicked del botón cb_1 insertaremos el código siguiente:
Ejecutamos el programa y el resultado debería ser similar a la siguiente imagen.
Publicado por Elmer Ventocilla en 11:27 1 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: DataWindow Reacciones:
Conexión 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 código veremos cómo realizar una conexión a SQL Server 2000 tomando sus parámetros de conexión desde un archivo INI . El primer paso es definir de manera correcta la estructura del archivo INI , registrando los principales parámetros que se necesita para realizar una conexión con éxito. Pues bien aquí dejo una muestra del archivo INI usado en este ejemplo. Nombre del Archivo: conexion.ini
[sqlserver] DBMS=MSS Microsoft SQL Server 6.x Database=prueba ServerName=ATENA LogId=sa
Código para realizar la conexión
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 ="contraseña"
connect using SQLCA; Los archivos INI también son útiles para almacenar información acerca de las preferencias de los usuarios así como otros parámetros usados por la aplicación.
Publicado por Elmer Ventocilla en 18:02 0 comentarios
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: SQL Server Reacciones:
Creación de variable "transaction" Hay situaciones en las que es necesario lidiar con más de una base de datos, pero ¿como realizamos esta operación?, ¿desconectamos la variable de tr ansacción SQLCA y nos conectamos a la nueva base de datos?, afortunadamente en PowerBuilder esta tarea es sencilla, solo debemos crear un objeto transaction y asignar sus parámetros de conexión y listo, tendremos dos objetos transaction conectados a sus respectivas base de datos. En este ejercicio se crea un nuevo objeto transaction y se asigna sus parámetros de conexión y finalmente se asigna a un DataWindow el nuevo objeto transaction.
transaction NewTrx NewTrx = create transaction NewTrx.dbms="OLE DB" NewTrx.logid="sa" NewTrx.logpass="1234" NewTrx.servername="ATENA" NewTrx.DBParm="PROVIDER='SQLOLEDB',DATASOURCE='ATENA',PROVI DERSTRING='prueba'" connect using NewTrx; if sqlca.sqlcode<>0 then MessageBox ("ERROR", "Error en conexión" + NewTrx.sqlerrtext) return end if messagebox("Exito","Se Conecto a la Base de Datos" ) dw_1.setTransObject(NewTrx) Publicado por Elmer Ventocilla en 16:49 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Conexión
Reacciones:
Conexión a SQL SERVER 2000 mediante OLE DB PowerBuilder desde la versión 10 no tiene soporte para conexiones nativas con Sql Server, en su reemplazo la conexión se realiza vía OLE DB y ADO.NET. Pues bien ante este problema pondré el código que utilice para realizar la conexión mediante OLE DB:
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 conexión" + 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 informaciòn 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
[email protected]
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
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 Jesús Gutarra Briones [email protected]
Para imprimir un DataWindows activo, debe de usar el DataStore, para visualizar y mandar la impresion, pero debes de ver queel data Windows este diseñado correctamente... Respuesta: jesus ramon gil olguin [email protected]
usa datastores, ya que son datawindows no visibles... Respuesta: Oscar M. [email protected]
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 [email protected]
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 ESPAÑOL. Respuesta: Cristian Stolarowa [email protected]
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 años aproximadamente), solo que consume mucho caño, este es el unico problema que presenta (problema segun como se lo mire). Sds Respuesta: Mauro A. Morales M. [email protected]
Observaciones : ¿ Esta tu programa diseñada 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 [email protected]
Yo tengo algún tiempo programando en PowerBuilder desde la versión 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 señalaban en la documentación técnica, hasta la versión 7.0 apareció una manera de hacer que los datawindows funcionaran dentro de páginas 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 serviría mucho. Sin embargo, yo lo veo mas para aplicaciones de arquitectura de 3 niveles (creo que hay muy pocas). También 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 tomaría con reserva. Espero que te haya servido mi opinión al respecto. Saludos. Pregunta: 584 - POWER BUILDER 6.5 Autor: Decio Rodríguez
Estoy evaluando Power Builder 6.5 v.s. Visual FoxPro 5.0. Reconozco que Power Builder, a simple vista, tiene importantes características que no tiene VFP. Pero me pregunto si es tan bueno como para pagar $4000.¿Es tan perfecto? ¿No cojea de alguna pata? Me molestaría enormemente gastar esa cantidad para descubrir más tarde fallas exasperantes o dificultades al desarrollar aplicaciones en esta herramienta. Más aún cuando mi viejo VFP (ya disponible la versión 6.0) de $ 600 funciona aceptablemente y quizás combinado con otras herramientas económicas para visualizar modelos lógicos de BD, motores de BD vía 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 [email protected]
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 [email protected]
Mira, no se de cuando es la pregunta, la versión 6.5 de Power builder es una de las más estables que conocí pero demasiado vieja. Ya esta la versión 12.1 y la 12.1.NET. Yo probe la 11.5 y anda muy bién, en la 12 ya se reescribió el código de los DataWindows que es lo más destacable de PowerBuilder ya que acelera muchísimo la programación. La 12.1.NET ya tiene entorno VisualStudio con lo cual deberías 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 comparación entre PB (Mercedes) y MS (Fiat) Si me das un ejemplo de MS donde migrses una aplicación de 10 o 12 años a la última versión y no debas tocar una línea de código, puedo cambiar mi parecer, pero yo tengo aplicaciones con más de 15.000 horas y si no fuera por PB creo que no podría mantenerlas de ningún modo. Atte. MG Respuesta: Daniel Castera [email protected]
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 años 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 [email protected]
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 [email protected]
T diré lo ke opino: trabajé con el fox algún tiempo hasta incluso un poko después de utilizar PB 4, pero nunka por nunka ni sikiera me atrevería 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. [email protected]
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 [email protected]
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 años 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 [email protected]
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 aplicación para diseño 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 [email protected]
Definitivamente Power Builder 7.0 es una herramienta de desarrollo mucho más potente que visual fox pro. creo que no hay punto de comparación. Una de las caracteristicas de Power Builder es que ee Cliente Servidor por naturaleza, cosa que no lo tienen muy claro Visual Fox. Su programación 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 codificación. 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 evacuación de información 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 infortmación.
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 Informática 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 más 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 [email protected]
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, más complicado en la programación, y adolece de efectos visuales Respuesta: Renzo Grado [email protected]
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 reutilización de codigo realmente notable. Como ejemplo mi productividad de programacion aumento en mas de un 45% en comparación a mi antigua herramienta (VB 4.0). 3.- La interfaz de programación 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 [email protected]
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 [email protected]
Hola, ¿Como estas? : Al grano, es verdad que Power es una herramienta cara, pero te puedo dicir que n o hay nada que no puedas hacer con PowerBuilder, hace unos dias terminamos una aplicación 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 programación. 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 [email protected]
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 PERTAÑA 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 [email protected]
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, serán accesibles desde cualquier ventana u objeto, es decir pasan a ser "publicas". Respuesta: Alex Moreno Riofrio [email protected]
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.-
Open ( windowvar ) windowvar : el nombre del window que deseas abrir 2.-
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 Bolaños 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 [email protected]
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 [email protected]
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 instrucción 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 Pérez [email protected]
Lo primero que tienes que saber es que si es una sentencia incrustada en código tiene que ser finalizada con un punto y coma. Después, 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 [email protected]
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 [email protected]
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 [email protected]
Tienes que copiar todos los archivos que estan en "sybase\pb65\shared" a la carpeta donde estan tu ejecutable y tus dll´s 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 [email protected]
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 Cáceres
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
Respuesta: Ricardo Esparza [email protected]
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 Cáceres
Hola Amigos.. Necesito saber como crear procedimientos almacenados en Sybase y luegos utilizarlos en una aplicación en Power Builder. Ojal algunas direcciones con manuales avanzados de Power Builder y Sybase.. De antemano Gracias... Saludos
Respuesta: Oscar Rios [email protected]
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. [email protected]
Con respecto a los procedimientos almacenados puedes hacerlos desde el ISQL que viene con Sybase Anywhere del PB , bueno aquí tienes que usar sólo código, no es difícil pero si tiene su grado de dificultad, pero también puedes hacerlo desde el Sybase Central que me parece es más fácil... Primero desde Sybase Central conectate a la base de datos y luego ubícate en "Procedures & Functions" y escoge en el otro lado del panel "Add Procedure/Function (Wizard)" y con el asistente crearás facilmente tu/s procedimiento/s almancenado/s, obviamente debes tener nociones básicas de los SP.
Desarrollador PowerBuilder DOMINGO, 18 DE ENERO DE 2009
Standard Visual - User Object Los Standard Visual - User Object heredan caracteristicas de un control standar de PowerBuilder.
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.
Creando un CommandButton User Object
Escogemos CommandButton Es muy común usar CommandButton's en nuestras apliaciones, entonces para dar un ejemplo de herencia en PowerBuilder crearemos un CommandButton User Object base o Nota:
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.
Luego Crearemos el CommandButton Guardar, que va ser descendiente de la clase u_cb
Y asi sucesivamente creamos los CommandButton's que nuestra aplicación necesite ejemplo: "Nuevo, Eliminar, Imprimir, Modificar, Eliminar, Cerrar, etc"
Desarrollador PowerBuilder DOMINGO, 27 DE NOVIEMBRE DE 2011
Aplicaciones PowerBuilder 10.5 con Kodigo PowerBuilder Framework Anteriormente ya había publicado sobre Kodigo PowerBuilder Framework en el año 2008, pero recién es en este año que llego a usarlo y a conocer mejor sus bondades, claro que aun hay mucho por conocer de este Framework. He desarrollo dos aplicaciones ya con Kodigo y los resultados fueron muy buenos, no solo por conseguir una interface agradable para el usuario, si no también porque Kodigo maneja bien la Programación Orientada a Objetos.
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 investigación 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 electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: GUI, Herencia, Programación Orientada a Objetos, User Objects, Variables y Objetos
Creando archivos ejecutables en PowerBuilder Classic 12.0 En este post explicare la forma de crear archivos ejecutables en PowerBuilder Classic 12.0 1 - Para crear los PBD's o archivos ejecutables, tenemos que crear un objeto Project.
2 - En la pestaña General en Executable File Name, ubicamos la ruta y el nombre del archivo ejecutable
3 - En la pestaña Libraries seleccionamos las librerias (*.pbl)
4 - En la pestaña Versión colocamos las propiedades de nuestro producto, para el ejemplo dejamos los que establece PowerBuilder.
5 - Una vez ubicados en la pestaña Run estamos listos para desplegar o crear los archivos ejecutables, dar clic a la opción Deploy Project del PowerBar. No es necesario dar un inicio (Start in).
Este ejemplo también es valido para PowerBuilder 11.5. Publicado por Barzi en 18:31 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Variables y Objetos
Conexión a SQL Server 2005 desde PowerBuilder Classic 12.0 Para conectarse a una Base de Datos SQL Server 2005 desde PowerBuilder Classic 12.0 seguimos los siguientes pasos:
1-
2.
3.
Publicado por Barzi en 18:04 1 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Conexión, SQL
SÁBADO, 24 DE SEPTIEMBRE DE 2011
Argumentos en DataWindows Para crear argumentos de recuperación en un DataWindows debemos seguir los siguientes pasos:
Ingresar al DataWindows y darle clic a la opción Data Source del PainterBar:
Luego clic en Retrieval Arguments de la opción del menu Design:
Por ultimo creamos el argumento:
Publicado por Barzi en 17:19 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: DataWindows
MARTES, 9 DE AGOSTO DE 2011
Asociar Menu a un Window por PowerScript Un Menu Object puede ser asociado a un Window Object con la siguiente sintaxis:
w_nombre_window.ChangeMenu(m_nombre_menu)
Publicado por Barzi en 13:56 0 comentarios Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Menu, Windows
DOMINGO, 7 DE AGOSTO DE 2011
Migrando de Versión a Aplicaciones PowerBuilder En los últimos años he participado en migraciones de Aplicaciones PowerBuilder desarrolladas en versiones 6.5, 7.0, 8.0 y 9.0 a versiones 10.5, 11.0 y 11.5.
Pero hay un detalle que se debe tener en cuenta antes de comenzar a migrar de versión, si es mejor desarrollar un nuevo software o migrar de versión las Aplicaciones PowerBuilder. Algunos clientes no solo quieren migrar de versión sus Aplicaciones PowerBuilder, también quieren migrar de Base de Datos sea a una nueva versión, a una Base de Datos de distinta tecnología Licenciada o Libre. Algunos clientes prefieren migrar de versión sus Aplicaciones PowerBuilder porque piensan que se ahorra mas tiempo, es mas barato, van a poder utilizar las nuevas bondades de ultima versión migrada, etc.
He tenido la oportunidad de migrar distintas Aplicaciones PowerBuilder encontrándolas sin estándares de programación, 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 electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook Etiquetas: Migración
SÁBADO, 6 DE AGOSTO DE 2011
Programación Orientada a Objetos en PowerBuilder El día de ayer recomendaron (En clases) un libro muy bueno que de verdad me gusto leer ya hace un buen tiempo atrás (Enero del 2009) Programación Orientada a Objetos de Luis Joyanes Aguilar, recordé entonces el primer libro que leí sobre Programación Orientada Objetos, Aprendiendo Programación Orientada A Objetos en 21 Lecciones (Octubre 2008), ambos me ayudaron mucho para entender sobre la Programación Orientada a Objetos.
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 Encapsulación y Polimorfismo, entonces no aplicaba POO en PowerBuilder siendo una herramienta Orientada a O bjetos.
El punto de partida y que me cambio totalmente la idea sobre POO en PowerBuilder fue cuando di mantenimiento a una aplicación 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 también con documentación 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:
Encapsulación