目前比较能用的一个函数了,来源记不清楚了好像是咏南的博客。 声明函数,再调用即可。 代码如下: 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
[代码]冒泡排序的过程
冒泡排序的算法。 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;
[代码]密码最多输入三次出错退出
这个是登录窗口的一个验证机制,写法很多种,这是其中一种。 procedure TFrmOrderBy.BtnOrderClick(Sender: TObject); begin if Length(EdtPassWord.Text) = 0 then Exit; with AQuery do begin Close; SQL.Clear; SQL.Add('select pwdcompare(:Pass,loginpassword) from login where loginname