Power Builder Trucos

Páginas: 34 (8349 palabras) Publicado: 28 de septiembre de 2012
01 - Obtener el nombre de usuario de la máquina. |
Necesitas declarar dos funciones API externas: |
|
FUNCTION long GetComputerNameA(ref string ComputerName, ref ulong BufferLength) LIBRARY "KERNEL32.DLL" |
FUNCTION long GetUserNameA(ref string UserName, ref ulong BufferLength) LIBRARY "ADVAPI32.DLL" |
|
Entonces: |
|
long ll_ret |
string ls_ComputerName, ls_UserName |ulong BufferLength = 250 |
|
ls_ComputerName = Space(BufferLength) |
ls_UserName = Space(BufferLength) |
|
ll_ret = GetComputerNameA(ls_ComputerName, BufferLength) |
ll_ret = GetuserNameA(ls_UserName, BufferLength) |
  |
02 - Obtener el dominio de red (usa WSH desde Powerscript) |
OleObject wsh |
Integer li_rc |
|
wsh = CREATE OleObject |
li_rc = wsh.ConnectToNewObject("WScript.Network" ) |
IF li_rc = 0 THEN |
MessageBox( "Domain", String( wsh.UserDomain ) ) |
END IF |
|
Llamando a las funciones WSH-VBScript, podemos lograr fácilmente tareas muy útiles. El siguiente ejemplo muestra como arrancar el Notepad y enviarle algunas claves. |
|
OleObject wsh |
Integer li_rc |
|
wsh = CREATE OleObject |
li_rc = wsh.ConnectToNewObject("WScript.Shell" ) |
|
wsh.Run("Notepad") | |
Sleep(500) |
wsh.AppActivate("Untitled - Notepad") |
wsh.SendKeys("hello from PB") |
|
La declaración para la Sleep API es: |
|
[local external function declaration] |
SUBROUTINE Sleep(Long lMilliSec) LIBRARY "Kernel32.dll" |
|
NOTA: La reciente versión de WSH tiene su propia función Sleep. Esta llama a la calculadora de Windows ||
oleobject wsh |
long ll_rc |
|
wsh = CREATE oleobject |
ll_rc = wsh.ConnectToNewObject("WScript.Shell") |
IF ll_rc < 0 THEN |
messagebox("error","error") |
END IF |
wsh.Run( "calc") |
Sleep (100) |
wsh.AppActivate( "Calculator") |
Sleep (100) |
wsh.SendKeys( "1{+}") |
Sleep (500) |
wsh.SendKeys ("2") |
Sleep (500) |
wsh.SendKeys( "=") |
Sleep (500) |wsh.SendKeys( "*4" ) |
Sleep (500) |
wsh.SendKeys( "=" ) |
// 1+2 = 3 * 4 = 12 |
  |
03 - Determinar en ejecución si el separador es decimal o de miles. |
string ls_decimal, ls_thousand |
string ls_regKey = "HKEY_CURRENT_USER/Control Panel/International" |
RegistryGet(ls_regKey, "sDecimal", ls_decimal) |
RegistryGet(ls_regKey, "sThousand", ls_thousand) |
  |
04 - Poner unafecha a Null |
date ld_date |
SetNull(ld_date) |
dw_1.object.datecolumn[row]=ld_date |
  |
05 - Saber que ficheros hay en un directorio |
Hay dos maneras de saberlo. |
Puedes usar las API's de Windows: |
  |
Function ulong GetWindowsDirectoryA (ref string dirtext, ulong textlen) library "KERNEL32.DLL" |
ls_dir = space(lul_size) |
lul_rc = GetWindowsDirectoryA(ls_dir,lul_size) |
|
La cual retornará una cadena conteniendo todos los ficheros que hay en ese directorio, o también puedes usar la función DirList() |
|
listboxname.DirList ( filespec, filetype {, statictext } ) |
|
La cual mostrará un ListBox con los ficheros que coincidan con el criterio especificado. Si no quieres que el usuario vea estos ficheros, tienes que hacer el ListBox invisible. |  |
06 - Obtener el nombre de usuario Novell |
El siguiente código muestra como acceder al API de Novell y obtener el nombre de usuario. |
Hay que declarar las siguientes funciones externas: |
function ulong NWInitialize() library "NWInfo" |
function ulong NWGetInfo( Long Drv, Long info, ref string buffer ) Library "NWInfo" |
|
Declara una función e inserta el siguiente código: |// i_sys=1 - novell |
string login_name |
string ls_temp |
integer drv,info |
long l_ret |
|
login_name = "user_name_error" |
|
if i_sys = 1 then // novell login name. |
l_ret = NWInitialize() // init the dll, check for client 32 ... |
if l_ret = 0 then |
drv = 7 // network drive g: |
info = 35 // typeless user name |
ls_temp = Space( 129 ) |
// get the login...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • power builder
  • power builder
  • Power builder
  • Manual power builder
  • Power builder clase 3
  • Power builder formularios simples
  • Herencia En Power Builder
  • Ejercicios de bases de datos con power builder

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS