PREGUNTAS CONTESTADAS - Power Builder

 Hay un total de 432 Preguntas.<<  >> 

    Pregunta:  47202 - COLORES BACKGROUND
Autor:  Cristian Ferrero
Hola , he comenzado a trabajar con PB 9 y necesito saber si es posible poner como background en una ventana 2 colores, es decir 1 con degrade, por ejemplo como lo es el color de la instalacion de Power Builder, por mas que busco solo se pueden combinar colores y que sen "solidos".....

gracias...
  Respuesta:  Oxido social
Buenas Cristian!

En realidad no se puede directamente, es cierto como mencionas, solo se puede hacer una combinacion de colores "solidos".

Hace tiempo nosotros tratabamos de hacer algo similar para una presentacion, en realidad loque hicimos fue a la ventana pegarle un control picture y jalabamos el jpg desde la ruta de instalacion de la aplicacion, que previamente se habia configurado.

Funciono hasta que el usuario descubrio estos graficos y comenzo a cambiarlos (usando nuevos como skins de la aplicacion). Como tenia el logotipo de la empresa a la que se le realizo el sistema, entonces se opto por meter el JPG en un campo BYTE en la BD el cual se solicitaba (eran 3 en total) a la base de datos cada que iniciaba la aplicacion y se conservaban en memoria. Esta solucion fue la mejor, solo que nos la complicamos un poco para hacer el jpg lo mas pequeño posible y que al abrirse no se viera pixeleado.

Espero te sirva el tip, y si encuentras otra manera compartela!

Saludos desde pueblo, quieto, Jalisco, Mexico! :)

    Pregunta:  47203 - INSERTAR IMAGENES EN BASE DE DATOS SQL SERVER
Autor:  Priscila azocar cuevas
sabes necesito saber paso por paso como se insertar imagenes en la base de datos sql server ya que stoy haciendo un sistema desarrolado en power builder 7.0 y quiero que cuando busque a un usuario a traves de la ventana "buscar usuario" me muestre la foto de la persona.
  Respuesta:  Juan Oswaldo Villazón Luna
Mira mi estimado esto es mu sencillo, lo que tienes que hacer es lo siguiente:
1.- Primero en la base de datos debes de crear un campo que se llame foto (este nombre lo puedes colocar segun tu gusto) este campo debe de ser varchar o text, pero procura que sea text ya que en esta se va guardar toda la ruta de acceso a la imagen.

2.- lo que tienes que hacer es muy facil en el formulario coloca un un text y en el cual tu vas a buscar la ruta y cuando hacer la insersion del registro,se guarde la ruta que deseas en el campo especificado anteriormente.

3.- si no sabes como hacer la la busqueda escribeme a mi correo para mandarte el script ejemplo.

Ojala te sirva la idea.

    Pregunta:  47484 - EJECUTAR UN STORE PROCEDURE DE SQLSERVER EN POWERBUILDER
Autor:  Celina Gutierrez F
Necesito ejecutar un store procedure que me devuelve un string!!!
  Respuesta:  Gabriel Manilla
EPERO TE SIRVA ESTA PARTE DE COMO MANDAR LLAMAR UN SP DESDE POWER BULDER

// P/SACAR FECHA ANTERIOR HABIL DE ACUERDO A LA FECHA REAL
declare dia_ant procedure for sps_dia_ant @fayer = :gdt_fecha_ant OutPut, @freal = :ldt_freal;
execute dia_ant;
fetch dia_ant into :gdt_fecha_ant;
close dia_ant;

    Pregunta:  47614 - CóMO OBTENER LA CARPETA TEMPORAL DEL SISTEMA?
Autor:  Rosa María
Hola.

A ver si alguien me puede ayudar!!

¿Cómo obtener el path de la carpeta temporal que utiliza el sistema por defecto?

Muchísimas gracias.
  Respuesta:  Ana Díaz
La ruta se encuentra en el registro de WIndows

"HKEY_CURRENT_USER\Environment\" -> temp

Usa la función REGISTRYGET, pero si quieres saber el usuario actual que esta conectado no se si te será útil porque usa la variable de entorno %userprofile%

No se si te servirá de ayuda..
S2!!

    Pregunta:  47618 - CONTROLADORES OBDC TIPO DE PROGRAMA FUERA DE INTERVALO
