行内技术
Java桌面应用程序设计新贵:SWT简介
  Java语言的声望和它在桌面应用程序(GUI程序)所取得的成就显然极不相符,至今仍然很少能看到非常成功Java桌面程序。虽然有JBuilder,Netbean,JProbe等大型软件作为代表,但这仍不能证明Java的GUI程序是成功的:它们的外观总是和同一操作系统平台下的其它软件显得格格不入。对机器配置的需求也似乎永无止境,这使得它们只能被一些总是拥有当前最高性能PC的程序员们所容忍,或是那些不在乎金钱和时间的专业用户所接受。对绝大多数计算机使用者来说,AWT或SWING代表着怪异的界面和无法接受的速度。StandardWidgetToolkit(SWT)或许是Java这一噩梦的终结...
2013-3-5360
用VB6.0实现几种图文特效的演示程序
  电影或电视中经常可见到一些字幕或图片的动态变化特技,在制作多媒体教学软件或广告宣传等多媒体演示文档时,也常常需要用到一些图文的动态变化效果。VB6.0作为Windows软件的强有力开发工具,在多媒体程序设计方面具有广阔的应用前景。本文讨论运用VB6.0的定时器并结合WindowsAPI函数实现图片或文字的动态缩放和渐隐渐现等特技效果。  一、实现图文动态缩放和渐隐渐现特效的程序方法  1、程序界面  取窗体名为Form1,其Windowstate属性设为2。在窗体Form1中设置如下控件和属性:一个标签控件Label1,其backcolor等于form1的backcolo...
2013-3-5520
制作一个基于MFC对话框的OpenGL类
  今天写了个基于MFC对话框的OpenGL类:COpenGL,可以在对话框程序中使用OpenGL了,并且提供了全屏与非全屏转换的两个函数,很容易使用,速度快。  使用方法:在对话框上加一个Static控件(或者其他的也可以),在OnInitDialog()中加人下面这段代码(假设控件ID为IDC_OPENGL,m_openGL是类COpenGL的对象):Code:CRectrect;GetDlgItem(IDC_OPENGL)->GetWindowRect(rect);ScreenToClient(rect);m_openGL.Create(rect,this);...
2013-3-5562
VB6.0 中连接加密的Access数据库
  以前曾看过介绍如何在VisualBasic中连接和使用Access数据库的技术文章,实际上在专业的数据库软件开发中,为了确保数据库中信息的安全,往往要求对数据库文件进行加密,以防止非法用户通过其它的常规手段将其打开。那么,在VisualBasic中如何建立与加密的数据库的连接呢?笔者在开发本校的宿舍管理信息系统中,总结了一些方法和技巧,现写出来与同行交流。  一、建立数据库  因为在VisualBasic6.0中有的数据库连接方式不支持Access2000版本格式的数据库,为了便于说明问题,本文所提的数据库以Access97版本数据库为例。  在Micros...
2013-3-5513
C++操作符重载的变态用途之子类转换
  如果类的成员变量是特定类和自定义结构,使用该类名或结构作为操作符进行重载。(当然是基本类型也可以,不过实用性不强,只会降低代码可读性。)  如下,一个CPerson,强行转换为hand,也可以使用。  类似于现实,我们只会对某个实物的具体特征表示强烈的兴趣,也就是特征聚焦的意思。如HR部门只会关注一个应聘者的skill。  当然在实际用途中,过度使用这种子类转换,只会降低代码可读性。  另外如类中有多个同类型的成员,这样的转换让人莫名其妙。  实例代码://Person.h:interfacefortheCPersonclass./////////////...
2013-3-5327
SQL Server 2000中生成XML的小技巧
  以前在介绍SQL2k的时候已经提到了SQL2k对XML的支持,使用forXML语句就可以很容易的把执行的结果转化为一个XML,这样可以在很大程度上提高系统运行效率和开发速度,详细的内容请参见BooksOnline。  但是在使用ADO(RequiredADO2.6)访问返回的XML的方式和原来的Recordset是有所不同的。如果你还是使用Recordset访问的话,只能得到一个Unicode格式的XMLSchema,而无法得到XML的内容。  其实这个问题也是很容易就能解决的,只是我自以为很熟悉ADO,没有仔细看Help,所以没有发现ADO是采用Stream的方式来得到和返...
