pb实用例子

整理部分PB实用例子,供大家参考,有不足之处请大家多提意见
在附件中可以下载pbl(以PB7为代表,部分函数在高版本中可以不需要申明外部函数)
1、得到当前路径
首先在局部外部函数中申明以上函数
FUNCTION ulong GetCurrentDirectoryA(ulong BufferLen, ref string currentdir) LIBRARY "kernel32.dll"
然后在控件的事件中写入以下代码:
String ls_dir
ulong lul_buf
lul_buf = 100
ls_dir = space(100)
GetCurrentDirectoryA(lul_buf, ls_dir)
MessageBox('路径',ls_dir)
2、设置当前路径
首先在局部外部函数中申明以上函数
FUNCTION boolean SetCurrentDirectoryA(ref string cdir) LIBRARY "kernel32.dll"
然后在控件的事件中写入以下代码:
boolean lb_rtn
String  ls_dir
ls_dir = 'c:\'
lb_rtn = SetCurrentDirectoryA(ls_dir)
If lb_rtn Then
 MessageBox('成功','设置路径成功')
Else
 MessageBox('失败','设置路径失败')
End If
3、得到系统路径
首先在局部外部函数中申明以上函数
FUNCTION ulong GetSystemDirectoryA(ref string wdir, ulong buf) LIBRARY "kernel32.dll"
然后在控件的事件中写入以下代码:
ulong lul_buf
string ls_dir
lul_buf = 144
ls_dir = space(144)
GetSystemDirectoryA(ls_dir, lul_buf)
MessageBox('路径',ls_dir)
4、得到windows路径
首先在局部外部函数中申明以上函数
FUNCTION ulong GetWindowsDirectoryA(ref string wdir, ulong buf) LIBRARY "kernel32.dll"
然后在控件的事件中写入以下代码:
ulong lul_buf
string ls_windir
lul_buf = 144
ls_windir = space(144)
GetWindowsDirectoryA(ls_windir, lul_buf)
MessageBox('路径',ls_windir)
5、创建目录
首先在局部外部函数中申明以上函数
FUNCTION boolean CreateDirectoryA(ref string pathname, int sa) LIBRARY "Kernel32.dll"
然后在控件的事件中写入以下代码:
boolean lb_rtn
String  ls_dir
ls_dir = 'c:\create'
lb_rtn = CreateDirectoryA(ls_dir, 0)
If lb_rtn Then
 MessageBox('成功','创建目录成功')
Else
 MessageBox('失败','创建目录失败')
End If
6、得到用户名
首先在局部外部函数中申明以上函数
FUNCTION boolean GetUserNameA(ref string uname, ref ulong slength) LIBRARY "ADVAPI32.DLL"
然后在控件的事件中写入以下代码:
string ls_username
ulong lul_buf
boolean rtn
lul_buf = 255
ls_username = Space( 255 )
GetUserNameA(ls_username, lul_buf)
MessageBox('用户名',ls_username)
7、 删除文件
首先在局部外部函数中申明以上函数
FUNCTION boolean DeleteFileA(ref string filename) LIBRARY "Kernel32.dll"
然后在控件的事件中写入以下代码:
boolean lb_rtn
string  ls_file
ls_file = 'c:\test\test.txt'
lb_rtn = DeleteFileA(ls_file)
If lb_rtn Then
 MessageBox('成功','删除文件成功')
Else
 MessageBox('失败','删除文件失败')
End If
8、获取计算机名
直接在控件的事件中写入以下代码:
string ls_name
RegistryGet("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName", ls_name)
MessageBox('计算机名',ls_name)
9、删除目录
首先在局部外部函数中申明以上函数
FUNCTION boolean RemoveDirectoryA(ref string pathname) LIBRARY "Kernel32.dll"
然后在控件的事件中写入以下代码:
boolean lb_rtn
string  ls_dir
ls_dir = 'c:\create'
lb_rtn = RemoveDirectoryA(ls_dir)
If lb_rtn Then
 MessageBox('成功','删除目录成功')
Else
 MessageBox('失败','删除目录失败')
End If
10、拷贝文件
首先在局部外部函数中申明以上函数
FUNCTION boolean CopyFileA(ref string cfrom, ref string cto, boolean flag) LIBRARY "Kernel32.dll"
然后在控件的事件中写入以下代码:
string ls_from, ls_to
boolean lb_flag, lb_rtn
lb_flag = false
ls_from = 'c:\test.txt'
ls_to = 'c:\test\test.txt'
lb_rtn = CopyFileA(ls_from, ls_to, lb_flag)
If lb_rtn Then
 MessageBox('成功','拷贝文件成功')
Else
 MessageBox('失败','拷贝文件失败')
End If
11、创建文件
直接在控件的事件中写入以下代码:
long  li_filenum,li_close
string ls_file,ls_write
ls_file = 'c:\abc.txt'
ls_write = '我爱你'
li_FileNum  =  FileOpen(ls_file,LineMode!,   Write!,   LockWrite!,   Replace!)  
FileWrite(li_FileNum, ls_write)  
li_close = fileclose(li_FileNum)  
If li_close = 1 Then
 MessageBox('成功','创建文件成功')
Else
 MessageBox('失败','创建文件失败')
End If
12、使窗口居中显示
创建一个函数,名字随便自己取,但最好能看懂,在此我叫gf_center
参数:lwindow
类型: window
具体代码如下:
environment le_env
int screenheight, screenwidth
GetEnvironment(le_env)
screenheight = PixelsToUnits(le_env.screenheight, YPixelsToUnits!)
screenwidth = PixelsToUnits(le_env.screenwidth, XPixelsToUnits!)
lwindow.Move((ScreenWidth - lwindow.Width) / 2, (ScreenHeight - lwindow.Height) / 2)
在需要居中显示窗口的open事件中写入以下代码即可
gf_center(This)
如果有很多窗口需要居中显示,可以创建一个祖先窗口,在祖先窗口的open事件中写代码
然后建立其他窗口时只要选择继承祖先窗口就可以了

你可能感兴趣的:(函数,职场,实例,休闲,pb)