Autor:  CLAUDIA MONICA PEÑA RUBIANO
Hola, normalmente se crea en power builder la conección a una base de datos así: //SQLCA1 = CREATE transaction
//SQLCA1.DBMS = "ODBC"
//SQLCA1.AutoCommit = False
//SQLCA1.DBPARM = "Connectstring = 'DSN=Actual'"
CONNECT USING SQLCA1;
IF SQLCA1.SQLCODE<> 0 THEN
MessageBox("Error Conexión",'Base de Datos no Existe, verifique la información',Exclamation!)
Return
Else

dw_1.SetTransObject(SQLCA1)
dw_1.reset()
dw_1.retrieve() ////CUANDO HACE EL RETRIEVE SACA EL ERROR
//ANEXO

esta coneccion la realiza bien hacia una base de datos en fireware, anywhere pero al tratar de conectar una base de datos por ODBC de esta forma con SQL SERVER 2000 aparentemente realiza la conección, pero desde Power Buider al mirar el catalogo de tablas saca el siguiente error
SELECT ERROR SQLSTATE S1003
MICROSOFT CONTROLADORES OBDC Tipo de programa fuera de intervalo

QUE PUEDE SER y esto sucede cuando se trata de mirar el catalogo de tablaspor Power builder, ose hace un retrieve o cualquier accion hacia las tablas
  Respuesta:  Oxido social
Buenas Claudia!

Mira, segun mi experiencia esto se debe a que tienes una libreria del ODBC que esta obsoleta. Actualiza el cliente de SQL Server en la maquina donde te esta dando el problema, luego realiza la conexion a traves del cliente como normalmente lo harias.

Si sigues con problemas, conectate a traves de Power y su respectivo driver para realizar conexiones con SQLServer (sin ODBC), si falla entonces es definitivo, el cliente de SQLServer es el que provoca el fallo, si se puede conectar sin problemas entonces son las librerias del ODBC. Para esto ultimo hay un parche de Windows que soluciona el problema.

Pero identifica bien el error antes de instalar dicho parche, cuando yo lo instale en una maquina que hacia conexiones a informix 10 por ODBC dejo de funcionar toda la conectividad a bases de datos, asi que fue desinstalar y reinstalar nuevamente.

Espero te sirva esta informacion.

Si tienes algun otro problema, necesitaria me dieras estos datos para tratar de reproducir el escenario en casa.

Que version de Power estas usando?
Version de Windows (98, 2000, XP -home,pro-?)?

Saludos desde pueblo quieto, Jalisco, Mexico.

    Pregunta:  47899 - CURSOR BIDIRECCIONAL RESTRINGIDO
Autor:  Luis Macias
Buenas!!
Tengo un problema, a ver si me pueden ayudar y es el siguiente:
He generado una aplicacion que en el momento de buscar por diversos criterios hay ocaciones que el regreso de datos es de varios miles de registros, mis aplicaciones corren en un terminal server y esto provoca que la maquina se quede sin memoria. Hablando con el administrador de la base de datos, resolvimos generar un cursor declarado como variable de instancia de manera que el cursor este abierto si el usuario requiere mas registros y por cada lectura solo leeria 500 registros a la vez, me encontre que no puedo "regresar" a la informacion vista en un bloque anterior. Por lo que genere una tabla temporal que almacena los registros leidos y una marca de numero de bloque leido, asi con una variable ya se si el bloque nuevo lo tengo que ller de la temporal o del cursor declarado en la instancia.

Pues bien, aqui se me presento el problema que mis usuarios me tumbaron el servidor (son aproximadamente 800 usuarios haciendo consultas "pesadas").

Como puedo resolver este problema?
si requiero:
1) Leer grandes cantidades de informacion en bloques pequeños
2) Que el usuario pueda regresar a la informacion leida en un blque previo.
3) El uso de memoria en el cliente sea limitado.
4) Que la informacion sea almacenada lo menos posible en tablas temporales y/o arreglos.
5) Una vez que el usuario cierre la ventana la informacion ya no la necesito.

Estoy trabajando con PowerBuilder 7 e informix 10.
  Respuesta:  Luis Macias
Quiza no me explique bien, supongan que tienen 10,000 registros y yo requiero leer por vez solo 100 por vez.

