<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>风之谷</title><link>http://borland.mblogger.cn/hottey/</link><description>点亮心灵，基础补习中...</description><dc:language>zh-CHS</dc:language><generator>RSS Generated by MBlogger Blogs</generator><item><dc:creator>阿風</dc:creator><title>抵制日货大游行---广州站</title><link>http://borland.mblogger.cn/hottey/posts/18348.aspx</link><pubDate>Sun, 10 Apr 2005 22:41:00 GMT</pubDate><guid>http://borland.mblogger.cn/hottey/posts/18348.aspx</guid><wfw:comment>http://borland.mblogger.cn/hottey/comments/18348.aspx</wfw:comment><comments>http://borland.mblogger.cn/hottey/posts/18348.aspx#feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://borland.mblogger.cn/hottey/comments/commentRss/18348.aspx</wfw:commentRss><trackback:ping>http://borland.mblogger.cn/hottey/trackback.aspx?ID=18348</trackback:ping><description>今天广州发起了一次大规模的抵制日货，抗议日本加入常任理事国的大游行，从花园酒店至太平洋电脑城路段有10多万人参加了此次游行，规模壮大。
留上一笔～</description></item><item><dc:creator>阿風</dc:creator><title>今天就要去广州了，希望能找到一份好工作</title><link>http://borland.mblogger.cn/hottey/posts/13900.aspx</link><pubDate>Wed, 05 Jan 2005 14:11:00 GMT</pubDate><guid>http://borland.mblogger.cn/hottey/posts/13900.aspx</guid><wfw:comment>http://borland.mblogger.cn/hottey/comments/13900.aspx</wfw:comment><comments>http://borland.mblogger.cn/hottey/posts/13900.aspx#feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://borland.mblogger.cn/hottey/comments/commentRss/13900.aspx</wfw:commentRss><trackback:ping>http://borland.mblogger.cn/hottey/trackback.aspx?ID=13900</trackback:ping><description>最近真的很忙，HOHO．也好久没有来这里了．这周南下广州真的希望自己能有所收获．祝福一下自己了：）</description></item><item><dc:creator>阿風</dc:creator><title>THotKey控件的使用－全局热键</title><link>http://borland.mblogger.cn/hottey/posts/11587.aspx</link><pubDate>Thu, 18 Nov 2004 20:04:00 GMT</pubDate><guid>http://borland.mblogger.cn/hottey/posts/11587.aspx</guid><wfw:comment>http://borland.mblogger.cn/hottey/comments/11587.aspx</wfw:comment><comments>http://borland.mblogger.cn/hottey/posts/11587.aspx#feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://borland.mblogger.cn/hottey/comments/commentRss/11587.aspx</wfw:commentRss><trackback:ping>http://borland.mblogger.cn/hottey/trackback.aspx?ID=11587</trackback:ping><description>&lt;P&gt;全局热键：&lt;BR&gt;Id := GlobalAddAtom('MyHotKey') - $C000;&lt;BR&gt;注：Id的合法取之范围是0x0000到0xBFFF之间， GlobalAddAtom函数得到的值在0xC000到&lt;/P&gt;
&lt;P&gt;0xFFFF之间，所以减掉0xC000来满足调用要求。&lt;/P&gt;
&lt;P&gt;原理：&lt;BR&gt;　　一旦热键设置成功，在程序应用过程中如果有相应的键被按下，Windows系统都会给你&lt;/P&gt;
&lt;P&gt;的应用程序发送一个消息WM_HOTKEY，不管你的应用程序是否为当前活动的。其中WM_HOTKEY&lt;/P&gt;
&lt;P&gt;消息的格式为：&amp;nbsp; &lt;BR&gt;idHotKey = (int) wParam; // 该参数在设置系统级的热键有用,一般不予使用&lt;BR&gt;fuModifiers = (UINT) LOWORD(lParam); //热键的辅助按键&lt;BR&gt;uVirtKey = (UINT) HIWORD(lParam); //热键的键值 &lt;/P&gt;
&lt;P&gt;与THotKey控件的结合使用：&lt;/P&gt;
&lt;P&gt;type&lt;BR&gt;&amp;nbsp; TForm1 = class(TForm)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HotKey1: THotKey;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Button1: TButton;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; procedure Button1Click(Sender: TObject);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; procedure FormDestroy(Sender: TObject);&lt;BR&gt;&amp;nbsp; private&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { Private declarations }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; procedure WMHotKey(var Msg:TMessage);message WM_HOTKEY;&lt;BR&gt;&amp;nbsp; public&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { Public declarations }&lt;BR&gt;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;var&lt;BR&gt;&amp;nbsp; Form1: TForm1;&lt;/P&gt;
&lt;P&gt;implementation&lt;/P&gt;
&lt;P&gt;{$R *.dfm}&lt;/P&gt;
&lt;P&gt;var&lt;BR&gt;&amp;nbsp; Key, Shift: Word;&lt;BR&gt;&amp;nbsp; Id: Integer;&lt;/P&gt;
&lt;P&gt;procedure ShortCutToKey(ShortCut: TShortCut; var Key: Word; var Shift: TShiftState);&lt;BR&gt;begin&lt;BR&gt;&amp;nbsp; Key := ShortCut and not (scShift + scCtrl + scAlt);&lt;BR&gt;&amp;nbsp; Shift := [];&lt;BR&gt;&amp;nbsp; if ShortCut and scShift &amp;lt;&amp;gt; 0 then Include(Shift, ssShift);&lt;BR&gt;&amp;nbsp; if ShortCut and scCtrl &amp;lt;&amp;gt; 0 then Include(Shift, ssCtrl);&lt;BR&gt;&amp;nbsp; if ShortCut and scAlt &amp;lt;&amp;gt; 0 then Include(Shift, ssAlt);&lt;BR&gt;end;&lt;/P&gt;
&lt;P&gt;function ShiftStateToWord(TShift: TShiftState): Word;&lt;BR&gt;begin&lt;BR&gt;&amp;nbsp; Result := 0;&lt;BR&gt;&amp;nbsp; if ssShift in TShift then Result := MOD_SHIFT;&lt;BR&gt;&amp;nbsp; if ssCtrl in TShift then Result := Result or MOD_CONTROL;&lt;BR&gt;&amp;nbsp; if ssAlt in TShift then Result:= Result or MOD_ALT;&lt;BR&gt;end;&lt;/P&gt;
&lt;P&gt;procedure TForm1.Button1Click(Sender: TObject);&lt;BR&gt;var&lt;BR&gt;&amp;nbsp; T: TShiftState;&lt;BR&gt;begin&lt;BR&gt;&amp;nbsp; Id := GlobalAddAtom('MyHotKey') - $C000;&lt;BR&gt;&amp;nbsp; ShortCutToKey(HotKey1.HotKey, Key, T);&lt;BR&gt;&amp;nbsp; Shift := ShiftStateToWord(T);&lt;BR&gt;&amp;nbsp; RegisterHotKey(Handle, Id, Shift, Key);&lt;BR&gt;end;&lt;/P&gt;
&lt;P&gt;procedure TForm1.WMHotKey(var Msg: TMessage);&lt;BR&gt;begin&lt;BR&gt;&amp;nbsp; if (Msg.LparamLo = Shift) AND (Msg.LParamHi = Key) then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ShowMessage('This is HotKey');&lt;BR&gt;end;&lt;/P&gt;
&lt;P&gt;procedure TForm1.FormDestroy(Sender: TObject);&lt;BR&gt;begin&lt;BR&gt;&amp;nbsp; UnRegisterHotKey(Handle, Id);&lt;BR&gt;&amp;nbsp; GlobalDeleteAtom(Id);&lt;BR&gt;end;&lt;/P&gt;
&lt;P&gt;end.&lt;/P&gt;
&lt;P&gt;感觉THotKey控件还是很好用的嘛．&lt;/P&gt;</description></item><item><dc:creator>阿風</dc:creator><title>SMTP协议</title><link>http://borland.mblogger.cn/hottey/posts/11581.aspx</link><pubDate>Thu, 18 Nov 2004 16:06:00 GMT</pubDate><guid>http://borland.mblogger.cn/hottey/posts/11581.aspx</guid><wfw:comment>http://borland.mblogger.cn/hottey/comments/11581.aspx</wfw:comment><comments>http://borland.mblogger.cn/hottey/posts/11581.aspx#feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://borland.mblogger.cn/hottey/comments/commentRss/11581.aspx</wfw:commentRss><trackback:ping>http://borland.mblogger.cn/hottey/trackback.aspx?ID=11581</trackback:ping><description>&lt;P&gt;SMTP协议的命令和应答 &lt;BR&gt;&amp;nbsp;&lt;BR&gt;2004-8-2 20:08:50&amp;nbsp;&amp;nbsp; 来源：中国协议分析网&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;　　从前面的通讯模型可以看出SMTP协议在发送SMTP和接收SMTP之间的会话是靠发送SMTP的 SMTP命令和接收SMTP反馈的应答来完成的。在通讯链路建立后，发送SMTP发送MAIL命令指令邮件发送者，若接收SMTP此时可以接收邮件则作出OK的应答，然后发送SMTP继续发出RCPT命令以确认邮件是否收到，如果接收到就作出OK的应答，否则就发出拒绝接收应答，但这并不会对整个邮件操作造成影响。双方如此反复多次，直至邮件处理完毕。SMTP协议共包含10个SMTP命令，列表如下：&lt;/P&gt;
&lt;P&gt;SMTP命令 命令说明 &lt;BR&gt;HELLO ＜domain＞ ＜CRLF＞ 识别发送方到接收SMTP的一个HELLO命令 &lt;BR&gt;MAIL FROM:＜reverse-path＞＜CRLF＞&amp;nbsp; ＜reverse-path＞为发送者地址。此命令告诉接收方一个新邮件发送的开始，并对所有的状态和缓冲区进行初始化。此命令开始一个邮件传输处理，最终完成将邮件数据传送到一个或多个邮箱中。 &lt;BR&gt;RCPT TO:＜forward-path＞＜CRLF＞&amp;nbsp; ＜forward-path＞标识各个邮件接收者的地址 &lt;BR&gt;DATA ＜CRLF＞&amp;nbsp; &lt;BR&gt;接收SMTP将把其后的行为看作邮件数据去处理，以＜CRLF＞.＜CRLF＞标识数据的结尾。 &lt;BR&gt;REST ＜CRLF＞ 退出/复位当前的邮件传输 &lt;BR&gt;NOOP ＜CRLF＞ 要求接收SMTP仅做OK应答。（用于测试） &lt;BR&gt;QUIT ＜CRLF＞ 要求接收SMTP返回一个OK应答并关闭传输。 &lt;BR&gt;VRFY ＜string＞ ＜CRLF＞&amp;nbsp; 验证指定的邮箱是否存在，由于安全因素，服务器多禁止此命令。 &lt;BR&gt;EXPN ＜string＞ ＜CRLF＞&amp;nbsp; 验证给定的邮箱列表是否存在，扩充邮箱列表，也常禁止使用。 &lt;BR&gt;HELP ＜CRLF＞ 查询服务器支持什么命令 &lt;/P&gt;
&lt;P&gt;注：＜CRLF＞为回车、换行，ASCII码分别为13、10（十进制）。&lt;/P&gt;
&lt;P&gt;　　SMTP协议的每一个命令都会返回一个应答码，应答码的每一个数字都是有特定含义的，如第一位数字为2时表示命令成功；为5表失败；3表没有完成。一些较复杂的邮件程序利用该特点，首先检查应答码的首数字，并根据其值来决定下一步的动作。下面将SMTP的应答码列表如下：&lt;/P&gt;
&lt;P&gt;应答码 说明 &lt;BR&gt;501&amp;nbsp; 参数格式错误 &lt;BR&gt;502&amp;nbsp; 命令不可实现 &lt;BR&gt;503&amp;nbsp; 错误的命令序列 &lt;BR&gt;504&amp;nbsp; 命令参数不可实现 &lt;BR&gt;211&amp;nbsp; 系统状态或系统帮助响应 &lt;BR&gt;214&amp;nbsp; 帮助信息 &lt;BR&gt;220&amp;nbsp; ＜domain＞服务就绪 &lt;BR&gt;221&amp;nbsp; ＜domain＞服务关闭 &lt;BR&gt;421&amp;nbsp; ＜domain＞服务未就绪，关闭传输信道 &lt;BR&gt;250 要求的邮件操作完成 &lt;BR&gt;251&amp;nbsp; 用户非本地，将转发向＜forward-path＞ &lt;BR&gt;450&amp;nbsp; 要求的邮件操作未完成，邮箱不可用 &lt;BR&gt;550&amp;nbsp; 要求的邮件操作未完成，邮箱不可用 &lt;BR&gt;451&amp;nbsp; 放弃要求的操作；处理过程中出错 &lt;BR&gt;551&amp;nbsp; 用户非本地，请尝试＜forward-path＞&amp;nbsp; &lt;BR&gt;452&amp;nbsp; 系统存储不足，要求的操作未执行 &lt;BR&gt;552&amp;nbsp; 过量的存储分配，要求的操作未执行 &lt;BR&gt;553&amp;nbsp; 邮箱名不可用，要求的操作未执行 &lt;BR&gt;354&amp;nbsp; 开始邮件输入，以"."结束 &lt;BR&gt;554&amp;nbsp; 操作失败 &lt;/P&gt;
&lt;P&gt;哈哈，今天根据上面的协议偶也用WinSock单元封装了一个邮件发送类，还算可以吧．不过偶在命令行下发邮件时，老是出现验证不通过现象．不知道什么原因了，用户名和密码都经过base64编码了，输入到命令行时真累啊！&lt;/P&gt;</description></item><item><dc:creator>阿風</dc:creator><title>中国国家男子足球队耻辱日</title><link>http://borland.mblogger.cn/hottey/posts/11494.aspx</link><pubDate>Wed, 17 Nov 2004 23:18:00 GMT</pubDate><guid>http://borland.mblogger.cn/hottey/posts/11494.aspx</guid><wfw:comment>http://borland.mblogger.cn/hottey/comments/11494.aspx</wfw:comment><comments>http://borland.mblogger.cn/hottey/posts/11494.aspx#feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://borland.mblogger.cn/hottey/comments/commentRss/11494.aspx</wfw:commentRss><trackback:ping>http://borland.mblogger.cn/hottey/trackback.aspx?ID=11494</trackback:ping><description>&lt;P&gt;中国队对中国香港队7：0&lt;/P&gt;
&lt;P&gt;科威特对马来西亚　6：1&lt;/P&gt;
&lt;P&gt;不知道是对方太无耻还是中国队不够无耻！～&lt;/P&gt;</description></item><item><dc:creator>阿風</dc:creator><title>喝酒</title><link>http://borland.mblogger.cn/hottey/posts/10899.aspx</link><pubDate>Sun, 07 Nov 2004 17:24:00 GMT</pubDate><guid>http://borland.mblogger.cn/hottey/posts/10899.aspx</guid><wfw:comment>http://borland.mblogger.cn/hottey/comments/10899.aspx</wfw:comment><comments>http://borland.mblogger.cn/hottey/posts/10899.aspx#feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://borland.mblogger.cn/hottey/comments/commentRss/10899.aspx</wfw:commentRss><trackback:ping>http://borland.mblogger.cn/hottey/trackback.aspx?ID=10899</trackback:ping><description>今天晚上又当了一回老板，哈哈！别误会，是为了补过自己11.5号的生日。大学四年中的最后一个生日，希望能迎来一种新的生活！</description></item><item><dc:creator>阿風</dc:creator><title>软考终于结束</title><link>http://borland.mblogger.cn/hottey/posts/10875.aspx</link><pubDate>Sat, 06 Nov 2004 21:21:00 GMT</pubDate><guid>http://borland.mblogger.cn/hottey/posts/10875.aspx</guid><wfw:comment>http://borland.mblogger.cn/hottey/comments/10875.aspx</wfw:comment><comments>http://borland.mblogger.cn/hottey/posts/10875.aspx#feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://borland.mblogger.cn/hottey/comments/commentRss/10875.aspx</wfw:commentRss><trackback:ping>http://borland.mblogger.cn/hottey/trackback.aspx?ID=10875</trackback:ping><description>软件设计师考试&lt;br&gt;
上午9：00～11：30&lt;br&gt;
下午2：00～04：30&lt;br&gt;
说真的，觉得这种考试没多大意思。无非就是照着以前的题目去背，然后加上新的大纲。无趣！不过也就是因为它，突然强烈的发现自己原来不再适合去考试了。&lt;br&gt;
PS：今天去见了FS那家伙，终于拿到了Windows 核心编程。哈哈！其实FS长的还是蛮可爱的^_^</description></item><item><dc:creator>阿風</dc:creator><title>对象实例在内存中的头4个字节</title><link>http://borland.mblogger.cn/hottey/posts/10594.aspx</link><pubDate>Tue, 02 Nov 2004 16:51:00 GMT</pubDate><guid>http://borland.mblogger.cn/hottey/posts/10594.aspx</guid><wfw:comment>http://borland.mblogger.cn/hottey/comments/10594.aspx</wfw:comment><comments>http://borland.mblogger.cn/hottey/posts/10594.aspx#feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://borland.mblogger.cn/hottey/comments/commentRss/10594.aspx</wfw:commentRss><trackback:ping>http://borland.mblogger.cn/hottey/trackback.aspx?ID=10594</trackback:ping><description>&lt;P&gt;看了一下午的《Delphi对象模型》有一个问题：&lt;/P&gt;
&lt;P&gt;A := TA.Create;在内存中创建的对象的头4个字节到底指向哪？&lt;BR&gt;在《参透Delphi》一书中说是指向：VMT。&lt;BR&gt;在《Delphi对象模型》中说：&lt;BR&gt;在Delphi中，类表现为内存中一张只读的表，表中存放着指向该类的虚方法的指针以及其他许多信息。&lt;BR&gt;创建的对象的头4个字节存放的是一个类引用(Class reference)就是指向该表的一个指针，而该表的头4个字节又是一个指向VMT的指针。&lt;/P&gt;
&lt;P&gt;我觉得应该是指向ＶＭＴ的，做过测试也表明了：）&lt;/P&gt;</description></item><item><dc:creator>阿風</dc:creator><title>Interaction between your console applications and your forms</title><link>http://borland.mblogger.cn/hottey/posts/10496.aspx</link><pubDate>Sun, 31 Oct 2004 21:09:00 GMT</pubDate><guid>http://borland.mblogger.cn/hottey/posts/10496.aspx</guid><wfw:comment>http://borland.mblogger.cn/hottey/comments/10496.aspx</wfw:comment><comments>http://borland.mblogger.cn/hottey/posts/10496.aspx#feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://borland.mblogger.cn/hottey/comments/commentRss/10496.aspx</wfw:commentRss><trackback:ping>http://borland.mblogger.cn/hottey/trackback.aspx?ID=10496</trackback:ping><description>&lt;P&gt;{Dialog 单元}&lt;/P&gt;
&lt;P&gt;unit Unit1;&lt;/P&gt;
&lt;P&gt;interface&lt;/P&gt;
&lt;P&gt;uses&lt;BR&gt;&amp;nbsp; Forms, Classes, Controls, StdCtrls;&lt;/P&gt;
&lt;P&gt;type&lt;BR&gt;&amp;nbsp; TForm1 = class(TForm)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RadioButton1: TRadioButton;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RadioButton2: TRadioButton;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RadioButton3: TRadioButton;&lt;BR&gt;&amp;nbsp; private&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { Private declarations }&lt;BR&gt;&amp;nbsp; public&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { Public declarations }&lt;BR&gt;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;var&lt;BR&gt;&amp;nbsp; Form1: TForm1;&lt;/P&gt;
&lt;P&gt;implementation&lt;/P&gt;
&lt;P&gt;{$R *.dfm}&lt;/P&gt;
&lt;P&gt;end.&lt;/P&gt;
&lt;P&gt;{Console Application}&lt;/P&gt;
&lt;P&gt;program Test;&lt;/P&gt;
&lt;P&gt;{$APPTYPE CONSOLE}&lt;BR&gt;uses&lt;BR&gt;&amp;nbsp; Windows,&lt;BR&gt;&amp;nbsp; Messages,&lt;BR&gt;&amp;nbsp; Forms,&lt;BR&gt;&amp;nbsp; Unit1 in 'Unit1.pas' {Form1};&lt;/P&gt;
&lt;P&gt;var&lt;BR&gt;&amp;nbsp;&amp;nbsp; hInput&amp;nbsp; : THandle; &lt;BR&gt;&amp;nbsp;&amp;nbsp; inRec&amp;nbsp;&amp;nbsp; : TInputRecord;&lt;BR&gt;&amp;nbsp;&amp;nbsp; dwCount : DWORD;&lt;/P&gt;
&lt;P&gt;begin&lt;BR&gt;&amp;nbsp;&amp;nbsp; {Create a Form in the usual way. The Forms unit ensures that&lt;BR&gt;&amp;nbsp;&amp;nbsp; the Application object is around to "own" the form.}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Write('Creating the first Dialog Box...');&lt;BR&gt;&amp;nbsp;&amp;nbsp; Form1 := TForm1.Create(Application);&lt;BR&gt;&amp;nbsp;&amp;nbsp; Form1.Show;&lt;BR&gt;&amp;nbsp;&amp;nbsp; Writeln('done.');&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Writeln('Press 1, 2 or 3 to change the dialog box. Press Ctrl+ C to exit'); &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; {Handle the Console input till the user cancels}&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; hInput := GetStdHandle(STD_INPUT_HANDLE); &lt;BR&gt;&amp;nbsp;&amp;nbsp; {GetStdHandle - Returns handle for Standard input/output device} &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp; while True do begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {Avoid blocking on user input, so the forms have a chance &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to operate as normal. If we had a message queue present, this &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; would be a normal message dispatch loop.}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.ProcessMessages;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if WaitForSingleObject(hInput,0) = WAIT_OBJECT_0 then begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ReadConsoleInput(hInput, inRec, 1, dwCount); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (inRec.EventType = KEY_EVENT) and inRec.Event.KeyEvent.bKeyDown then begin &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case inRec.Event.KeyEvent.AsciiChar of &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '1' : begin &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Writeln('-&amp;gt;1');&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Form1.RadioButton1.Checked := True;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '2' : begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Writeln('-&amp;gt;2');&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Form1.RadioButton2.Checked := True;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '3' : begin&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Writeln('-&amp;gt;3');&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Form1.RadioButton3.Checked := True;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;BR&gt;&amp;nbsp;&amp;nbsp; end;&lt;BR&gt;end.&lt;/P&gt;
&lt;P&gt;From &lt;A href="http://www.delphi3000.com"&gt;www.delphi3000.com&lt;/A&gt;&lt;/P&gt;</description></item></channel></rss>
