99918616 Que Es Un DataWindowChild

41
¿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.

Transcript of 99918616 Que Es Un DataWindowChild

Page 1: 99918616 Que Es Un DataWindowChild

¿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.

Page 2: 99918616 Que Es Un DataWindowChild

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

Page 3: 99918616 Que Es Un DataWindowChild

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

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 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

Page 4: 99918616 Que Es Un DataWindowChild

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

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, 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

Page 5: 99918616 Que Es Un DataWindowChild

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

null.

integer li_columna //Almacena el numero de columna con valor null.

string ls_colname //Almacena el nombre de la columna con valor null.

Page 6: 99918616 Que Es Un DataWindowChild

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

Page 7: 99918616 Que Es Un DataWindowChild

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.

Page 8: 99918616 Que Es Un DataWindowChild

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.

Page 9: 99918616 Que Es Un DataWindowChild

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:

Page 10: 99918616 Que Es Un DataWindowChild

¿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:

Page 11: 99918616 Que Es Un DataWindowChild

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:

Page 12: 99918616 Que Es Un DataWindowChild

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.

Page 13: 99918616 Que Es Un DataWindowChild

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

Page 14: 99918616 Que Es Un DataWindowChild

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&

Page 15: 99918616 Que Es Un DataWindowChild

(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

Page 16: 99918616 Que Es Un DataWindowChild

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 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:

Page 17: 99918616 Que Es Un DataWindowChild

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:

Page 18: 99918616 Que Es Un DataWindowChild

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

Page 19: 99918616 Que Es Un DataWindowChild

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 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

Facebook

Etiquetas: Conexión

Page 20: 99918616 Que Es Un DataWindowChild

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

Page 21: 99918616 Que Es Un DataWindowChild

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

Page 22: 99918616 Que Es Un DataWindowChild

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

Page 23: 99918616 Que Es Un DataWindowChild

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]

Page 24: 99918616 Que Es Un DataWindowChild

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

Page 25: 99918616 Que Es Un DataWindowChild

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.

Page 26: 99918616 Que Es Un DataWindowChild

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

Page 27: 99918616 Que Es Un DataWindowChild

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]

Page 28: 99918616 Que Es Un DataWindowChild

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:

Page 29: 99918616 Que Es Un DataWindowChild

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]

Page 30: 99918616 Que Es Un DataWindowChild

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]

Page 31: 99918616 Que Es Un DataWindowChild

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.

Page 32: 99918616 Que Es Un DataWindowChild

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.

Page 33: 99918616 Que Es Un DataWindowChild

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

Page 34: 99918616 Que Es Un DataWindowChild

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

Page 35: 99918616 Que Es Un DataWindowChild

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).

Page 36: 99918616 Que Es Un DataWindowChild

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.

Page 37: 99918616 Que Es Un DataWindowChild

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:

Page 38: 99918616 Que Es Un DataWindowChild

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)

Page 39: 99918616 Que Es Un DataWindowChild

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

Page 40: 99918616 Que Es Un DataWindowChild

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

Page 41: 99918616 Que Es Un DataWindowChild

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.