0

把一个"结构体"当做属性后碰到的问题

当我把一个"结构体"在类中当做属性后, 在实用中可以直接读取结构体成员, 但不能直接写入...下面是由此引发的小练习:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System...

万一 发布于 2012-01-05 16:56 评论(1) 阅读(427)
0

覆盖、再覆盖

在实践中真的会发现更多问题.unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, ...

万一 发布于 2012-01-03 22:09 评论(2) 阅读(381)
0

以接口为主导的设计中, 我在使用的框架模式

在今后的 Delphi 中, 以接口、结构为主的设计应该会越来越多, 因为这样太方便了.System.RegularExpressions 就是以结构为主体设计的非常好的示范; 但更多东西使用接口会更合适.有见过他人早就使用接口写程序, 从手头的这个程序开始我才开始使用.现在基本总结出四种框架模式:...

万一 发布于 2012-01-03 18:01 评论(1) 阅读(513)
0

混合排序小练习

2011 年的最后一天了...混合排序 -> 搅乱、重新洗牌; 以 Integer 动态数组为例.//两个辅助函数 Swap、ToStr, 分别用于交换数组元素和呈现为字符串procedure Swap(var Arr: TArray<Integer>; a,b: Cardinal...

万一 发布于 2011-12-31 13:30 评论(1) 阅读(359)
0

使用 idHTTP 获取 UTF-8 编码的中文网页 - 回复同学 "Delphi学习者" 的问题

uses IdHTTP;const Url = 'http://del.cnblogs.com';procedure TForm1.Button1Click(Sender: TObject);var stream: TStringStream; idHttpObj: TIdHTTP;...

万一 发布于 2011-12-30 20:54 评论(4) 阅读(391)
1

使用泛型, 写一个为任意类型的动态数组添加元素的方法

一、使用泛型类:unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Fo...

万一 发布于 2011-12-24 11:57 评论(17) 阅读(571)
0

Delphi 中的自动释放策略

一、指定 Owner 后, 随 Owner 连带释放://uses Vcl.StdCtrls, Vcl.ExtCtrls;var panel: TPanel;procedure TForm1.Button1Click(Sender: TObject);begin panel := TPanel.Cr...

万一 发布于 2011-12-21 15:42 评论(6) 阅读(632)
0

如何使用 SendMessage 选择 ListBox、ComboBox 中的项 - 回复 "倪慧刚" 的问题

const i = 1;//初始测试数据procedure TForm1.FormCreate(Sender: TObject);begin ListBox1.Items.CommaText := 'aaa,bbb,ccc'; ComboBox1.Items.CommaText :=...

万一 发布于 2011-12-01 15:25 评论(2) 阅读(933)
1

在 Delphi 中使用微软全文翻译的小例子

刚刚从博客园看到有朋友用 C# 做了这么个东西, 我用 Delphi 尝试了一下.需要先去申请一个 AppID: http://www.bing.com/toolbox/bingdeveloper/使用帮助在: http://msdn.microsoft.com/en-us/library/dd57...

万一 发布于 2011-11-14 17:59 评论(14) 阅读(1286)
0

FireMonkey 绘图(1)

FMX 的 Canvas 在不同的系统上会分别使用:WinVista、Win7: D2D (FMX.Canvas.D2D.pas)WinXP: GDI+ (FMX.Canvas.GDIP.pas)Mac 系列: Core Graphics (FMX.Canvas.Mac.pas)和 HTML5 中的...

万一 发布于 2011-11-14 10:44 评论(4) 阅读(1567)
2

博客四周年

或许就在四年前的这个时候, 我正在申请入住博客园.现在看来, 当时作对了两件事情: 1、语言(Delphi)的选择; 2、博客(博客园)的选择.1、关于语言的选择:其实早在 Win95、Win98 时就开始使用电脑了, 因兴趣和工作的需要接触了一些软件, 使用最多也最熟练的软件当属 Sibelius...

万一 发布于 2011-11-11 15:45 评论(32) 阅读(1303)
0

获取程序自身大小的函数

function GetExeSize: Int64;var SearchRec: TSearchRec;begin Result := -1; if FindFirst(Application.ExeName, faAnyFile, SearchRec) = 0 then Result := Se...

万一 发布于 2011-11-10 14:44 评论(10) 阅读(1000)
1

看看 Delphi XE2 为 VCL 提供的 14 种样式

其实只提供了 13 个 vsf 样式文件, 还有默认的 Windows 样式, 共 14 种.在空白窗体上添加 ListBox1 等控件, 测试代码:uses IOUtils, Vcl.Styles, vcl.Themes;procedure TForm1.FormCreate(Sender: TO...

万一 发布于 2011-11-09 19:59 评论(20) 阅读(2194)
0

终于, Delphi XE2 携带 GDI+ 库了

使用了较早的 http://www.progdigy.comuses Winapi.GDIPAPI, Winapi.GDIPOBJ{, Winapi.GDIPUTIL};procedure TForm1.FormPaint(Sender: TObject);var graphics: TGPGrap...

万一 发布于 2011-11-08 22:14 评论(7) 阅读(2038)
0

捕捉 midi 输入消息的基本程序

uses MMSystem;var hMidiIn: Integer;procedure midiCallBack(hdrvr: HDRVR; uMsg: UINT; dwUser: DWORD; dw1, dw2: DWORD) stdcall;begin case uMsg of MIM_OPE...

万一 发布于 2011-10-31 16:40 评论(0) 阅读(751)
1

关于禁止程序重复启动的另一种需要与实现

手头的程序需要禁止重复启动, 但需要保留新的、关闭旧的.我想还是从主窗口的类名下手吧; 写了一个函数, 在 OnCreate 中调用即可:{ 函数 }procedure CloseSameClassNameWindow(ACurrentWindow: HWND; const AClassName: ...

万一 发布于 2011-10-12 00:31 评论(6) 阅读(1240)
0

Delphi XE2 新增 System.Zip 单元, 可用一句话压缩整个文件夹了

单元内主要就是 TZipFile 类, 最方便使用的是它的类方法:TZipFile.ExtractZipFile() //解压 Zip 文件到指定文件夹TZipFile.IsValid() //判断指定文件是否是有效的 Zip 文件TZipFile.ZipDirectoryContents() //...

万一 发布于 2011-10-09 23:12 评论(4) 阅读(1905)
0

Delphi XE2 之 FireMonkey 入门(45) - 结题与问题

很喜欢 FMX 的一些新控件, 如: TExpander、TArcDial、TComboTrackBar、TPathLabel 等等, 没时间继续学习了.对 FMX 的整体感觉: 还不成熟, 但肯定有前景; 它的构架师有远见、了不起, 很难估计他开启的是多大一扇门!本将继续学习:1、TCanvas、...

万一 发布于 2011-10-09 22:53 评论(1) 阅读(1576)
0

Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

TScrollBox -> TCustomTreeView -> TTreeView 子项类型是 TTreeViewItem.测试, 先在窗体上放一个 TTreeView, 并需要它的 OnChange 事件:unit Unit1;interfaceuses System.SysUtil...

万一 发布于 2011-10-09 14:19 评论(0) 阅读(1084)
0

Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid

TStringGrid、TGrid 都是从 TCustomGrid 继承; 区别有:1、它们的列对象分别是: TStringColumn、TColumn;2、TStringGrid 比 TGrid 多出了 Cells[] 属性.因为 TGrid 没有 Cells[] 属性, 暂时不方便使用; 我尝试...

万一 发布于 2011-10-09 11:46 评论(5) 阅读(1172)
×