• pb开发技术实例《PB程序设计实例与入门》!适用于进门菜鸟
  • PB编程经验谈 2008-05-01 03:03:00
    <!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"
    
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
    <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
     

      PB作为数据库开发的工具,早已深受广大开发人员的认可,笔者在开发PB应用程序时,总结了一些编程的经验技巧,介绍给大家。

      1.添加启动声音

      对Win 98的启动声音一定不陌生吧,那么有没有想过为你的PB应用程序添加启动声音呢?使用Win32 API函数PlaySound很容易实现。方法是在“Global External Functions...”中添加如下函数声明:

      Function long PlaySound (String Filename,Int Mod,Int Flags ) Library ″winmm.dll″

      获得这个函数声明的最好的方法是使用Visual Basic中的“API Viewer”,只需把得到的结果改写成PB的格式,然后在Application的Open事件中添加如下代码:

      iRet=PlaySound(″C:Program FilesJointStart.wav″,1,1)

      参数1指定启动声音文件,参数2指定播放模式,参数3指定播放标记。播放成功返回1,否则返回0。若因声音文件不存在等原因导致播放失败也不会产生错误提示,因此没有必要对返回值进行捕捉处理。

      2.使PB窗口居中

      在窗口属性的Position页中可以粗略地设置窗口的弹出位置。然而,你并不知道客户机的屏幕分辨率是多少(800×600还是1024×786),不如在Open事件中加入下列代码使其居中:

      GetEnvironment(Env)//获取客户机环境信息

      dy=(Pixelstounits(Env.ScreenHeight,YPixelsToUnits!)-this.Height)/2

      dx=(Pixelstounits(Env.ScreenWidth, XPixelsToUnits!)-this.Width)/2

      this.Move(dx,dy)

      //Env为Environment类型,dx,dy为Long类型3.使用ActiveX控件

      VB可以直接引用ActiveX控件,而PB只能通过“控件嵌套”的方法来引用。这种方法需要借助OLE容器。下面以Animation控件为例说明引用过程及约定。

      窗体设计时,选择OLE,在弹出的“Insert Object”对话框中选择“Insert Control”页,在Control Type下列出了系统中所有注册过的ActiveX控件,选择“Microsoft Animation Control”。对ActiveX控件的属性和方法的引用必须遵循“OLE控件.Object.属性(或方法)”的规则。如下代码通过调用Animation控件的属性和方法来自动播放一个视频剪辑:

      ole—1.Object.AutoPlay =True

      //设置为自动播放

      ole—1.Object.Open(″C:Program FilesJointFireWork.avi″) //打开一个Avi文件

      若你的PB程序中使用了ActiveX控件,最好把相应的OCX文件与你的程序一起发布,并在安装程序中进行注册,因为客户机不一定注册了相应控件。注册的方法是用Regsvr32,若采用InstallShield来制作安装程序,也可以把所有要注册的OCX文件放到一个File Group中,然后将它的“Self-Registered”设置成Yes来自动注册。

      4.操纵LOB

      大对象(Large OBject)通常指大文本和大二进制对象,几乎每一种数据库都支持它。在PB中可以用UpdateBlob和SelectBlob语句来对它们进行处理。

      (1)用UpdateBlob来把大对象数据写入数据库

      在编写管理软件时,要求把员工的照片(Bmp文件)和工作经历(Doc文件)保存在数据库中,而不是像以前一样保存它们的文mpno=′9925′; //把图像数据写入数据库

      If SQLCA.SQLNRows〉0 Then Commit;

      End If

      注意,FileRead一次只能读取32K,若文件大于32K应分多次读取;UpdateBlob执行成功与否不能用SQLCode或SQLDBCode来判断,而要用SQLNRows是否大于0来判断。

      (2)用SelectBlob从数据库中读取大对象数据

      要查看员工的照片或工作经历,就应把相关信息从数据库中读出来。主要代码如下:

      Blob pic //把pic定义为二进制大对象(Binary large object)

      SelectBlob photo Into :pic From emp Where empno=′9925′;//把图像数据读到变量pic中

      p_1.SetPicture(pic) //用图像控件显示图像

      5.编译技巧

      (1)没有必要将PBl编译成机器码dll,即不要选择“Machine Code”。那样做意味着你至少要等待半个小时。编译成伪码PBd就行了。

      (2)把程序中用到的ico、bmp等文件打包到目标代码中。方法是:用记事本创建一个扩展名为PBr的资源文件,它的每一行是一个带完整路径的文件名,用于告诉编译器到何处去找用到的资源。

      (3)PB应用程序要独立运行,必须把SybaseShared下的几个共享库与你的程序一起发布,它们是:PBvm60.dll、PBodb60.dll、PBdwe60.dll。后台若使用MS SQL Server,还得带上PBmss60.dll;若使用Sybase SQL Anywhere,要带上PBo7360.dll;若使用Informix V7.x,要带上PBin760.dll。

    <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
    <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
    展开全文
  • 本文以 ffmpeg 工具,讲述如何认识音视频编程,你可以了解到常见视频格式的大概样子,一步步学会如何使用 ffmpeg 的 C 语言 API 本文重于动手实践,代码仓库:mpegUtil 笔者的开发环境:Arch Linux 4.19.12, ...
  • 经过7天的时间,一个用go语言开发的简单http服务接口程序,终于搞定了。本文章记录中间过程,即作为笔记,将知识点记录下来,也希望能为同样状况的CS程序开发人员提供一点经验吧。 先说功能需求,我们的ERP程序时PB...
  • 本系列课程对protocol buffer如何在c++,java,lua中的使用,重点讲解在lua中的使用
  • 在很多人眼里程序员的标配就是黑框眼镜+格子衫+双肩包+牛仔裤+运动鞋,拥有了这些可能就被判定为一个程序员。而如何判定一个程序员的工作年限,那就需要从他的头发浓密度上去判断...
  • 3.为大数据、微服务、并发而生的通用编程语言。 Go语言与转型 项目转型首选语言;软件工程师转型、添加技术栈的首选语言;这是一门为转型量身定制的课程。 Go语言很特别:1.没有“对象”,没有继承多态,没有泛型...
  • 转载自:http://blog.csdn.net/pb09013037/article/details/41747307 简介 技术永无止境,编程方向现在越来越广了,你还在迷茫地选择方向么? 本篇将简单描述编程各个方面,以及编程之路会遇到的生活...
  • 15种热门与非编程趋势 2020-06-16 04:23:37
    如今的程序员并未创建新的编程语言。 他们更喜欢编写一个预处理程序,该预处理程序将新代码转换为具有丰富的库和API的旧代码。 例如,Groovy被创建为Java的简单版本,而没有过于坚持的标点符号。 CoffeeScript是...
  • 2014以及未来几年编程语言趋势 热门还是冷门?从Web到主板再到培训工作,一同探讨哪些项目正当其时、哪些则逐渐退出历史舞台。 程序员总是喜欢对时尚界冷嘲热讽,认为那里的风潮总是一波接着一波、令人莫衷一是...
  • 本文以 ffmpeg 工具,讲述如何认识音视频编程,你可以了解到常见视频格式的大概样子,一步步学会如何使用 ffmpeg 的 C 语言 API 本文重于动手实践,代码仓库:mpegUtil 笔者的开发环境:Arch Linux 4.19.12, ...
  • 如何学好编程技术? 2018-05-16 09:28:14
    我们从解读几个问题开始:1、各种软件... 系统集成:C++和Java等面向对象语言、Python等解释型语言、LISP等函数式编程语言、GUI、中间件、编译器与解释器、虚拟机、数据库、网络服务、并行计算、集群、Peer2Peer...
  • 编程模型指编程的方式,不特指某种编程语言 命令式编程 vs. 声明式编程 编程模型 vs. 系统实现 例子 命令式Python,声明式SQL 数据 结构 关系型数据 树形数据(JSON…) 矩阵数据 图数据 非结构 图片、音频、视频等...
  • 这是一个通过c代码实现视频格式的转换。 #include &amp;lt;libavutil/log.h&amp;gt; #include &amp;lt;libavformat/avformat.h&amp;gt; #include &amp;lt;stdio.h&amp;gt; #include &...
  • ...程序员们喜好嘲讽那潮流像阵风一样吹过的时尚界。裙子长短颜色款式总是来回在变,领带越来越窄,接着越来越薄。而在技术的世界里,相较于一时的风尚,严谨、科学、数理化...不同之处就在于编程的趋势是由更
  • 网络编程 Twistd\Requests\Scrap\Paramiko 科学运算 Scipy\andas\lpython GUI图形开发 wxpython\pyQT\Kivy 运维自动化 openstack\SaltStack\Ansible\腾讯蓝鲸 操作系统发展历史: 1.管理软硬...
  • 件技术和思想的出现都是为了解决所在的那个年代软件开发的复杂性,对象技术和组件技术也不例外。当然还有很多其它技术,像DBC(契约式编程)、AOP...面向对象编程(Object-Oreinted Programming) 是一种编程范式 ...
  • 内容简介 本书主要包含四个部分: 部分主要阐述 Thread 的基础知识,详细介绍线程的 API 使用、线程安全、线程间数据通信,以及如何保护共享资源等内容,它是深入学习多线程内容的基础。 第二部分引入了 ...
  • 《汇编语言》学习笔记 2018-10-17 17:58:16
    《汇编语言》学习笔记 by 张悠慧教授(清华大学),课程链接 https://www.bilibili.com/video/av27895807/?p=1 ,大概有十几个小时的视频。看完课程之后我又回看了阮一峰老师的《汇编语言入门》博客 ...
1 2 3 4 5 ... 20
收藏数 3,050
精华内容 1,220