La primer lectura se dara con los 100 primeros registros.
El usuario le pica a un boton que ejecuta la contunuacion de cursor, y se manda leer del registro 101 al 200.
El usuario se desplaza hasta el bloque donde leera el registro 901 al 1000.

Y debe de regresar al bloque donde se lee del registro 101 al 200.

Que hago?
Tengo un cursor declarado como instancia para este fin.
No puedo almacenar los registros leidos (del 1 al 1000), ni mucho menos toda la tabla por cliente (del 1 al 10,000).
Tampoco es posible (o no muy recomendable crear una tabla temporal).

Mi pregunta es: Existe algun cursor que pudiera ser BIDIRECCIONAL?
  Respuesta:  Hector Mosqueda Gomez
Hola lo que necesitas es crear indices en tu base de datos, no basta con los indices creados por la llave primaria, debes crear un indice por cada tipo de consulta que hagas ej.

1 la primera busqueda es por fecha = index idx_fecha(fecha)
2 la segunda busqueda es por fecha y valorX = index idx_fecha_valor(fecha, valorx)
.
..

Y asi sucesibamente, eso va a bajar cañon el tiempo en las busquedas.

    Pregunta:  47936 - POWER BUILDER VERSUS .NET... CUAL ELEGIR
Autor:  Carlos Diaz Alvarado
Hola!, soy un viejo desarrollador de Visual Basic Cliente/Servidor hasta la version 6.0 (no Orientado a Objetos), mis clientes estan cambiando ya sea por reglas de negocio o por tamaño de Data. Estoy evaluando usar una herramienta moderna que me permita desarrollar aplicaciones C/S robustas con la tecnologia OO, claro y tambien pequeñas que a su tiempo iran creciendo.
Me estoy capacitando en Teoria Orientada a Objetos de Analisis y Diseño de Sistemas, UML+Rational, Gestion de Proyectos de TI.

Necesito saber sobre PB Versus .NET (2005), caracteristicas generales que me ayuden a tener un punto inicial de partida.

Muchas gracias de antemano por au apoyo
  Respuesta:  Grace lg
Apoyo la respuesta que te dieron. Programar en PB es mucho mas fácil que en otros lenguajes. No te digo que el PB es la perfeccion porque como todos los lenguajes tiene sus detalles PERO la herramienta de los datawindows es perfecta !!, además no tienes que quebrarte la cabeza cada vez que quieres poner una sentencia de sql ( de cualquier base de datos) ya que las puedes utilizar directamente como lo haces en el editor de base de datos. no necesitas programar un PREPARE y un EXECUTE ants y despues de cada sentencia.
  Respuesta:  reynaldo Amigo
Hola, mira yo te puedo decir que ambas herramientas de desarrollo son muy buenas, pero a mi juicio yo prefiero desarrollar con PB ya que siento que esta es una de las herramientas de desarrollo mas robustas en el mercado de informatica para crear aplicaciones cliente/servidor y web para grandes empresas.lo que a mi no me gusta mucho de .NET es que para trabajar con los datos le dan mucha vuelta,es decir, que se involucran muchos objetos para la manipulacion de los datos, en cambio en PB la manipulacion de datos es mucho mas sencilla y involucra un solo objeto para ello, el cual es el Datawindow.
El DataWindow es el objeto clave para poder trabajar con los datos, y con este mismo objeto creas los reportes,en cambio con .NET tenes que usar Crystal Report y esto implica que tenes que aprender tambian a utilizar ese reporteador,en cambio con PB solo te preocupas por aprender a manejar todos los tipos de Datawindows para poder manipular los datos.Bueno espero que esta explicacion te ayude a poder escoger con cual herramienta quieres desarrollar tus aplicaciones. ante que se me olvide,si deseas desarrollar aplicaciones web si es mucho mas facil y varato usar .NET que PB.

    Pregunta:  48061 - EXPORTAR DATOS A UN ARCHIVO PLANO
Autor:  Patricio Maturana Pardo
Buenos días a todos, necesito ayuda estoy trabajando con PawerBuilder V.7 y
tengo que exportar datos a un archivo plano y validar los datos que no
estén y si existen actualizarlos. Favor estaré muy agradecido si me pueden apoyar.
atte.
  Respuesta:  Oxido social
