Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Power Breuilder
Power Breuilder
Power Builder
Dw_data.SetTransObject(Sqlca)
Dw_data.Retrieve()
Script Clicked Para Botn Cb_Exportar
string ls_nombre,ls_archivo
TRY
if
getfilesavename("Guardar
Archivo",ls_archivo,ls_nombre,"xls","Archivo
excel(*.xls),*.xls")= 1 then
dw_data.saveas(ls_archivo,excel! ,True)
MessageBox ("Mensaje","los datos exportados con exito")
else
MessageBox ("error","los datos no fueron exportados con exito")
dw_data.saveas()
de
end if
//dw_data.saveas("reporteenexcel.xls",excel! ,false)
//MessageBox ("error","datos exportados con exito")
CATCH (runtimeerror msg)
MessageBox ("error",msg.text)
END TRY
//
Script Clicked Para Botn Cb_Importar
string ls_nombre,ls_archivo
TRY
GetFileOpenName("Importar
(*.CSV),*.CSV")
dw_data.ImportFile(ls_archivo)
archivo",ls_archivo,
ls_nombre,"CSV","Archivos
Power Builder
Power Builder
else
Messagebox("Error","ingrese un Valor Numerico")
sle_numero.text=""
sle_numero.setfocus()
Objeto SingleLineEdit:
Name:
Sle_numero
end if
Control StaticText:
BUCLE WHILE
Name:
St_numero
Control CommandButton:
Name:
Cb_primero
Cb_suma
Ventana Bucles
BUCLE FOR
Script Clicked Para Botn Primeros N
integer i,numero
string m
numero=integer(sle_numero.text)
if isnumber(sle_numero.text) then
for i=1 to numero
m +=string(i)+ " "
next
st_numero.text=string(m)
Messagebox("Mostrar",string(m))
else
Messagebox("Error","ingrese un Valor Numerico")
sle_numero.text=""
sle_numero.setfocus()
end if
Script Clicked Para Botn Suma N
integer i,numero
integer m
if isnumber(sle_numero.text) then
numero=integer(sle_numero.text)
for i=1 to numero
m+=i
next
st_numero.text=string(m)
Messagebox("Mostrar",string(M))
integer i,numero,n
string m
numero=integer(sle_numero.text)
if isnumber(sle_numero.text) then
i=1
do while i<=numero
m +=string(i)+ " "
n +=i
i+=1
loop
st_numero.text=string(m)
Messagebox("Mostrar",string(m))
else
Messagebox("Error","ingrese un Valor Numerico")
sle_numero.text=""
sle_numero.setfocus()
end if
Script Clicked Para Botn Suma N
integer i,numero,n
numero=integer(sle_numero.text)
if isnumber(sle_numero.text) then
i=1
do while i<=numero
n +=i
i+=1
loop
st_numero.text=string(n)
Messagebox("Mostrar",string(n))
else
Messagebox("Error","ingrese un Valor Numerico")
sle_numero.text=""
sle_numero.setfocus()
end if
Power Builder
BUCLE UNTIL
Power Builder
Name:
Sle_n
Control ListBox:
Name:
Lb_numeros
Control CommandButton:
Name:
Cb_Llenar
Cb_Primo
Ventana Numeros
Script Clicked Para Botn Llenar
integer i,n
n=integer(sle_n.text)
lb_numeros.reset()
if rb_par.checked=true then
for i=2 to n step 2
lb_numeros.additem(string(i))
next
elseif rb_impar.checked=true then
for i=1 to n step 2
lb_numeros.additem(string(i))
next
end if
Script Clicked Para Botn N primo
integer i,n,c
n=integer(sle_n.text)
lb_numeros.reset()
c=0
for i=1 to n
if mod(n,1)=0 then
c=c+1
lb_numeros.additem(string(i) + ' ' + "
end if
next
if c<=2 then
st_primo.text=" Es Primo"
else
st_primo.text="No Es Primo"
end if
Lic. Vladimir Cotaquispe Gutirrez.
" + string(mod(n,i)))
Power Builder
Power Builder
Objeto SingleLineEdit:
Objeto SingleLineEdit:
Name:
Sle_mes
Name:
Sle_total
Control StaticText:
Control StaticText:
Name:
St_esta
Name:
St_cantidad
Sle_precio
Control CommandButton:
Control ListBox:
Name:
Cb_visualizar
Ventana Estaciones
Script Clicked Para Botn Visualizar
integer mes
string msg
mes=integer(sle_mes.text)
choose case mes
case 1 to 3
msg="Verano"
case 4 to 6
msg="Otoo"
case 7 to 9
msg="Invierno"
case 10 to 12
msg="Primavera"
case else
messagebox("Error","El mes No existe")
st_esta.text=""
sle_mes.text=""
end choose
st_esta.text=string(msg)
Name:
Lb_combustible
Script Open Para la Ventana
lb_combustible.additem("Gasolina 97")
lb_combustible.additem("Gasolina 95")
lb_combustible.additem("Gasolina 90")
lb_combustible.additem("Gasolina 84")
lb_combustible.additem("Dissel 1")
lb_combustible.additem("Dissel 2")
Script Selectionchanged Para Listbox combustible
choose case lb_combustible.selectedindex()
case 1
sle_precio.text="15.00"
sle_cantidad.text=""
sle_cantidad.setfocus()
case 2
sle_precio.text="12.00"
sle_cantidad.text=""
sle_cantidad.setfocus()
case 3
sle_precio.text="10.00"
sle_cantidad.text=""
sle_cantidad.setfocus()
case 4
sle_precio.text="9.50"
sle_cantidad.text=""
sle_cantidad.setfocus()
case 5
sle_precio.text="10.20"
Lic. Vladimir Cotaquispe Gutirrez.
Power Builder
sle_cantidad.text=""
sle_cantidad.setfocus()
case 6
sle_precio.text="11.00"
sle_cantidad.text=""
sle_cantidad.setfocus()
end choose
Script Modified Para SingleLineEdit Cantidad
decimal precio, cantidad,total
precio=dec(sle_precio.text)
cantidad=dec(sle_cantidad.text)
total=precio * cantidad
st_total.text="S/. " + string(total,"###,###.00")
Power Builder
ESTRUCTURAS DE CONTROL
Objeto Datawindow:
Dw_producto
Tabla : Products
Tipo:
Freeform
Control Datawindow:
Dw_data
Script Open de la aplicacin
Open (W_Contrasea)
Ventana Contrasea
Declaracin de variables de
Instancia
Power Builder
Ventas Northwind
Disee la siguiente interfase
para realizar ventas con la
base de datos Northwind.
Al cargar no deber Mostrar
Nada en los Datawindow.
Al
pulsar
Cargaran
el
los
Respectivos
una
Botn
Nueva
nuevo
Datawindow
para
Registrar
venta.
Donde
Power Builder
Power Builder
Dw_1
Name: Dw_producto
Tabla : Products
Control Datawindow:
Dw_2
Script Clicked del Dw_1
try
fila=dw_1.getitemNumber(GetClickedRow(),1)
// Cargar Categorias
dw_2.setfilter("categoryid="+string(fila))
dw_1.settransobject(sqlca)
dw_2.filter()
dw_1.retrieve()
dw_2.setsort("productid asc")
// Cargar Productos
dw_2.sort()
dw_2.settransobject(sqlca)
dw_2.retrieve()
fila=1
dw_2.setfilter("categoryid="+ string(fila))
dw_1.triggerevent(clicked!)
dw_2.filter()
end try
Power Builder
dw_2.scrolltorow(n)
dw_2.setfocus()
Script Clicked Para Botn Guardar
Dw_2.modify(categoryid.visible=0)
dw_2.setcolumn(5)
dw_2.settext(string(fila))
dw_2.accepttext()
if dw_2.update()<>-1 then
commit;
messagebox("Msg","Datos Guardados Con exito")
else
rollback;
messagebox("Msg","Datos no se Guardaron")
end if
Dw_2.modify(categoryid.visible=1)
Power Builder
Pasos
1.Adjuntar
la
BD
NORTHWIND en el motor de Base
de dato SQL server, para este caso se
hace uso del SQL server.
Pasos 2.- Conecte la base de datos
con Power Builder y configure los
parmetros de inicializacin.
Paso
3.DataWindow
DataWindow)
Disear
el
(File-New-
Se
elige
el
estilo
de
Presentacin: (Elegir el Tipo Free)
Power Builder
Paso 3.Products
Seleccione
la
Tabla
Power Builder
Power Builder
Power Builder
Power Builder
Power Builder
Luego el datawindows
muestra la imagen.
quedara
como
Power Builder
Agregue los botones respectivos en el pie de pgina guarde la aplicacin y esta lista para
manipularla.
Controles de Lista
Objeto Listbox:
else
Name:
Lb_producto
Lb_venta
lb_venta.additem(lb_producto.selecteditem())
Control DropdownListbox:
end if
Name:
Ddlb_producto
lb_producto.deleteitem(lb_producto.SELECTEDINDEX())
integer i
Control CommandButton:
for i=1 to lb_producto.totalitems()
Name:
Cb_agregar
Cb_borrar
Cb_borrartodo
Cb_pasar
Cb_regresar
Cb_pasartodo
Cb_regresartodo
lb_producto.selectitem(i)
lb_venta.additem(lb_producto.selecteditem())
next
lb_producto.reset()
Script Clicked Para Botn Borrar
if lb_producto.selectedindex()>0 then
ddlb_producto.additem("Fideos")
lb_producto.deleteitem(lb_producto.selectedindex())
ddlb_producto.additem("Arroz")
ddlb_producto.additem("Aceite")
lb_venta.deleteitem(lb_venta.selectedindex())
ddlb_producto.additem("Harina")
ddlb_producto.additem("Azucar")
Messagebox("Error","Seleccione un Registro")
ddlb_producto.additem("Carne")
end if
lb_producto.additem(ddlb_producto.text)
st_n.text=string(lb_producto.totalitems())
Script Clicked Para Botn Pasar
if lb_producto.selectedindex()<0 then
Lic. Vladimir Cotaquispe Gutirrez.
Power Builder
Power Builder
ulong lParam
_access
_lclose
_lopen
Arc
Devuelve
Librera
msvcrt.dll
long
Long hfile
Kernel32.dll
long
Boolean
Long
Beep
Boolean
BitBlt
Long
BringWindowToTop
Boolean
ulong w_handle
Chord
Boolean
Chord(ulong hwnd,long
x1,long y1,long x2,long
Gdi32.dll
y2,long r1, long r2, long
r3, long r4
ChooseColorA
boolean
REF str_ChooseColor
lpcc
comdlg32.dll
ChooseFontA
boolean
REF str_choosefont c
comdlg32.dll
CloseHandle
Boolean
Ulong h
Kernel32.dll
CloseHandle
Boolean
ulong w_handle
Kernel32.dll
CloseWindow
Boolean
ulong w_handle
User32.dll
CopyFileA
Boolean
kernel32.dll
Pb pointer, pb pointer
kernel32.dll
CopyMemory
User32.dll
RtlMoveMem
ory
Ver tambin
CreateCompatibleDC
Ulong
Ulong hDC
Gdi32.dll
CreateDirectoryA
Boolean
kernel32.dll
CreateMutexA
Ulong
Ulong security,boolean
bowner, string lsname
Kernel32.dll
DeleteFileA
Boolean
kernel32.dll
DeleteObject
boolean
ulong hgdiobj
Gdi32.dll
DestroyWindow
Boolean
ulong w_handle
User32.dll
DllRegisterServer
Long
Kernel32.dll
Kernel32.dll
c:\windows\
ocxname.ocx
Gdi32.dll
Ellipse
Boolean
Power Builder
ExitWindowsEx
boolean
nbuf
User32.dll
GetCurrentDirectoryA ulong
kernel32.dll
FatalExit
int exitcode
Kernel32.dll
FileTimeToLocalFileTi
boolean
me
Filetimetolocalfiletime(r
ef str_filedatetime
Kernel32.dll
lpfiletime,ref
str_filedatetime
lplocalfiletime)
ExpandEnvironmentSt
Long
ringsA
Power Builder
FileTimeToSystemTim
boolean
e
FindClose
boolean
Long handle
kernel32.dll
FindFirstFileA
Long
kernel32.dll
kernel32.dll
Ulong
Kernel32.dll
GetCursor
Ulong
User32.dll
GetCursorPos
Boolean
ref mousepos
mousepos2
User32.dll
GetDC
Ulong
Ulong hwnd
User32.dll
boolean
GetDiskFreeSpaceExA boolean
GetFileTime
boolean
Boolean
Version.dll
GetFileVersionInfoSiz
Ulong
eA
Version.dll
GetComputerNameA(ref User32.dll
string cname,ref long
GetKeyboardState
FindNextFileA
Boolean
FindWindowA
Ulong
FreeLibrary
Ulong h
kernel32.dll
FreeLibrary
ulong libhandle
Kernel32.dll
FtpRenameFile
boolean
wininet.dll
GetBkColor
Ulong
ulong hwnd
Gdi32.dll
GetFileVersionInfoA
Ulong
GetClassNameA
Long
GetComputerNameA
Boolean
Kernel32.dll
GetCurrentThread
GetDiskFreeSpaceA
GetCapture
User32.dll
ulong hwnd, ref string
cname, int buf
User32.dll
Boolean
Kernel32.dll
Power Builder
GetKeyState
Integer
Long al_vk
User32.dll
GetLastError
Long
GetMenu
ulong
Ulong w
long
Power Builder
GetTextExtentPoint32
boolean
A
GetThreadPriority
ulong hthread
Kernel32.dll
Integer
Kernel32.dll
User32.dll
GetUserDefaultLangID Integer
GetMenuStringA
GetMinMaxInfo
GetModuleHandleA
long
GetModuleFileNameA long
Ref str_minmaxinfo d,
long s, long l
kernel32.dll
string modname
Kernel32dll
Kernel32.dll
GetObjectBitmap
Ulong
Gdi32.dll
GetParent
Ulong
ulong hwnd
User32.dll
GetPixel
Ulong
Gdi32.dll
integer
string lpszLongPath,
REF string
lpszShortPath, integer
cchBuffer
GetShortPathNameA
Ulong
Ulong w, long p
GetSystemMenu
boolean
Integer
boolean
RtlMoveMem
ory
GetTempPathA
long
GetWindow
user32.dll
GetWindowsDirectory
Ulong
A
Kernel32.dll
GlobalAlloc
ulong
kernel32.dll
GlobalFree
ulong
ulong hMem
kernel32.dll
GlobalLock
ulong
ulong hMem
kernel32.dll
Ref str_memorystatus
lpbuffer
kernel32.dll
ulong
User32.dll
Integer indexnum
User32.dll
ref systemtime
systimeptr
Kernel32.dll
Kernel32.dll
Advapi32.dll
GetVolumeInformatio
boolean
nA
GlobalMemoryStatus
GetSystemTime
Ref string
lprootpathname,ref
string
lpvolumenamebuffer,lon
g nvolumenamesize,ref
uint
lpvolumeserialnumber[2
], ref long
kernel32.dll
lpmaximumcomponentle
ngth, ref long
lpfilesystemflags,ref
string
lpfilesystemnamebuffer,
long
nfilesystemnamesize
GetObjectA
Kernel32.dll
GetSubMenu
GetSystemMetrics
GetUserNameA
Kernel32.dll
GlobalUnlock
ulong
ulong hMem
kernel32.dll
LineTo
boolean
Gdi32.dll
Power Builder
LoadImageA
LoadLibraryA
MciSendStringA
MessageBoxA
Ulong
ulong
MoveToEx
MoveWindow
String modname
Boolean
RasEnumConnections
long
A
ref str_RasConn
lprasconn[], ref long
lpcb, ref long i
RasEnumEntriesA(string
r, string p, ref
Rasapi32.dll
str_rasentryname e[],
ref long lsize, ref long
lentries
Rasapi32.dll
long
User32.dll
RasEnumEntriesA
ulong dwflag,ulong
dx,ulong dy,ulong
cbutton,ulong dwextra
User32.dll
RasGetConnectStatus
Ulong
A
kernel32.dll
RasGetEntryDialPara
msA
Long
ref string
lpszPhonebook, ref
Rasapi32.dll
str_RasDialParms rdp,
ref boolean lbfPassword
Gdi32.dll
RasGetErrorStringA
Long
RasHangUpA
Ulong
ulong hConn
User32.dll
Rectangle
boolean
Boolean
Boolean
boolean
boolean
Polygon
Boolean
Gdi32.dll
ulong hwndle,UINT
wmsg,ulong
wParam,ulong lParam
User32.dll
RasDialA
RasDialDlgA
kernel32.dll
Pie
PostMessageA
long
Mouse_Event
MoveFileA
Power Builder
Boolean
Ulong
ref
str_RasDialExtensions
lstrExt, string
phonebook, ref
str_Rasdialparms rdp,
long notifier, ulong
7
long
RegisterWindowMessa
Ulong
geA
Rasapi32.dll
String lpsz
User32.dll
ReleaseCapture
Boolean
User32.dll
RemoveMenu
boolean
SendMessageA
Long
ulong hwndle,UINT
wmsg,ulong
wParam,ulong lParam
User32.dll
SelectObject
ulong
Gdi32.dll
SetCapture
Ulong
Ulong a
User32.dll
Rasapi32.dll
Rasapi32.dll
DeleteMenu
Power Builder
Power Builder
SetComputerNameA
Boolean
Kernel32.dll
SetCurrentDirectoryA Boolean
kernel32.dll
SetCursorPos
User32.dll
long objhandle
User32.dll
Boolean
SetFocus
SetKeyboardState
boolean
SetPixel
Ulong
Gdi32.dkk
SetThreadPriority
Boolean
Kernel32.dll
SHBrowseForFolder
Long
SetMinMaxInfo
RtlMoveMem
ory
Usando API
Aqu se ha puesto una serie de llamadas a API's de 32 bits. en general se ha puesto sin
explicacin, puesto creo que no las necesitan. Estos ejemplos se obtuvieron de la pgina
web: http://lonestar.texas.net/~chakes y se ha traducido al castellano.
Ejemplo: Llamadas a API's del entorno de Windows
SHGetPathFromIDList Boolean
ShowWindow
user32.dll
Sleep
Long m
kernel32.dll
Shell32.dll
//Nombre de Equipos
function long GetComputerNameA(ref string equipo, ref ulong
areatrabajo)library "kernel32.dll" alias for "GetComputerNameA;Ansi"
long ll_valor
sndPlaySoundA
boolean
SwapMouseButton
Boolean
boolean var
Boolean
ulong lul_at1=20
VerQueryValueA
//nombre equipo
ls_equipo=space(lul_at1)
waveOutGetNumDevs Ulong
Winmm.dll
ll_valor=GetComputerNameA(ls_equipo,lul_at1)
WinExec
uint
st_1.text=ls_equipo
10
Power Builder
11
Power Builder
Power Builder
// Profile Coneccion
SQLCA.DBMS = "OLE DB"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm =
"PROVIDER='SQLOLEDB',DATASOURCE='.',PROVIDERSTRING='Database=Northwind'"
Connect using SQLCA;
If Sqlca.Sqlcode=0 then
open(W_Buscar)
else
Messagebox ("Error de Conexin",Sqlca.SqlErrText)
Halt
end if
DSN
Power Builder
Power Builder
Luego en adelante pulsar siguiente, probar la conexin de Base de datos y luego aceptar.
Para conectarse desde el PowerScript use la siguiente sintaxis:
Pasos 3.- Desde
PowerBuilder 10
el
Entorno
del
// Profile Venta
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Connectstring='DSN=venta"
Connect using SQLCA;
If Sqlca.Sqlcode=0 then
open(W_Buscar)
else
Messagebox ("Error de Conexin",Sqlca.SqlErrText)
Halt
end if