2013-3-5336
用ADO管理SQL Server数据库及其设备
  微软公司的SQLServer是目前小型网络中常用的数据库管理系统之一。面向这种网络数据库的应用程序也在日益增多,这种网络数据库应用系统的正常运行,一般都依赖于已经存在的用户数据库。创建数据库的工作当然可以用SQLServer提供的SQLEnterpriseManager工具来完成,但是,如果能够提供一种定制的数据库管理工具,专门管理应用系统需要的数据库及其设备,对用户来说无疑更加理想。  现存问题  我们知道,在使用CREATEDATABASE语句创建一个数据库之前,必须存在一个有剩余空间的数据库设备,或者事先使用DISKINIT语句创建一个新设备。但是这些语句含有很多必需的...
2013-3-5437
关于java异常处理机制的深入理解
1引子try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。packagemyExample.testException;publicclassTestExcepti...
2013-3-5381
pb中压缩整理access数据库文件(mdb) 
下面直接给出方法函数:1、申明外部函数,用来取系统的临时路径。FUNCTIONulongGetTempPath(ulongnBufferLength,refstringlpBuffer)LIBRARY"kernel32.dll"ALIASFOR"GetTempPathA"2、核心方...
2013-3-5501
在VC6.0中使用MSLU编写WIN98/2K下的UNICODE程序
编写WIN98系统下使用的UNICODE程序,可以使用MSLU。一、使用MSLU的选项二、调用unicows.dll失败的处理三、无法在MSLU上正常工作的函数处理四、对于ON_NOTIFY通知消息的处理。一、使用MSLU的选项MFC的静态链接Release版本C/C++选项:去掉_MBCS添加_UNICODE,UNICODELink选项:Output->EntryPointSymbol:wWinMainCRTStartupObject/Librarymodules:unicows.libkernel32.libadvapi3...
2013-3-5456
C/C++头文件一览
C、传统C++#include<assert.h>    //设定插入点#include<ctype.h>    //字符处理#include<errno.h>    //定义错误码#include<float.h>    //浮点数处理#include<fstream.h>   //文件输入/输出#include<iomanip.h>   //参数化输入/输出#include<iostream.h>   //数据流输入/输出#include<limits.h>...
2013-3-5376
PowerBuilder数据窗口中记录颜色的隔层显示
  1.前言  在PowerBuilder中数据窗口(DataWindow)技术可以说是PB的核心,以至于Sybase公司甚至为它申请了专利。对数据库中数据的所有操作几乎都是通过DataWindow对象来完成的,数据窗口对象创建的好坏直接影响到应用程序本身的优劣。  对于许多新接触PowerBuilder的程序员来说,DataWindow控件和DataWindow对象之间的差别常常让人混淆不清。其实,DataWindow控件就是一个类似于CheckBox、CommandButton控件的控件。而DataWindow对象则是用画板创建在PBL库中的对象。DataWin...
