• Viernes 19 de Abril de 2024, 03:30

Mostrar Mensajes

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
Papelera / PB Ultimate 9.2
« en: Viernes 5 de Octubre de 2018, 07:21 »
Alguien tiene disponible PB Ultimate 9.2?

2
Power Builder / NOVEDADES POWERBUILDER
« 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
Power Builder / Usar Ldap Con Power Builder
« 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
Power Builder / Cambiar Propiedades De
« 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
Power Builder / Re: Consulta
« 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. B)

6
Power Builder / Conexion A Base De Datos
« 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
Power Builder / Re: Números A Letras
« 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
Power Builder / Seguridad En Aplicaciones
« 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
Power Builder / Seguridad En Aplicaciones
« 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]