行内技术
用Delphi压缩Access数据库
usesdao97,dao2000;procedureCompactMdbDatabase(srcDbname,dstDbname,oldpwd,newpwd:string;bAccess97:boolean=true);varidbEngine:_dbEngine;beginifoldpwd<>''thenoldpwd:=';pwd='+oldpwd;ifnewpwd<>''thennewpwd:=';pwd='+newpwd;ifbAccess97then&n...
2013-3-5447
使用javap深入查看类文件
Java开发人员熟悉在一个循环中使用StringBuffer来代替串联String对象能获得最佳性能。然而,多数开发人员从来没有比较两种方法产生的字节代码的区别。在Java开发工具包(JDK)中有一个叫做javap的工具可以告诉你为什么这样做可以获得最佳性能。Javap将一个类和它的方法的一些转储信息输出到标准输出。该工具不把代码反编译为java源代码,但是它会把字节代码反汇编成为由Java虚拟机规范定义的字节代码指令。在你需要查看编译器为你或者给你做了什么的时候,或者你想要看一处代码的改动对编译后的类文件有什么影响的时候,javap相当有用。现在以我们前面提到的Stri...
2013-3-5493
让对话框对UPDATE_COMMAND_UI生效
问题:一般情况下我们用UPDATE_COMMAND_UI来修改菜单的状态(enable/disable,check/uncheck,changetext),但这个方法在一个基于对话框上的菜单却没有效果。voidCTestDlg::OnUpdateFileExit(CCmdUI*pCmdUI){pCmdUI->Enable(FALSE);pCmdUI->SetCheck(TRUE);pCmdUI->SetRadio(TR...
2013-3-5407
利用VC++获取异构型数据库库结构信息
摘要:本文在介绍ODBC技术的基础上,将MFC和ODBCAPI结合起来创建了两个自定义类,实现了对任意异构型数据库库结构信息的获取。关键字:ODBC,MFC,异构型数据库,记录集一.问题的提出  随着数据库技术在各个应用领域的迅速发展,市场上推出了多种数据库系统,为了充分利用资源,实现信息共享,以便用户能对异构型数据库实现透明的访问(包括数据查询、更新和交换等功能),作者开发了异构型数据库通信平台。在平台的研制过程中,获取各种异构型数据库的结构信息是进行数据访问的前提。作者以VC++5.0为开发语言,利用ODBC实现了这一关键技术。二.ODBC技术介绍  ODBC...
2013-3-5408
写注册表动态创建SQL Server ODBC数据源
各个参数的意义:DBServer:数据库所在主机DBName:数据库名称DSN:数据源名称UID:登陆用户返回值:-1:没有安装SQLServer驱动程序-2:其他错误0:成功实现函数:intMakeSQLServerODBCDSN(LPCTSTRDBServer,LPCTSTRDBName,LPCTSTRDSN,LPCTSTRUID){BOOLbInstallDriver=TRUE;CRegKeyregKey;L...
2013-3-5457
如何在VC++中使用API直接打印
(说明:)这一段代码,用以演示《如何在VC++中使用API直接打印》。并且该段代码可以直接嵌入各种工程中,有实际使用的价值。(用途:)在VisualC++中,应用程序通常是使用CView中提供的打印功能,在OnPrint()或OnDraw()中向打印机输出。但是对于对话框中的数据,或基于对话框的程序,打印成了一件繁琐的工作。该段代码向用户提供了PrintListCtrl()函数,用于打印用户在对话框或FormView中的CListCtrl(控件必须是ReportView形式的)控件中的内容。在打印过程中,根据控件中每列标题的宽度计算打印输出时各列的宽度,并根据数据的行数自动分页。...
2013-3-5467
用C#快速往Excel写数据
本示例是用于将ListView中的内容倒入到Excel与常用的逐单元格写不同的是,本例子采用数据写入到range的方法。该方法效率明显较高Excel.Applicationapp=newExcel.ApplicationClass();if(app==null){MessageBox.Show("Excel无法启动");return;}...
2013-3-5503
String转换成Integer源码分析
我们经常为用到Integer.valueOf(Stringstr)这个方法,如果字符串格式不对,这个方法会抛出一个系统异常NumberFormatException这里我们就要分析一下这个方法,其中Byte,Short也是调用了Ingeter中的方法.在Integer类中的定义如下:publicstaticIntegervalueOf(Strings)throwsNumberFormatException{returnnewInteger(parseInt(s,10));}这里因...
2013-3-5287
PB动态报表格式自由定义的实现
  在通常的Server/Client方式MIS开发中,总是有没完没了的报表需要制作,调试报表花费的时间也是最多而且乏味,还常常不能满足客户的要求。要是能够让用户自己调整报表的格式和内容,然后将它保存下来,程序下次启动时它自动调用保存了的报表格式那有多好。本人通过如下方法最终实现了用的要求。PB(PowerBuilder)有一种以PSR结尾的特殊的保存报表的文件格式(本文简称作PSR文件)。根据数据窗口可以直接读取PSR文件生成报表的原理,程序通过生成PSR文件,实现动态报表格式的保存。  一、实现原理:  PB中的报表其实就相当于是数据窗口。  第一步,动态报表的实现。通...
2013-3-5350
在ASP.NET中如何用C#.NET实现基于表单的验证
翻译:mydotnet这篇文章引用到了Microsoft.NET类库中的以下名空间:  System.Data.SqlClient System.Web.Security-------------------------------任务:    摘要: 1.要求   2.用VisualC#.NET创建一个ASP.NET应用程序3.在Web.config文件里配置安全设...
2013-3-5373
Asp.NET中常用的一些优化性能的方法
ASP.NET的缓存机制相比ASP有很大的改进,本文档除对常用优化方法进行总结介绍外,强调了如何使用ASP.NET的缓存来获得最佳性能。1:不要使用不必要的session和ASP中一样,在不必要的时候不要使用Session。可以针对整个应用程序或者页面禁用会话状态:l禁用页面的会话状态l禁用应用程序的会话状态在应用程序的Web.Config文件的ses...
2013-3-5347
用程序实现文件的关联
文件关联在程序设计中有着重要的作用,它的目的是要实现某种扩展名的文件由相应的应用程序来打开,有许多的软件,特别试那些媒体播放软件,大都实现了文件的关联,可以想象,一个与文件相关的软件连文件关联就没有做到,它还如何混下去。另外,由于一般应用程序都有自己特定扩展名的数据文件,这也要求软件编制者应在程序中实现自动关联而不能由用户手工去实现。那如何实现文件的关联呢?实现文件关联的核心是对注册表的操作,所有的文件关联都在HKEY—CLASSES—ROOT下面,要实现文件关联必须在HKEY—CLASSES—ROOT中增加两个键值,一是和文件扩展名对应的类型说明,二是对这种类型文件的操作所需要执行的应...
2013-3-5508
数字小键盘指法练习
数字小键盘指法练习是用来练习指法的一个小软件,当初我之所以编写这个软件是因为我要参加今年夏天四川省的高考通分工作,我的指法太烂,速度太慢了,而且还因为不满学校给我们提供的用来练习指法的软件,是这样的,在高考的通分中,大部分分数就不带小数点,带小数点也是只有.5小数点,而学校给我们的那个软件在产生数据的时候全部带有小数点如:52.1、68.3、69.4等,这个还可以忍受,更让人感觉不好的居然那个软件有时间限制,我们在打开它的时候它就自动关闭了,而老师给我们的提示是叫我们改变系统时间来进行指法练习,我当然不满这种做法了,于是自己写了这个软件,好了下面我就来介绍一下我是如何实现的,先还是来介绍...
2013-3-5421
C#里的委托和事件实现Observer
一、委托的简介1、委托的声明:<accessmodifier>delegate<returnType>HandlerName([parameters])例如:publicdelegatevoidPrintHandler(stringstr);委托声明定义了一种类型,它用一组特定的参数以及返回类型来封装方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象同时封装一个实例和该实例上的一个方法。如果您有一个委托对象和一组适当的参数,则可以用这些参数调用该委托。...
2013-3-5379
C#如何取硬件标志
usingSystem;usingSystem.Runtime.InteropServices;usingSystem.Management;namespaceHardware{///<summary>///Hardware_Mac的摘要说明。///</summary>publicclassHardwareInfo{//取机器名publicstringGetHostName(){returnSystem.Ne...
2013-3-5471
VC中设置Dialog背景图象
在CODEGURU看到一个MDICLIENT以位图为背景的例子,受到启发,在DIALOG中相似地模仿了以下,效果很好。主要要点是处理背景擦除消息时在DIALOGCLIENT区域画位图,代码如下:BOOLCBmpbgDlg::OnEraseBkgnd(CDC*pDC){CRectrect;GetClientRect(&rect);BITMAPbm;CDCdcMem;m_pBmp->GetObject(sizeof(BITMAP),(LPVOID)&bm);dcMem.CreateCompatibleDC(NULL);CBitmap*pOldBi...
2013-3-5387
MFC窗口位置管理详细分析及实例
在一般用MFC编写的程序的窗口客户区中,可能有好几个子窗口(具有WM_CHILD风格的窗口)。上边是工具栏,中间是视图窗口,下边是状态栏。三个窗口在框架的客户区里和平共处,互不重叠。主框架窗口的尺寸改变了,别的子窗口都能及时调整自己的尺寸以便保持相互位置关系不变,例如状态条窗口总能保持在主框架客户区底部,并且其宽度总能和主框架客户区宽度一致。工具栏窗口总能停靠在主框架的某一边不变,其宽度或高度总能和主框架客户区的宽度或高度一致,视图窗口总能填满主框架客户区的剩余空间。假如我们自己从CWnd类派生一个窗口类并生成一个窗口,在它的客户区里要生成若干个子窗口,我们想使这些子窗口排列得规规矩...
2013-3-5334
VC打造自己特色的屏幕保护
是否厌倦了Windows自带的屏幕保护程序,想不想自己做一个多姿多彩的、富有人情味的屏保呢?下面我就告诉你应该如何做。  首先先给大家介绍一下屏幕保护程序的原理。其实屏幕保护程序就是普通的可执行程序(exe)。只不过Windows把它换了一个扩展名(scr),放在了系统目录下,由操作系统调用而已。对WindowsNT和Windows2000这个目录是C:\WINNT\system32,对于Win95,Win98这个目录是C:\Windows和C:\Windows\system  下面就开始动工建立我们自己的屏保吧。  1.选择AppWizard建立一个基于对话框的工程,工程名就...
2013-3-5371
Visual C++中对象的序列化与文件I/O研究
持久性和序列化  持久性是对象所有的保存和加载其状态数据的能力。具有这种能力的对象能够在应用程序结束之前以某种方式将当前的对象状态数据记录下来,当程序再次运行时,通过对这些数据的读取而恢复到上一次任务结束时的状态。由于绝大多数的MFC类是直接或间接由MFC的CObject类派生出来的,因此这些MFC类都具有保存和加载对象状态的能力,是具有持久性的。在使用应用程序向导生成文档/视结构的程序框架时,就已经为应用程序提供了用于对象状态数据保存和加载的基本代码。  为实现对象的持久性,通常多以字节流的形式将记录对象状态的数据存放到磁盘上,这种将状态数据保存到磁盘和从磁盘恢复到内存的过程称...
2013-3-5333
使用C#实现阿拉伯数字到大写中文的转换
usingSystem;namespaceConsoleApp{///<summary>///本类实现阿拉伯数字到大写中文的转换///该类没有对非法数字进行判别///请调用NumToChn方法///</summary>publicclassNumFormat{publicNumFormat(){////TODO:在此处添加构造函数逻辑//}&...
2013-3-5350