Upload
freddy-santos-diaz
View
225
Download
6
Embed Size (px)
Citation preview
¿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 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 como 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 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 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 con TwitterCompartir con
Etiquetas: DataWindowChild
Reacciones:
DataWindow no visual, DataStore
El DataStore es un control DataWindow no visual, las ventaja principal de usar
un DataStore frente a unDataWindow 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 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 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 con TwitterCompartir con
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, apellido, IDENTITY(INTEGER,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
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
null.
integer li_columna //Almacena el numero de columna con valor null.
string ls_colname //Almacena el nombre de la columna con valor null.
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
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
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
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
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
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
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
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 tablaauthors.
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
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
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 transacció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
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='database=prueba'"
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 <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 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 no 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 D O M I N G O , 1 8 D E E N E R O D E 2 0 0 9
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
Nota: 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
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 D O M I N G O , 2 7 D E N O V I E M B R E D E 2 0 1 1
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 Á B A D O , 2 4 D E S E P T I E M B R E D E 2 0 1 1
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
M A R T E S , 9 D E A G O S T O D E 2 0 1 1
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
D O M I N G O , 7 D E A G O S T O D E 2 0 1 1
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 Á B A D O , 6 D E A G O S T O D E 2 0 1 1
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 Objetos.
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
La encapsulación es un proceso de ocultar el funcionamiento interno de un objeto.
PowerBuilder soporta la encapsulación 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 operación se comporte de manera diferente, dependiendo
del contexto en el que se llama a la operación.
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 código dentro de la función es diferente.