BCB高手进阶 (十)用Sender参数实现代码重用 (转)
BCB高手进阶 (十)用Sender参数实现代码重用 (转)[@more@]BCB高手进阶 (十)用Sender参数实现代码重用 Mailto:nxyc_twz@163.com">nxyc_twz@163.com 面向对象的编程工具的特点之一就是要提高代码重用性(Reuse),BCB当然可以实现这一功能。我们都知道,在BCB中,大部分程序代码都直接或间接的对应着一个事件,此程序称为事件处理句柄,它实际上就是一个过程。从应用程序的工程到窗口、组件和程序,BCB强调的是其开发过程中每一层次的重用性,可以充分利用已编写过的代码来减少工作量,更会使你的程序变得优美。代码段间
WTL体系结构(3) (转)
WTL体系结构(3) (转)[@more@]WTL体系结构 视图 视图窗口看起来显得很简单: class CMyView : public CWindowImpl<CMyView>{public: DECLARE_WND_CLASS(NULL) BOOL PreTranslateMessage(MSG* pMsg) { pMsg; return FALSE; } BEGIN_MSG_MAP(CMyView) MESSAGE_HANDLER(WM_PAINT, OnPaint) END_MSG_MAP() LRESULT OnPaint(UINT, WPARAM, LPARAM, BOOL&) { CPaintDC dc(m_hWnd); //TODO: Add your drawing code here return 0;
“瑜珈山夜话” ----内存分配(三) (转)
“瑜珈山夜话” ----内存分配(三) (转)[@more@] 存储器的结构层次 我想大家都很清楚,在计算机的存储中,有各种各样的存储器,对他们的访问频率和访问方式直接影响到我们的程序效率,一般来说,可以分为5个等级:寄存器、一级缓存、二级缓存、主存、磁盘存储器。下面我们就把他们的特性大体的说一下: 1、寄存器,是所有存储器里面延迟时间最短、带宽最大、开销最少的,毫无疑问,这是目前速度最快的存储器,但是代价比较昂贵,所以寄存器的个数有限,我们的程序应该尽量充分利用寄存器,C/C++里面不是有一个关键字:
PL/SQL初学者必读:几十个实用的PL/SQL (转)
PL/SQL初学者必读:几十个实用的PL/SQL (转)[@more@]第一阶段Q.编写一个pl/sql程序块以显示所给出雇员编号的雇员的详细信息。A. DECLARE erec emp%ROWTYPE;BEGIN select * INTO erec FROM emp WHERE empno=&雇员编号; dbMS_OUTPUT.PUT_LINE('EmpNo' || ' ' || 'Ename' || ' '|| 'Job' || ' ' || 'Manager' || ' ' || 'HireDate' || ' ' || 'Salary' || ' ' || 'Commision' || ' ' || 'DeptNo'); DBMS_OUTPUT.PUT_LINE(erec.ename || ' ' || erec.job || ' ' || erec.mgr || ' ' ||erec.hi
体味最深 咨询公司细数ERP失败10大祸首 (转)
体味最深 咨询公司细数ERP失败10大祸首 (转)[@more@]体味最深 咨询公司细数ERP失败10大祸首 (2003.06.12) 来自:IT经理世界 Clive Weightman ----造成ERP项目失败的祸首往往另有其人。----执行一个大型的ERP项目,其难度无异于攀登珠穆朗玛峰。许多无法逾越的障碍常常使得项目无疾而终。舆论认为大部分ERP项目的结果与预期的大相径庭。这些项目或者是不能达到可衡量的商业利益,或者更糟糕,有可能威胁到公司的经济实力。 ----把ERP项目与登山相类比是否有些夸张了?也许如此。但
企业信息化的八个策略问题 (转)
企业信息化的八个策略问题 (转)[@more@]企业信息化的八个策略问题:1、企业定位策略 尽管在企业制度、管理模式、技术工艺、行业属性、发展阶段、经营规模等方面具有共性的企业,可以相互借鉴信息化建设的经验教训,但是,从来不存在完全相同的企业,因此也就没有可以完全照抄照搬的企业信息化模式。在规划和建设信息化之前,企业高层决策机构首先应当借助外部的第三方信息化咨询机构,从经营战略、体制、技术、管理、企业文化、人力资源、行业环境、竞争地位等方面,对企业进行全面的自我诊断和准确定位甚至重新定位,在
硬盘结构简介 (转)
硬盘结构简介 (转)[@more@]硬盘结构简介 信人: suzhe (I Love Linux), 信区: Linux 标 题: HardDisk,Partition,Boot,OSLoader专题(1) 发信站: BBS 水木清华站 (Sat Nov 20 16:12:06 1999) 第一部分 简 介 1,1 一. 硬盘结构简介 1. 硬盘参数释疑 到目前为止, 人们常说的硬盘参数还是古老的 CHS(Cylinder/Head/Sector) 参数. 那么为什么要使用这些参数,它们的意义是什么?它们的取值范围是什么? 很久以前, 硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬 盘. 也就是硬盘盘片的每一条磁道都具有相同的扇区
Attribute 在.NET编程中的应用(二) (转)
Attribute 在.NET编程中的应用(二) (转)[@more@]Attribute在.NET编程中的应用(二) .NET framework中对Attribute的支持是一个全新的功能,这种支持来自它的Attribute类。在你的程序中适当地使用这个类,或者是灵活巧妙地利用这个类,将使你的程序获得某种在以往编程中很难做到的能力。我们来看一个例子:假如你是一个项目开发小组中的成员,你想要跟踪项目代码检查的信息,通常你可以把代码的检查信息保存在数据库中以便查询;或者把信息写到代码的注释里面,这样可以阅读代码的同时看到代码被检查的信息。我们知道.NET的组件是自描述
用ADODB.Stream代替FSO读取文本文件 (转)
用ADODB.Stream代替FSO读取文本文件 (转)[@more@]昨天我问过这个问题,不过没人回答到点上,今天搞定了.贴出来给觉得有用的朋友,希望其他朋友不用走弯路. '文件内容读取.Function LoadFile(ByVal File) Dim objStream On Error Resume Next Set objStream = Server.Createobject("ADOdb.Stream") If Err.Number=-2147221005 Then Response.Write "<div align='center'>非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序</div>" Err.Clear Response.End End If With
Sender 的應用:所有Edit共用一個過濾格式 (转)
Sender 的應用:所有Edit共用一個過濾格式 (转)[@more@]1. 所有的Edit 都只允許輸入數字,即只可以輸入一次小數點2. 不想對多達幾十個的Edit 都寫onKeyPress 事件 那你就寫一個,其它的全部在object Inspector 中指向這一個:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);var IntCompIdx: Integer; stText: string;begin if (Ord(Key) = 46) then begin IntCompIdx := (Sender as TEdit).ComponentIndex; stText := TEdit(Components[IntCompIdx]).Text; if Pos('.', stT
让Windows 2000/XP中的任意窗口透明起来 (转)
让Windows 2000/XP中的任意窗口透明起来 (转)[@more@]让windows 2000/XP中的任意窗口透明起来 XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 2003-7-91425340.jpg" align=baseline border=0> 简介 已经有很多的文章展示了如何通过使用新的系统函数在Windows 2000或Windows XP中建立透明窗口的应用程序,本文在此基础上为您展现了一种可以让任意应用程序窗口透明起来的方法,哪怕您根本没有那个应用程序的源程序。 使用本文介绍的“WinTrans”程序,您只需把程序
文件遍历排序函数 (转)
文件遍历排序函数 (转)[@more@] <% function bianli(path) 'initiate path = server.mappath(path) set fso=server.Createobject("scripting.filesystemobject") set objFolder=fso.GetFolder(path) set objfiles = objfolder.files '把文件名及文件路经存入theFiles数组 int slot = 0 Dim theFiles() redim theFiles(50) for each objFile in objFiles filename = objFile.name filePath = split(objFile.path,"docs") thepath1 =
用vbs控制iis创建虚拟目录 (转)
用vbs控制iis创建虚拟目录 (转)[@more@] 参照了.NETpubAdminScriptsadsutil.vbs写的创建虚拟目录的脚本: '////////////////////////// begin ////////////////////////////////////////// On Error Resume NextstrVirtualDirectoryName = InputBox("请输入虚拟目录名")If strVirtualDirectoryName = "" Then msgbox("输入错误,程序结束!") WScript.QuitEnd IfstrVirtualDirectoryPath=InputBox("请输入网站文件所在的目录名(例如:e:web)")If strVirtualDirectoryPath = "" Then msgbox("输入错误
Win32学习笔记 第六章 程序6-3 Typer 说明 (转)
Win32学习笔记 第六章 程序6-3 Typer 说明 (转)[@more@]『win32学习笔记』 作者: 姜学哲(Mailto.NETsail0@163.net">netsail0@163.net) 教材: windows程序设计(第五版)北京大学出版社 [美]Charles Petzold 著 北京博彦科技发展有限公司 译 ¥:160 环境: Windows2000 Pro + Visual C++ 6.0 图们江计算机程序编制小组 版权所有,转载请说明出处--------------------------------------------------------------------【第六章 程序6-5 Typer】 看这本书越到后来越难。才第六章就这样了。书里面对
Java 2 图形设计卷II——第2章 applet和应用程序 (转)
Java 2 图形设计卷II——第2章 applet和应用程序 (转)[@more@] 学习笔记之Java 2 图形设计卷II——第2章 applet和应用程序1.APPLET:运行在支持Java的web浏览器内的JAVA小程序。 浏览器将对Web页进行初始化和启动applet程序;当我们不需要显示该Web页时, 浏览器将启动相应的方法终止applet程序的运行。1.1由下面四个方法来控制APPLET的运行:(1)init() 打开带有applet的文档时,调用init()方法初始化applet(2)start() 打开带有applet的文档时,在init()方法之后调用start()方法,启动applet(3)stop() &nbs
Attribute在.net编程中的应用(一) (转)
Attribute在.net编程中的应用(一) (转)[@more@]Attribute在.NET编程中的应用(一)Attribute的基本概念 经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行。实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握Attribute,以及它的使用方法,特地收集了几个Attribute使用的例子,提供给大家参考。 在具体的演示之前,我想先大致介绍一下Attribute。我们知道在类的成员中有property成员,二者在中文中都做属性解释,那么它们到底是不是同一个东西呢?从代码上看,明显不同,首先就是它
通过代码改变客户端所显示的语言类型 (转)
通过代码改变客户端所显示的语言类型 (转)[@more@] 使用这断代码自动查明客户端浏览器的语言类型,重新定向语言类型 <script> file://Enter ISO 639-2 letter Language codes to detect (see: http://www.w3.org/WAI/ER/IG/ert/iso639.htm):var langcodes=new Array("en", "fr", "es", "ja", "zh", "default") file://Enter corresponding redirect URLs (last one is for default URL):var langredirects=new Array("index.htm", "french.htm", "spanish.htm", "japan.htm", "chinese.htm", "index.htm") var languagein
CVS在MAC OSX中的安装和使用 (转)
CVS在MAC OSX中的安装和使用 (转)[@more@]一、编译和安装CVS 在MAC OSX中,如果安装了MAC OSX Developer Tools的话,CVS已经缺省的安装了。 如果想使用最新的CVS的话,我们可以通过http://www.cvshome.org/下载到最新 版本的CVS源代码。假设CVS源码包为cvs.tar.gz,我们可以使用下面的命令进行 编译和安装。 tar zxvf cvs.tar.gz cd cvs ./configure --without-gssapi make sudo make install 二、配置CVS服务器 首先创建一个CVS仓库,在console窗口中间如入下
vc入门宝典(十) (转)
vc入门宝典(十) (转)[@more@]消息 .NET/develop/author/netauthor/he_zhidan/">何志丹 PreTranslateMessage函数顾名思义,就是在消息被翻译之前,做的一些事.我们可以屏蔽一个键或一个命令.下面是一些常用消息的相关信息.这些信息放pMsg中.WM_KEYDOWN nVirtKey = (int) wParam; /*虚键值,和ascll码有许多相同的地方 */ lKeyData = lParam; /*和硬件有关 */ WM_CHAR chCharCode = (TCHAR) wParam; lKeyData = lParam; WM_COMMAND wNotifyCode = HIword(wParam); wID = LOWORD(wParam); h
“瑜珈山夜话” ----内存分配(一) (转)
“瑜珈山夜话” ----内存分配(一) (转)[@more@] 摘要:内存管理向来是C/C++程序设计的一块雷区,大家都不怎么愿意去碰她,但是有时不得不碰它。虽然利用C++中的smart pointer已经可以完全避免使用指针,但是对于对于指针的进一步了解,有助于我们编写出更有效率的代码,也有助于我们读懂以前编写的程序。 五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是