目前比较能用的一个函数了,来源记不清楚了好像是咏南的博客。 声明函数,再调用即可。 代码如下: function CnPYIndex(const CnString: string): string; { 返回中文的拼音首字母 } const ChinaCode: array[0..25, 0..1] of Integer = ((1601, 1636), (1637, 1832), (1833, 2077), (2078, 2273), (2274, 2301), (2302, 2432), (
分类: Delphi
[控件]Kbmmw升级4.93.10版本问题
最近从原先使用的4.90.4版本打算升级下。 可是在升级安装控件时报错,无法通过编译。 具体提示代码忘记了……,类似indy message之类的。 最终发现是原先配置里面的支持版本过低导致。 原先貌似只支持到INDY_10_6_0,但目前新ide是INDY_10_6_2, 后面加上完事,编译通过。 {$DEFINE KBMMW_USING_INDY_10} //{$DEFINE KBMMW_SUPPORT_INDY_10_2_3} //{$DEFINE KBMMW_
[代码]冒泡排序的过程
冒泡排序的算法。 procedure sort(var data:array of integer; n:integer); var i, j, temp:integer; begin for j:=n-1 downto 1 do for i:=0 to j-1 do begin //交换次序不对者 if data[i]>data[i+1] then begin temp:=data[i]; data[i]:=data[i+1]; data[i+1]:=temp; end; end; end;
[代码] 回车移动焦点
在当前焦点按下回车自动移动到下移控件。 procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = 13 then begin keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY,0); //按下 keybd_event(VK_TAB,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0); /
[代码]动态创建窗体
程序动态创建窗体,是优化程序一个很重要的细节。 procedure TForm1.N3Click(Sender: TObject); var Form2:TForm2; begin Form2:=TForm2.Create(nil); try Form2.ShowModal; finally form2.Free; end; end; procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin Acti
[代码]设置窗体位于最前
这个功能是利用了系统的API,让程序位于最前,在实际中还是有一定的作用的。 procedure TForm1.CheckBox1Click(Sender: TObject); begin if CheckBox1.Checked then SetWindowPos(Handle,HWND_TOPMOST,Left,Top,Width,Height,0)//设置窗体至上 else SetWindowPos(Handle,HWND_NOTOPMOST,Left,Top,Width,Height,0)
[代码]创建登录闪现窗体
显示登陆窗体前加载一个动态框,如正在载入资源之类的,内容自己定义吧。 Application.Initialize; Form2:=TForm2.Create(Application);{Create创建闪现窗口对象} Form2.Show; Form2.Update; Application.CreateForm(TForm1, Form1); Sleep(1000); Form2.Hide; Form2.Free;{Free从内存中释放对象} Application.Run;