知识大全 Delphi入门点点滴滴
Posted 知
篇首语:落花踏尽游何处,笑入胡姬酒肆中。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi入门点点滴滴相关的知识,希望对你有一定的参考价值。
新手知识大放送:Delphi入门点点滴滴 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
==系统应用篇== A.Delphi自代了大量的常用控件 如Delphi 就有一百多了 而今年出的Delphi 更是Delphi 的 倍 这么多控件 就是在 * 的分辨率下也无法全部显示他们的组件面板 而每次要按那两颗小按钮来显示更多的面板 真是非常不方便!但通过添加下面那一个注册表键值就能实现组件面板自动展开 [HKEY_CURRENT_USER\\Sofare\\Borland\\Delphi\\X \\Extras] AutoPaletteSelect = (注 X 表示你的Delphi的版本号 如果没有Extras主键则新建即可 下同) B.每次新建窗体 然后设置其字体 大小……真是好麻烦的!那就再添加一个以下的键值 让系统自动来设置吧 [HKEY_CURRENT_USER\\Sofare\\Borland\\Delphi\\X \\FormDesign] DefaultFont = 宋体 _ (注 _表示空格 也可以用Bold(粗体)等代替) C.自定义工作环境 让它更加适合自己 设置工具栏 在Delphi的工具栏右键单击 选Customize 然后挑选需要的按钮拖到工具上 把不要的拖出来 我常用的是 Standard工具栏下的Open Open Project Save Save All Undo Redo Debug工具栏下的Pause Add Watch Program Reset Run Desktop工具栏下的Save Current Desktop Set Debug Desktop Component Palette工具栏 设置窗口布局 为了能跟高效的编写程序 合理的布置各个窗口是很重要的 我常用的窗口有 Object Inspector Project Manager(View|Project Manager) Watch List(Run|Add Watch ) 具体的停放位置如图 > > 设置好各个窗体后按Desktop工具栏上的Save Current Desktop按钮保存 ?设置显示颜色 让代码的颜色更符合自己的习惯 有利于编写时思维的清晰 Tools|Editor Options打开Editor Properties 选Color标签页 设置代码颜色 以下仅解释一下几个常用的 Whitespace 空白处 即背景 Comment 注释 Reserved word 保留字 String 字符串 Number 数字 Execution Point 正在执行的当前行(即F 步入时所到达的那一行) Enabled break 断点 Error line 错误发生行 D.掌握一些Delphi编程中的快捷键 能够极大程度的提高效率 还不会让你因为过多无聊的设置等而感到厌烦 现在如果不用这些快捷键 我会很不适应这样的编程的!以下我就介绍一下我常用的几个快捷键 Esc : 选择当前选中组件的容器(通常是Panel GroupBox或Form等) Ctrl+方向键 将所选组件移动一个像素 Ctrl+Shift+方向键 将所选组件移动一大格(类似Fireworks中按住Shift再用方向键移动时的效果) Shift+方向键 调整选中组件的大小 每次一像素 Shift+选中组件 按住Shift键再用鼠标点击组件 可以同时选择多个组件 Ctrl+鼠标左键 在procedure中掉用其他的函数(如一个自定义的过程) 在这个调用处按住Ctrl会发现当鼠标移上去的时候变成了一个类似超链接的格式 鼠标单击就能直接转到所调用的此函数的实现部分 这个功能我可是用的最多了 让我找模块变得非常方便! Ctrl+Shift+C 在一个对象中声明了一个方法 然后把光标放到它的上面 按下Ctrl+Shift+C就可以为他的实现建立一个基本框架 如 TForm = class(TForm) private Private declarations public Public declarations procedure Mine; end; 把光标放到procedure Mine这行 按下Ctrl+Shift+C 下面这段代码将自动插入到单元中 procedure TForm Mine; begin end; ==窗体操作篇== 在有多个窗体的程序中 Delphi默认是将它们在程序启动时全部创建(只是都隐藏了 只显示一个主窗体) 这样 那些暂时不必要启动的窗体就占用了许多内存空间 所以我们需要在菜单Project|Options 的Forms标签页下 将那些暂时不要启动的窗体从 Auto create forms 下转移到 Available forms 中 这样 这些窗体的创建和释放就需要代码来实现了 A.两种创建窗体方法之比较 对于这些非自动创建的窗体 我们必须在Show之前Creat(Self)或Create(Application) 将其创建 如Form Creat(Self)和Form Create(Application) 可是 它们两个到底有什么区别呢?其实两者区别不大 但如果Owner是属于别的窗口或控件的话 当它的Owner被释放的时候 该Owner所拥有的也会被释放 关键的区别是由谁来管理该窗体的资源 用第一种方法创建 该窗体的资源由编程者来负责管理 用第二种方法创建 该窗体的资源由Application来管理 B.几种窗体的释放方法 既然是为了节约内存 那么用完了的窗体就应该 搬出 内存 在这里我列举几个大同小异的方法 ( ) procedure TForm Button Click(Sender :TObject); begin if Form = nil then Form :=TForm Create(Application); Form ShowModal; end; procedure TForm close(Sender: TObject; var Action: TCloseAction); begin ModalResult := mrNone; Action := caFree; Form := nil; end; ( ) procedure TForm Button Click(Sender :TObject); begin if not Assigned(Form ) then begin Application CreateForm(TForm Form ); try Form ShowModal; finally Form Free; Form := nil; end; end else Form ShowModal; end; ( ) procedure TForm Button Click(Sender :TObject); begin Form Close; Form Release; end; ==控件使用篇== A.大名鼎鼎的RXLib控件包是由三位俄罗斯高手编写的 非常的出色!不过 内容太多了 要用好也不容易 我在此拿RxRichEdit简单地说几点 好多人都问RxLib怎么安装 似乎的确有点复杂 呵呵 所以我也顺便说一下 运行rxinst exe将RxLib先安装到\\Program Files\\Borland\\Delphi (或 )\\RX文件夹下 然后打开Delphi 选File\\Open 将RXCTL DPK RXDB DPK RXBDE DPK分别打开后按pile 继续打开 DCLRX DPK DCLRXDB DPK和DCLRXBD DPK 将这三个分别按pile后按install就可以了: ) ?AllowObjects属性 Win 下默认设置为True 右键菜单没有问题 但设为False时快捷菜单会连续出现两次 Win 下 设为True时会使右键菜单无法弹出 而False时却显示正常 所以 为了系统的兼容性 需要判断当前OS版本 procedure TFormMain FormCreate(Sender: TObject); var OSVI:OSVERSIONINFO; begin OSVI dwOSVersionInfoSize:=sizeof(OSVERSIONINFO); GetVersionEx(OSVI); case OSVI dwPlatformId of :RxRichEdit AllowObjects:=true; :RxRichEdit AllowObjects:=false; end; end; 但我不知这个属性为什么会有这么一个问题 还望高手指点 ?OnURLClick事件 RXRichEdit有自动将网页地址转为超链接格式 但具体的行为还是要自己写代码的 不然这些地址就成了个空壳了 procedure TFormMain RXRichEdit URLClick(Sender: TObject; const URLText: String; Button: TMouseButton); begin if Button = mbLeft then ShellExecute(Handle nil PChar(URLText) nil nil SW_SHOW); end; B.为了节约内存 优化运行 我们总是动态创建组件 可当用完之后 如果不及时彻底的将其从内存中清理出去 那就有违我们的初衷了 可怎么 杀死 所创建的组件? 比如创建了一个Edit控件 现在想让它消失 但用Edit Free后 调用Edit Text却仍然存在……我们知道 光Free是不行的 这只是将Edit所指向的内存空间释放了 但是指针并没有设定为nil 当调用Edit Text时 Delphi仍然会根据Edit提供的指针访问已经释放的内存区域 所以会产生Access Violation 错误 所以我们需要在Free后Edit:=nil或者FreeAndNil(只在Delphi 下有效)将指针nil掉 才能保证以后的正常运行 C.将各控件的提示文本显示于状态行上 这个可用Application的OnHint事件 但由于Application为不可件对象 因此可以采用如下方法 public procedure DisplayHint(Sender: TObject); //声明一个方法用于显示提示文本 end; procedure TForm DisplayHint(Sender: TObject); //实现部分 begin StatusBar SimpleText := GetLongHint(Application Hint); end; procedure TForm FormCreate(Sender: TObject); begin Application OnHint := DisplayHint; end; 这样显示在状态栏里的文本和提示框(就是那个自动出现的黄色小框)里的是一样的 如果想要在状态栏里的提示文本更加详细怎么办?其实 只要控件的Hint属性这样写 MyHint|It s just a MyHint! 就可以让 | 前的内容显示在提示框(Help Hint box)里 | 的后面的内容显示在状态栏里了 D.ListView使用中的一些要点 以下以一个两列的ListView为例 →增加一行 with ListVi cha138/Article/program/Delphi/201311/8398相关参考
基于Delphi的接口编程入门 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一为什么使用接口?
Delphi数据库控件使用入门(三) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用TDBG
Delphi数据库控件使用入门(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 以RTF格式
Delphi数据库控件使用入门(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在数据库应用
求含点点或点点的QQ网名……谢谢…… 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!求含点点或点点的
知识大全 回想过去的点点滴滴都觉得很多地方都没做好,现在起我该如何做才能不让未来的自己后悔
回想过去的点点滴滴都觉得很多地方都没做好,现在起我该如何做才能不让未来的自己后悔自己想怎么做就怎么做,只要是力所能及的,就把它做的最完美(自己认为的)回想过去的点点滴滴用成语怎么说往事如烟或回首往事。
滴滴金的基本资料,相关中药材5味。滴滴金的基本资料滴滴金(《准绳·幼科》卷六)处方狗头(去肉,留脑髓,酥炙脆)。制法上为细末。功能主治痘疮,寒战咬牙。用法用量浓煎酒下。滴滴金(《普济方》卷二七三)处方
知识大全 我是一位滴滴司机,为什么朋友说现在交警在抓滴滴司机
我是一位滴滴司机,为什么朋友说现在交警在抓滴滴司机,我是滴滴司机,为什么漳州在抓滴滴快车16年07月12日第一天跑滴滴司机试了试感觉,就再不想做了,2个半小时接了实时单3单5个人,第一单1人路边上车,
减肥期间晚上吃一点点菜有一点点油会不会有影响消耗量,大于摄入量就能减肥。晚上本来就应该少吃。月经还有一点点带套同房会不会有影响问题分析:您好,月经期间做爱对身体影响较大,阴茎插入阴道会使阴部充血,导致
知识大全 我是位业余滴滴司机,请问怎么取消滴滴派单,因为我是女司机路程太远不适合跑。谢谢告知。
我是位业余滴滴司机,请问怎么取消滴滴派单,因为我是女司机路程太远不适合跑。谢谢告知。现在已开通自动接单的城市不支持关闭功能了不适合跑就只能取消订单咯滴滴司机怎么提现我是滴滴司机!怎么才能绑定银行卡!谢