|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - grcornejoa
Páginas: [1]
1
« en: Viernes 5 de Octubre de 2018, 07:21 »
Alguien tiene disponible PB Ultimate 9.2?
2
« en: Miércoles 10 de Febrero de 2016, 17:33 »
Hola estimados, despues de tiempo entro a este foro,
Les comento que powerbuilder se integrará a Appeon y la dirección que tomará será interesante:
El desarrollo y distribución se enfocará en lo sgte. DESARROLLO CON CLASSIC PB (PB NATIVE) - Aplicaciones Clasicas C/S con nuevo diseño y controles modernos que haran grata la experiencia de usuario. - Aplicaciones Desktop Cloud con nuevo diseño y controles modernos que haran grata la experiencia de usuario. - Aplicaciones Mobile Cloud con nuevo diseño y controles modernos que haran grata la experiencia de usuario.
DESARROLLO CON VISUAL STUDIO.
-Winforms -UWP (Universal Windows Platform) Tecnologia que hace que cualquier aplicacion se ejecute en cualquiier dispositivo con Windows (PC, Tablet, Smartphone) es decir aplicará el diseño responsivo tal como se hace en la la programacion web y con controles modernos que haran que la experiencia de usuario sea grandiosa. -Mobile con Xamarin (Aplicaciones Moviles compatibles IOS, Windows Mobile, Android) con diseño responsivo y experiencia de usuario grandiosa.
LA MEJOR HERRAMIENTA PARA RAD NO ESTA MUERTA!!!! Atentos que seguiré informado.
Saludos.
Guillermo.
3
« en: Martes 8 de Abril de 2008, 00:02 »
HOLA A TODOS
TENGO UNA CONSULTA, QUIERO AUTENTICAR MIS USUARIOS WINDOWS ATRAVES DE UNA APLICACION HECHA EN POWER BUILDER, ESTOY TRATANDO DE USAR LDAP, PERO NO SE COMO OBTENER EL PASSWORD, CON LDAP HE LOGRADO OBTENER EL NOMBRE DEL EQUIPO Y EL USUARIO USANDO ESTAS FUNCIONES EN UN OBJETO NO VISUAL DE LA SGTE MANERA.
FUNCION OF_GETMACHINENAME() RETURNS STRING // OBTIENE LA MAQUINA
integer li_rc string ls_machine OLEObject l_olewinntsysteminfo
l_olewinntsysteminfo = CREATE OLEObject try li_rc = l_olewinntsysteminfo.ConnectToNewObject( "WinNTSystemInfo" ) IF li_rc = 0 THEN ls_machine = l_olewinntsysteminfo.computername l_olewinntsysteminfo.DisconnectObject() END IF catch ( throwable e ) MessageBox ( "LDAP Error", e.GetMessage() ) finally Destroy l_olewinntsysteminfo end try
Return ls_machine
FUNCION OF_GETUSERNAME() RETURNS STRING //OBTIENE EL USUARIO
integer li_rc string ls_user,ls_pass OLEObject l_olewinntsysteminfo l_olewinntsysteminfo = CREATE OLEObject
try li_rc = l_olewinntsysteminfo.ConnectToNewObject( "WinNTSystemInfo" ) IF li_rc = 0 THEN ls_user = l_olewinntsysteminfo.username ls_pass = l_olewinntsysteminfo.userpassword l_olewinntsysteminfo.DisconnectObject() END IF catch ( throwable e ) MessageBox ( "LDAP Error", e.GetMessage() ) finally Destroy l_olewinntsysteminfo end try
Return ls_user
LO QUE QUIERO AHORA ES OBTENER EL PASSWORD, COMO PUEDO HACER ESO. GRACIAS Y SALUDOS
4
« en: Martes 22 de Agosto de 2006, 04:11 »
HOLA A TODOS
NECESITO AYUDA, DESEO SABER COMO CAMBIAR LAS PROPIEDADES DE CONTROLES QUE ESTAN EMBEBIDOS EN UNA VENTANA.
ESTUVE HACIENDO UNA FUNCION MAS O MENOS ASI:
f_cambia_propiedades(ref aw_window) returns integer aw_window //es el argumento que voy a pasar y es del tipo window
Integer li_controles Checkbox lcdx_Checkbox CommandButton lcb_CommandB RadioButton lrb_RadioB SingleLineedit lsle_SingleL FOR li_controles = 1 TO UpperBound(aw_window.control[])
CHOOSE CASE TypeOf(aw_window.Control[li_controles]) CASE CommandButton! lcb_CommandB = aw_window.Control[li_controles] lcb_CommandB.Enabled = False // propiedad a cambiar por ejemplo 'Enabled' CASE RadioButton! lrb_RadioB = aw_window.Control[li_controles] lrb_RadioB.Enabled = False CASE SingleLineedit! lsle_SingleL = aw_window.Control[li_controles] lsle_SingleL.Enabled = False
CASE Checkbox! lcdx_Checkbox = aw_window.Control[li_controles] lcdx_Checkbox.Enabled = False END CHOOSE
NEXT
RETURN 1
HASTA ALLI TODO OK PERO EL PROBLEMA ES CUANDO QUIERO HACERLO CON VARIAS VENTANAS, PARA ESO LEO LA APLICACION (PBL) QUE CONTENGA LAS VENTANAS CON LIBRARYDIRECTORY E IMPORTO LA DATA CON IMPORTSTRING A UN DATASTORE, UNA VEZ HECHO ESO, COMO ASOCIO ESOS NOMBRES EN LA FUNCION??, HAY ALGUNA FUNCION QUE CONVIERTA UN STRING A UN TIPO DE OBJETO?? POR FAVOR SI ALGUIEN TIENE IDEA HACERLA LLEGAR A ESTE FORO
SALUDOS. GUILLERMO
5
« en: Lunes 12 de Junio de 2006, 08:14 »
Hola: Quisiera por favor, me den una breve explicacion de como usar la sentencia classdefinition, variabledefition. Necesito ejemplos para poder leer los items que hay en un Menu por ejm, vi en las librerias PFC un ejemplo pero se me hizo muy complicado, agradeceria un poco de instruccion en ese tema. Gracias.
6
« en: Viernes 2 de Junio de 2006, 19:19 »
Hola:
Alguien me podrá dar un alcance de como conectarse a una db via oledb, estoy usando power builder version 10 y solo acepta conexiones odbc.
gracias
7
« en: Martes 30 de Mayo de 2006, 04:35 »
alli te va una funcion, espero te sirva saludos.
/*Esta funcion convierte numeros a letras*/
/*args: pass by value type decimal name:nnumero pass by value type string name:cgenero*/
Decimal nNumero1, nNumero2, cdec Long a, nGrupo String aGrupos[5], aUnidad[10], aDecena[10,10], aCentena[10] String aConector[5], cEnLetra, cNumStr, cUnidad, cDecena, cCentena, vLetras String Y, F, M, MIL, MILLON, MILLONES, BILLON, BILLONES
Y = 'y ';F = 'as ';M = 'os ';MIL = 'mil ';MILLON = 'millón ' MILLONES = 'millones ';BILLON = 'billón ';BILLONES = 'billones ' if ISNull(nnumero) then Return '**Error**' end if
IF IsNull(cGenero) THEN cGenero = 'F' ELSE cGenero = UPPER(cGenero) END IF
nNumero2 = Round( nNumero, 2) nNumero1 = Truncate( nNumero, 0) cdec = nNumero2 - nNumero1 cdec = Round( cdec * 100, 2) a = cdec
// conversión a caracter del número, justificado con cero a la izquierda
cNumStr = String( nNumero1) cNumStr = Fill( '0', 15 - Len( cNumStr)) + cNumStr
// confección de grupos FOR nGrupo = 1 to 5 aGrupos[ 5 - nGrupo + 1 ] = Mid(cNumStr, ((nGrupo -1)*3 +1), 3) NEXT
//Proceso cEnLetra='' FOR nGrupo = 5 TO 1 STEP -1 cUnidad=Right(aGrupos[nGrupo],1) cDecena=Mid(aGrupos[nGrupo],2,1) cCentena=Left(aGrupos[nGrupo],1)
// asignación para las unidades IF nNumero1=0 AND nGrupo=1 THEN aUnidad[1]='cero' ELSE aUnidad[1]='' END IF
IF cDecena='1' THEN aUnidad[2]=aDecena[2,integer(cUnidad)+1] ELSEIF(nGrupo = 2 OR nGrupo = 4) AND aGrupos[nGrupo] = '001' THEN aUnidad[2]='' ELSEIF (nGrupo > 2) THEN aUnidad[2]='un ' ELSEIF (cGenero = 'F') THEN aUnidad[2]='una ' ELSE aUnidad[2]='uno ' END IF
IF cDecena='1' THEN aUnidad[3]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[3]='dos ' END IF
IF cDecena='1' THEN aUnidad[4]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[4]='tres ' END IF
IF cDecena='1' THEN aUnidad[5]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[5]='cuatro ' END IF
IF cDecena='1' THEN aUnidad[6]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[6]='cinco ' END IF
IF cDecena='1' THEN aUnidad[7]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[7]='seis ' END IF
IF cDecena='1' THEN aUnidad[8]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[8]='siete ' END IF
IF cDecena='1' THEN aUnidad[9]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[9]='ocho ' END IF
IF cDecena='1' THEN aUnidad[10]=aDecena[2,integer(cUnidad)+1] ELSE aUnidad[10]='nueve ' END IF
// asignación para las decenas aDecena[1,1]=''
IF cUnidad='0' THEN aDecena[2,1]='diez ' ELSE aDecena[2,1]='' END IF aDecena[2,2]='once ' aDecena[2,3]='doce ' aDecena[2,4]='trece ' aDecena[2,5]='catorce ' aDecena[2,6]='quince ' aDecena[2,7]='dieciseis ' aDecena[2,8]='diecisiete ' aDecena[2,9]='dieciocho ' aDecena[2,10]='diecinueve ' IF cUnidad='0' THEN aDecena[3,1]='veinte ' ELSE aDecena[3,1]='veinti ' END IF IF cUnidad <> '0' THEN aDecena[4,1] = 'treinta '+Y ELSE aDecena[4,1] = 'treinta '+'' END IF
IF cUnidad <> '0' THEN aDecena[5,1] = 'cuarenta '+Y ELSE aDecena[5,1] = 'cuarenta '+'' END IF
IF cUnidad <> '0' THEN aDecena[6,1] = 'cincuenta '+Y ELSE aDecena[6,1] = 'cincuenta '+'' END IF
IF cUnidad <> '0' THEN aDecena[7,1] = 'sesenta '+Y ELSE aDecena[7,1] = 'sesenta '+'' END IF
IF cUnidad<>'0' THEN aDecena[8,1] = 'setenta '+Y ELSE aDecena[8,1] = 'setenta '+'' END IF
IF cUnidad<>'0' THEN aDecena[9,1] = 'ochenta '+Y ELSE aDecena[9,1] = 'ochenta '+'' END IF
IF cUnidad<>'0' THEN aDecena[10,1] = 'noventa '+Y ELSE aDecena[10,1] = 'noventa '+'' END IF
// Asignación para las centenas aCentena[1]=''
IF cDecena+cUnidad = '00' THEN aCentena[2]='cien ' ELSE aCentena[2]='ciento ' END IF
IF nGrupo<3 AND cGenero='F' THEN aCentena[3]='doscient'+F ELSE aCentena[3]='doscient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[4]='trescient'+F ELSE aCentena[4]='trescient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[5]='cuatrocient'+F ELSE aCentena[5]='cuatrocient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[6]='quinient'+F ELSE aCentena[6]='quinient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[7]='seiscient'+F ELSE aCentena[7]='seiscient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[8]='setecient'+F ELSE aCentena[8]='setecient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[9]='ochocient'+F ELSE aCentena[9]='ochocient'+M END IF IF nGrupo<3 AND cGenero='F' THEN aCentena[10]='novecient'+F ELSE aCentena[10]='novecient'+M END IF
// Asignación para los conectores aConector[1]='' IF aGrupos[2]>'000' THEN aConector[2]=MIL ELSE aConector[2]='' END IF
IF aGrupos[3]>'000' OR aGrupos[4]>'000' THEN IF aGrupos[3]='001'THEN aConector[3]=MILLON ELSE aConector[3]=MILLONES END IF ELSE aConector[3]='' END IF
IF aGrupos[4]>'000' THEN aConector[4]=MIL ELSE aConector[4]='' END IF
IF aGrupos[5]>'000' THEN IF aGrupos[5]='001' THEN aConector[5]=BILLON ELSE aConector[5]=BILLONES END IF ELSE aConector[5]=' ' END IF
// Completar la cifra en letras del grupo en curso cEnLetra=cEnLetra+(aCentena[integer(cCentena)+1]+aDecena[integer(cDecena)+1,1]+aUnidad[integer(cUnidad)+1]+aConector[nGrupo])
NEXT string cdec1 cdec1=String(a) vLetras='***'+cEnLetra + '***'//+'y '+ cdec1+'/100 nuevos soles' RETURN vLetras
8
« en: Martes 30 de Mayo de 2006, 04:16 »
Estoy buscando alternativas de implementación de un menú dinamico en powerbuilder.
La idea es almacenar la estructura de los ítems y subitems en una tabla de base de datos y desde allí crear el menú una vez iniciada la seción de usuario en el aplicativo de powerbuilder.
El aplicativo actualmente tiene un menu principal. La mayoría de los sheets tienen asociodo su correspondiente menú, el cual esta heredado del principal.
Estoy buscando diferentes alternativas de implementación para poder flexibilizar el menú principal. El aplicativo es muy grande asi pues el cambio en este menú repercute enormemente en lo que se refiere al tiempo de implementacion y desarrollo de una alternativa estructuralmente distinta.
Algunas alternativas que considere son:
- Un menú principal con items y subitems fijo que se actualizan al iniciar el aplicativo. - Utilizar un Tree View (Cambio estructural muy grande en funcionamiento) - Utilizar un DW. Esta opción es similar a la anterior, el costo es casi el mismo solo hay algunas variantes. - Otra es utilizar un API de Window. Con respecto a esta opción no tengo muy claro el costo ya que aún no se como implementarla y además no sé sus futuras consecuencias que en provocará en el sistema.
A quién me logre ayudar tanto sea en encontrar otra alternativa o en guiarme para optar por algunas de las descripta se lo agredecere muchisímo.
La idea de todo esto es flexiblilizar las habilitaciones y deshabilitaciones del menu segun perfil de grupo o usuario.
Muchas gracias
9
« en: Martes 30 de Mayo de 2006, 04:10 »
HOLA:
NECESITO AYUDA, ESTOY DESARROLLANDO UN SISTEMA INTEGRADO, LO QUE NECESITO HACER ES ADMINISTRAR EL INGRESO DE USUARIOS Y LA CREACION DE PERFILES PARA ESTOS, SEGUN EL TIPO DE PERFIL, DESHABILITAR Y HABILITAR OPCIONES DEL MENU.
NECESITO UNA GUIA PARA PODER REALIZAR ESE TRABAJO.
GRACIAS!!.
Páginas: [1]
|
|
|