Los datos que no existan en donde, en otra tabla, otra bd, el archivo que estas creando?

Segun entendi quieres exportar datos a un archivo, para eso create un datawindow y utiliza el SAVEAS (Nombre, Tipo, Encabezado)
Como lo vas a utilizar para otro proceso la bandera de encabezado ponla en FALSE.

Para importar los datos busca en la ayuda IMPORT y listo.

    Pregunta:  48155 - COMO MIGRAR UN REPORTE DATAWINDOW A EXCEL EXCATAMENTE IGUAL?
Autor:  Fredy M. Rojas vasquez
hola amigo programadores

trabajo con la version de power builder 7.0

Necesito ayuda como dice el titulo de mi pregunta, lo que deseo es migrar un objeto datawindow de tipo reporte a un archivo en excel pero debo pasarlo exactamente igual no de forma de datos en cada una de las celdas de la hoja de excel sino que tiene que ser como se ve en el objeto datawindow exactamente igual.

Si alguien puede ayudarme a resolver esta duda por favor responderme a la brevedad posible acudo a uds.

gracias por su tiempo

Saludos.
  Respuesta:  Gabriel Manilla
TE ENVIO LAS DOS FORMAS CON LAS CUALES YO HE TRABAJADO Y ME HAN FUNCIONADO BIEN , SOLO RECUERDA Q' EL DW NO DEBERA DE CONTENER DATOS CONPUTADOS, COMO SUMAS, MULTIPLICACIONES Y ALGO ASI POR EL ESTILI YA QUE ESTOS DATOS NO LOS GUARDA Y LO QUE GUARDARA SERA BASURA O ALGUN DATO ASI MEDIO RRARO, LO QUE TENDRAS QUE HACER PARA ESTOS CALCULES ES O CALCULARLOS EN EL MISMO QUERY O HACER UN DW COPOSITE EL CUAL OBTENGA LOS DATOS DEL PRIMERO Y LOS COPIE Y CALCULE A SELDAS ESPECIFICAS

SCRIP P/ GUARDAR DATOS DW EN ARCHIVO ESPECIFICADO
string docname, named
integer value
value = GetFileSaveName("Seleciona la Ruta", docname, named, "TXT","Text Files (*.TXT),*.TXT, All Files (*.*),*.*")
// docname = RUTA DE ARCHIVO
// named = NOMBRE DE ARCHIVO

IF value = 1 THEN
//ASIGNAMOS PAHT A VARIABLE GLOBAL
gs_path = "d:\temp\TEMPORAL.TXT" //ARCHIVO DE LEECTURA
gs_path_org = docname //ARCHIVO ORIGINAL //"d:\temp\"+gs_nomclas+".TXT"
//CREACION DEL ARCHIVO TXT
w_rep2_varios.dw_clasif.SaveAsAscii("d:\temp\TEMPORAL.TXT",";","")
w_rep2_varios.dw_clasif.SaveAsAscii("d:\temp\"+named,"","")
f_lee_txtcrostab()
MessageBox("Aviso", "Archivo de TEXTO creado con exito! +r Archivo delimitado por punto y coma. ( ; ) ")
end if
--------------------------------------------------------------------------------------------------

Exporta DW a Excel
Cuando se exporta el contenido de una datawindow a formato excel, muchas veces el formato que tiene se pierde. Para evitar que se pierda el formato existe una alternativa
Esto es guardarlo como tabla de html con un 'saveas' asi:
dw_salida.saveas("c:salida.xls", HTMLtable!, false)
Truco obtenido en la versión 7 de Power Builder.
  Respuesta:  Gabriel Manilla
SCRIP P/ GUARDAR DATOS DW EN ARCHIVO ESPECIFICADO
string docname, named
integer value
value = GetFileSaveName("Seleciona la Ruta", docname, named, "TXT","Text Files (*.TXT),*.TXT, All Files (*.*),*.*")
// docname = RUTA DE ARCHIVO
// named = NOMBRE DE ARCHIVO

IF value = 1 THEN
//ASIGNAMOS PAHT A VARIABLE GLOBAL
gs_path = "d:\temp\TEMPORAL.TXT" //ARCHIVO DE LEECTURA
gs_path_org = docname //ARCHIVO ORIGINAL //"d:\temp\"+gs_nomclas+".TXT"
//CREACION DEL ARCHIVO TXT
w_rep2_varios.dw_clasif.SaveAsAscii("d:\temp\TEMPORAL.TXT",";","")
w_rep2_varios.dw_clasif.SaveAsAscii("d:\temp\"+named,"","")
f_lee_txtcrostab()
MessageBox("Aviso", "Archivo de TEXTO creado con exito! +r Archivo delimitado por punto y coma. ( ; ) ")
end if
--------------------------------------------------------------------------------------------------

Exporta DW a Excel
Cuando se exporta el contenido de una datawindow a formato excel, muchas veces el formato que tiene se pierde. Para evitar que se pierda el formato existe una alternativa
Esto es guardarlo como tabla de html con un 'saveas' asi:
dw_salida.saveas("c:salida.xls", HTMLtable!, false)
Truco obtenido en la versión 7 de Power Builder.
  Respuesta:  Gabriel Manilla
SCRIP P/ GUARDAR DATOS DW EN ARCHIVO ESPECIFICADO
string docname, named
integer value
value = GetFileSaveName("Seleciona la Ruta", docname, named, "TXT","Text Files (*.TXT),*.TXT, All Files (*.*),*.*")
// docname = RUTA DE ARCHIVO
// named = NOMBRE DE ARCHIVO

IF value = 1 THEN
//ASIGNAMOS PAHT A VARIABLE GLOBAL
gs_path = "d:\temp\TEMPORAL.TXT" //ARCHIVO DE LEECTURA
gs_path_org = docname //ARCHIVO ORIGINAL //"d:\temp\"+gs_nomclas+".TXT"
//CREACION DEL ARCHIVO TXT
w_rep2_varios.dw_clasif.SaveAsAscii("d:\temp\TEMPORAL.TXT",";","")
w_rep2_varios.dw_clasif.SaveAsAscii("d:\temp\"+named,"","")
f_lee_txtcrostab()
MessageBox("Aviso", "Archivo de TEXTO creado con exito! +r Archivo delimitado por punto y coma. ( ; ) ")
end if
--------------------------------------------------------------------------------------------------

Exporta DW a Excel
Cuando se exporta el contenido de una datawindow a formato excel, muchas veces el formato que tiene se pierde. Para evitar que se pierda el formato existe una alternativa
Esto es guardarlo como tabla de html con un 'saveas' asi:
dw_salida.saveas("c:salida.xls", HTMLtable!, false)
Truco obtenido en la versión 7 de Power Builder.

    Pregunta:  48240 - ERROR AL BUSCAR REGISTROS
Autor:  Percy Maco
Hola

Tengo un problema al realizar una búsqueda en un DW.
Sucede que en el dw_2, entre otros campos, almaceno el "código" de un alumno, pero quisiera realizar una búsqeuda por apellidos. Para esto, he tenido que agregar la tabla donde se encuentran todos los datos del alumnado (están relacionadas).
El problema es que al momento de digitar en el obleto sle_buscar.text no logra ubicarse en el registro buscado de la columna 6 (columna que almacena los apellidos y nombre completos de la tabla agregada).

Mucho agradeceré me puedan ayudar.

Este es el código que estoy utilizando

Evento : ue_digitar
Evento Id : pbm_keyup

string cadena, ls_columna
integer fila, largo
largo=len(trim(sle_buscar.text))
ls_columna = dw_2.Describe("#6.Name")
cadena = "Mid (" + ls_columna + ",1," + string(largo)+ " ) = '" + cadena + "'"
fila = dw_2.Find (cadena, 1, dw_2.rowcount())
IF fila > 0 THEN
dw_2.setrow ( fila )
dw_2.ScrollToRow ( fila )
else
dw_2.setrow (1)
dw_2.ScrollToRow (1)
END IF
  Respuesta:  Ana Díaz
No entiendo muy bien como tienes el dw montado, pero yo lo que haría sería esto:

String ls_apellido

ls_apellido = TRIM(sle_buscar.Text)

IF ls_apellido<> "" THEN
dw_2.SetFilter ("<nombre_columna> like '%" + ls_apellido + "%'")
dw_2.Filter()
END IF

Espero te sirva de ayuda!!

S2

|<  <<  23 24 25 26 27 28 29 30 31 32 33  >>  >|