Delphi版本号检测判断
usesSystem.StrUtils, System.Typesfunction TFrmMain.CheckVersion(Ver1, Ver2: string): Boolean; //Ver1 网络版本, Ver2 本地版本var v1, v2: TStringDynArray;begin//版本判断 v1 := SplitString(Ver1, '.'); v2 := SplitString(Ver2, '.'); if (Length(v1) <
usesSystem.StrUtils, System.Typesfunction TFrmMain.CheckVersion(Ver1, Ver2: string): Boolean; //Ver1 网络版本, Ver2 本地版本var v1, v2: TStringDynArray;begin//版本判断 v1 := SplitString(Ver1, '.'); v2 := SplitString(Ver2, '.'); if (Length(v1) <
Delphi实现Dbgrid全选和反选、清除全选的功能,不管是在Delphi下,还是在WEB开发中,这种功能都是很实用的,是进行数据批量操作的基础。本模块就是实现了为Delphi的DBGrid数据列表增加全选内容、清除全选的功能,很实用了,代码内容如下://全选procedure TFrameCustSelector.ToolButton1Click(Sender: TObject);var OldCurrent: TBookmark;begin OldCurrent := DBGrid1.Data
function TForm1.DBGridToTxt(aDBGrid:TDBGrid;isTitle:boolean):boolean;var s:string; FileName:string; sTemp:TSTrings; i : integer; j : integer; SFD:TSaveDialog; RecNo:integer;begin SFD:=TSaveDialog.Create(nil); SFD.Filter:='文本文件|*.TXT'; SFD.Def
前几天做一个数据库的后台管理程序,碰到这个问题控件:uniDAC中的控件连接MySQL,当时电脑端一切正常,但是安卓手机端就乱码了。自己心理也清楚是字符集不对,特意对比了服务器是UTF8,本地设置成UTF8之后就乱码,默认的电脑端就OK,证明字符集没错,但是是自己疏忽了,尝试修改 connection的字符集,多次测试均不成,隔了好久才成了,方法入下:方法:把本地 connection 的设置成GBK编码。吐槽:坑爹的MySQL,自己的字符集不好好按照自己的来,别人是什么就给什么,没一点原则。
Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以 供大家查询之用:首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的,主要区别在于它是线程安全的,但并不多用,所以这里只对第一个介绍:function Format(const Format: string;
function ShiftStateToWord(Shift: TShiftState): Word; //热键组合键分解 private { Private declarations } var aatom: ATOM; Key, Shift: Word; public { Public declarations } procedure hotkey(var msg: TMessage); message WM_HOTKEY;//定义全
今天用实例解释一下SendMessage PostMessage 原理和区别:向按钮(Button)发送单击:SendMessage:SendMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0);SendMessage(Button1.Handle, WM_LBUTTONUP, 0, 0);PostMessage:PostMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0);PostMessage(Button1.Handle,
function GeneratePassword(PasswordLength: Integer):string;var SourceString: String; ExcludeString: String; RandomCharacter: String; RandomPassword: String; NumPassword: Integer;begin Randomize; SourceString := 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcde