上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 215 下一页
摘要: 需要个类似资源管理器的东西, 首先试了下 TDriveComboBox、TDirectoryListBox、TFileListBox, 嘿! Win31 时代的东西, 不是一般地丑.试了下 Vcl.Shell.ShellCtrls 下的 TShellComboBox、TShellTreeView、TShellListView, 非常满意! 并且 TShellComboBox 也可以免掉了.unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Clas. 阅读全文
posted @ 2013-07-08 00:11 万一 阅读(4830) 评论(2) 推荐(0) 编辑
摘要: 62 进制需要的字符及次序: 0..9 a..z A..Z; 只实现了 62 进制字符串与正整数的互换.unit H62;interfaceuses SysUtils;function IntToH62(N: UInt64): string; //整数转到 62 进制字符串function H62ToInt(S: string): UInt64; //62 进制字符串转到整数implementationfunction _C2B(C: Char): Byte; inline;begin Result := 0; if CharInSet(C, ['0'..'9' 阅读全文
posted @ 2013-07-04 18:33 万一 阅读(3932) 评论(3) 推荐(0) 编辑
摘要: 表达式中的括号将严重影响分割结果.uses RegularExpressions;const FSourceText = '1: AAA 2: BBB 3: CCC'; // 分隔符将有三部分构成: 一个数字, 一个冒号, 一个空格var Arr: TArray; str: string;procedure TForm1.Button1Click(Sender: TObject);begin Arr := TRegEx.Split(FSourceText, '\d: '); Memo1.Clear; for str in Arr do Memo1.Lines.A 阅读全文
posted @ 2013-06-21 11:30 万一 阅读(5345) 评论(2) 推荐(0) 编辑
摘要: 有了一系列的 Helper, Delphi 也可以使用链式代码了.//譬如要把 3.1415926 中的 141 提取为一个整数:var num: Integer;begin num := Pi.ToString().Split(['.'])[1].Substring(0,3).ToInteger(); // 输入 . 后, 记得使用 Ctrl+Space 提示代码 ShowMessage(num.ToString()); // 141end;我是在写类似下面程序时开始使用的:{程序要求从下面的文本中提取 A: B: ... 后面的文本到指定的变量:A: qwertyuiopB 阅读全文
posted @ 2013-06-20 01:00 万一 阅读(3607) 评论(3) 推荐(0) 编辑
摘要: uses System.IOUtils;procedure TForm1.FormCreate(Sender: TObject);var S: string;begin { 三种方法结果一致: C:\Users\wy\AppData\Roaming } S := GetHomePath; // SysUtils, 能跨平台且简单, 在 Windows 下使用 SHGetFolderPath 完成 S := TPath.GetHomePath; // System.IOUtils S := GetEnviron... 阅读全文
posted @ 2013-06-16 23:12 万一 阅读(2824) 评论(8) 推荐(0) 编辑
摘要: TByteHelperTShortIntHelperTSmallIntHelperTWordHelperTCardinalHelperTIntegerHelperTInt64HelperTUInt64HelperTNativeIntHelperTNativeUIntHelper// 它们定义在 System.SysUtils, 功能基本一样, 常用的有:var I: Integer; S: string;begin I := I.MaxValue; // 2147483647 I := I.MinValue; // -2147483648 I := I.Size; ... 阅读全文
posted @ 2013-06-15 22:38 万一 阅读(4160) 评论(6) 推荐(0) 编辑
摘要: 大小写转换:function ToLower: string;function ToLower(LocaleID: TLocaleID): string;function ToLowerInvariant: string;function ToUpper: string;function ToUpper(LocaleID: TLocaleID): string;function ToUpperInvariant: string;class function LowerCase(const S: string): string;class function LowerCase(const S: 阅读全文
posted @ 2013-06-14 22:48 万一 阅读(7686) 评论(4) 推荐(2) 编辑
摘要: procedure TForm1.FormCreate(Sender: TObject);var str: string; n1, n2, n3: Integer;begin str := 'ABC'; n1 := Low(string); // 1 n2 := Low(str); // 1 n3 := High(str); // 3// ShowMessageFmt('%d, %d, %d', [n1, n2, n3]);end; 阅读全文
posted @ 2013-06-14 22:09 万一 阅读(2431) 评论(0) 推荐(0) 编辑
摘要: 曾经想过, Delphi 要能这样给数组赋值就好了: arr := [...];VarArrayOf 可不是新东西, 不过之前还没习惯用它.var bs: TBytes;// bs: TArray&ltByte>begin// SetLength(bs, 3); bs := VarArrayOf([11, 22, 33]); ShowMessage(IntToStr(bs[2])); //33end;var strArr: TArray&ltstring>begin// SetLength(strArr, 3); strArr := VarArrayOf([  阅读全文
posted @ 2013-06-13 22:22 万一 阅读(2755) 评论(0) 推荐(1) 编辑
摘要: 有一段多线程的程序需要完善, 捋了一遍 XE4 中关于多线程的源码, 发现有这三个类方法就足够我用了, 暂时结束学习.TThread.CreateAnonymousThread(); //普通TThread.Queue(); //队列TThread.Synchronize(); //VCL 同步 阅读全文
posted @ 2013-06-11 11:40 万一 阅读(16260) 评论(12) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 215 下一页