2013-3-5465
windows系统文件详解
AACCESS.CHM-Windows帮助文件ACCSTAT.EXE-辅助状态指示器ADVAPI32.DLL-高级Win32应用程序接口AHA154X.MPD-SCSI驱动程序AM1500T.VXT-网卡驱动程序AM2100.DOS-网卡驱动程序APPSTART.ANI-动画光标APPS.HLP-Windows帮助文件AUDIOCDC.HLP-"易码编码解码器"帮助文件AWARDPR32.EXE-增加打印机工具B BIGMEM.DRV-BIGMEM虚拟设备BILLADD.DLL-动态链接库(支持MSW)BIOS.VXD-即插即用BIOS接口...
2013-3-5538
Window 消息大全使用详解
消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做TMsg,它在Windows单元中是这样声明的:typeTMsg=packedrecordhwnd:HWND;//窗口句柄message:UINT;//消息常量标识符wParam:WPARAM;//32位消息的特定附加信息lParam:LPARAM;...
2013-3-5472
教你理解复杂的C/C++声明
陆其明译原文:http://www.codeproject.com/cpp/complex_declarations.asp作者:VikramAPunathambekar介绍曾经碰到过让你迷惑不解、类似于int*(*(*fp1)(int))[10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明:我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。需要强调一下的是,复杂的C/C++声明并不是好的编程风格;我这里仅仅是教你如何去...
2013-3-5379
C/C++中的整型常识
很多人对C/C++中的整型不太了解,导致代码移植的时候出现问题,本人在此总结一下,若有描述错误,请务必指出,谢谢!a.C/C++对整型长度的规定是为了执行效率,将int定义为机器字长可以取得最大的执行速度;b.C/C++中整型包括:int,char和enum,C++中还包含bool类型,C99中bool是一个宏,实际为_Bool;c.C和C++对enum的规定有所不同,这里不描述;d.修饰整型正负的有signed和unsigned,对于int默认为signed;e.修饰int大小的有short和long,部分编译器还扩展了一些更长的整型,比如longlong和__int64,...
2013-3-5347
PB8.0应用程序编译发布技术研究
  摘要:本文主要讨论基于Windows平台的PowerBuilder8.0应用程序编译发布关键问题和解决方法,包括执行文件的建立、资源文件的创建、安装程序的建立及添加数据源和SQLanywhere数据库移动处理等问题。关键字:软件开发、PowerBuilder8.0、应用程序发布、Setup程序制作。引言  PowerBuilder+ODBC+SQLanywhere是目前开发数据库应用程序非常流行的模式。但PowerBuilder本身仅是一个开发工具,当一个应用程序被开发并完成调试后...
2013-3-5285
用BCB开发有身份认证功能的Email程序
  引言  为了更有效地抑制垃圾邮件的泛滥,目前多数网站的邮件收发系统都使用了ESMTP服务的身份认证功能。即用户发送邮件时,需要对用户的身份进行验证,如果帐号或密码错误,邮件服务器会拒绝发送邮件。BorlandC++Builder6中有丰富的控件供开发者使用,其中当然也包括邮件发送控件NMSMTP,这个控件使用方便,但是惟一的缺点是不支持邮件发送时的身份认证功能。笔者通过对邮件发送协议的分析,在使用控件的基础上设计了具有身份认证功能的邮件发送程序。  ESMTP协议分析  为了实现身份认证功能,目前ESMTP协议中增加了一部分内容,这就是身份认证。下面我们看看这段认证过程,...
2013-3-5454
将Java应用程序本地编译为EXE的几种方法
将Java应用程序本地编译为EXE的几种方法(推荐使用JOVE和JET) 1.从www.towerj.com获得一个TowerJ编译器,该编译器可以将你的CLASS文件 编译成EXE文件。 2.利用微软的SDK-Java4.0所提供的jexegen.exe创建EXE文件,这个软件可以 从微软的网站免费下载,地址如下: http://www.microsoft.com/java/download/dl_sdk40.htm jexegen的语法如下: jexegen/OUT:exe_file_name /MAIN:main_class_namemain_class_file_...
2013-3-5415
从C++到.NET 揭开多态的面纱
多态是面向对象理论中的重要概念之一,从而也成为现代程序设计语言的一个主要特性,从应用角度来说,多态是构建高灵活性低耦合度的现代应用程序架构所不可忽缺的能力。从概念的角度来说,多态使得程序员可以不必关心某个对象的具体类型,就可以使用这个对象的“某一部分”功能。这个“某一部分”功能可以用基类来呈现,也可以用接口来呈现。后者显得更为重要——接口是使程序具有可扩展性的重要特性,而接口的实现依赖于语言对多态的实现,或者干脆就象征着语言对多态的实现。  本文并不大算赘述多态的应用,因为其应用实在俯拾皆是,其概念理论也早已完善。这里,我们打算从实现的...
2013-3-5469