- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 堆栈
<br />Heap:堆,Heap上分配的内存,系统不释放,哪怕程序退出,那一块内存还是在那里<br />Stack:栈或堆栈,Stack上分配的内存系统自动释放<br /><br />以下摘自 <<Essential Pascal>> <br /> <br /> Delphi 用堆的形式来给对象,字符串,动态数组,分配内存;那些有特殊用途的动态存储空间(用GetMem获取)也是用堆实现的。 <br /> <br /> Delphi 用
2011-01-26 12:23:00 333
原创 Windows纸牌链接库Cards.dll的用法
Cards.dll主要函数的用法:cdtInit proc lpdwCardWidth:DWORD,lpdwCardHeight:DWORDlpdwCardWidth 返回扑克的宽度lpdwCardHeight 返回扑克的高度cdtDraw proc hDC:DWORD,dwX:DWORD, dwY:DWORD,cd:DWORD, md:DWORD,rgbBkgnd:DWORDcdtDrawExt proc hDC:DWORD,dwX:DWORD, dwY:DWORD,dwd
2011-01-26 12:22:00 2458
原创 2011.1.17
1.Tlist的复制(将list中的内容复制给list2)?list3.Assign(List1,Operater,List2);将List1与list2经过Operater操作后赋给list3.Operater的主要参数有laCopy ,其他见帮助.2.将局部变量指针p赋给list1(即list1.add(p))后,free(p)会导致list1.items[i]的内容为零(即初始化).原因: free(p)不仅将p的内容释放,并且将p指向地址中的内容释放。改为FreeAndNil即可。
2011-01-18 12:18:00 372
原创 TStream 类
<br /><br />TStream 类<br />所谓"流", 就是一段数据或是一块内存;<br />在进行流操作时, 我们不必关心流中的数据到底是什么; 只需要知道流的大小和当前的指针位置. 所以流只有两个属性: <br />Size、Position.<br />对流的操作, 不过就是读取和写入. 所以流最主要的方法就是 Read 和 Write.<br />在很多控件的使用中, 读取主要用 LoadFromStream,LoadFromFile; 写入主要用 SaveToStream,SaveTo
2011-01-13 18:07:00 536
原创 1.如何检查本机中已安装字体 2.MessageDlg与Timer冲突 3.复制文件
1.MessageDlg和ShowMessage都默认为ShowModal形式,即阻塞式的,它们运行后停止后台的工作,直到它们完成(关闭).但它们运行后,Timer控件仍在工作,当Timer调用Form中控件时会报错.我的解决方法是重新声明的一个新的函数,在其中调用Message
2011-01-13 18:06:00 1693
原创 2011.1.12
<br />1.激活TListView的OnClick事件后,点击TListView控件空白处,会报错.如何处理?<br />加上条件语句 if ListView.Selected<>nil then(ListView.Selected为被点击项)
2011-01-12 15:25:00 370
原创 ListView控件相关
<br />ListView控件相关<br /> <br />1.如何按行选中?<br />rowselect 属性 T/F 很多类似控件都有此属性.<br /> <br />2.添加列,行,子项<br />var Column: TListColumn;<br />Item:
2011-01-11 18:24:00 1110
原创 delphi自带Tmediaplayer控件循环播放
<br /><br />媒体控制方法(如Back、Close、Eject、Next、Open、Pause、PauseOnly、Play、Previous、Resume、StartRecording、Step或Stop等)执行结束时触发事件OnNotify.<br /> <br />通过OnNotify实现循环播放<br />procedure TForm5.MediaPlayer1Notify(Sender: TObject);<br />begin<br /> if (mediaplayer1.Po
2011-01-10 15:52:00 7445
原创 image的picture属性中需注意的
<br /><br />执行此代码后,image的picture中的width和height自动调节为OpenPictureDialog2.FileName的宽和高,需手工调回.(影响picture的canvas大小)<br /> image2.Center:=true;<br /> image2.picture.LoadFromFile(OpenPictureDialog2.FileName);<br /><br />手动设置代码 <br /> image2.picture.Graphic.Wid
2011-01-10 14:34:00 1491
原创 2011.1.10
1.Tsplitter 如何横向分割?2.获取本机IP的方法?控件类 IPWatch 将IdWatch1的HistoryEnabled设置为False,在TForm1.FormCreate中添加如下代码:statBar1.Panels.Items[0].Text:=idpwtch1.LocalIP; 函数API类function ComputerLocalIP: string;var ch: array[1..32] of char; wsData: TWSAData; myHost: PHos
2011-01-10 14:31:00 427
原创 音量大小控制
<br />函数说明: <br /><br />waveOutSetVolume <br />第一个参数是波形文件输出设备标识符; <br />第二个参娄是音量大小。这是一个32位的整数,低16位表示左声道的音量, <br />高16位表示右声道的音量。 <br /><br />waveOutGetVolume <br />第一个参数是波形文件输出设备标识符; <br />第二个参数是一个32位整数的指针。 <br /><br /><br />可以用auxoutsetvolume(id:integer,vo
2011-01-08 12:11:00 879
原创 mciSendString参数 摘录
mciSendString(发送命令串),函数原型为: MCIERROR mciSendString( // 出错返回非零值(错误代码) // 可用mciGetErrorString获得错误的文本描述 LPCTSTR lpszCommand, // 指向以null结尾的命令字符串:”命令 设备[ 参数]” LPTSTR lpszReturnString,
2011-01-08 11:47:00 923
原创 构造和析构
<br />当程序员调用Create和Destroy时,编译器会自动在他们两端插入_ClassCreate和_ClassDestroy的代码。<br />真正实现构造和析构的全局过程_ClassCreate和_ClassDestroy,Create和Destroy的作用是在构造后和析构前初始化和反初始化对象成员。<br />即一个对象的构造和析构过程如下:<br />_ClassCreate->Create->AfterConstruction(->DoCreate/ OnCreate)->适用对象->Be
2011-01-05 19:24:00 401
原创 inherited, dynamic ,virtual , override , overload
inherited使用格式inherited XXX(ParamsList);表示使用父类中的名为XXX的方法,ParamList为方法的参数列表;调用时可不加方法名,表示调用父类中同名方法,若父类中有多个同名方法时不可用。待续
2011-01-04 19:20:00 408
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人