随笔分类 -  Delphi

摘要:cxgrid 双击 获取所点击行的内容创建view的 optionsselection->cellselect 设置为false ,才能触发双击事件案例:procedure TForm_Child_Archive.cxGrid1DBTableView1CellDblClick( Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);begin3 ////取得 阅读全文
posted @ 2013-05-18 19:44 麦麦提敏
摘要:我有一个问题请教:我在BDEQUERY中使用其FILTER属性进行条件筛选时一切正常,但相同的条件拿到ADOQUERY中使用就出现错误,具体情况如下:1、BDEQUERY和ADOQUERY指向同一个数据库,其中的SQL语句相同;2、筛选条件如果是以下类型的情况都正确: (字段1= 'AAA ') (字段1= 'AAA ') OR (字段1= 'BBB ') (字段1= 'AAA ') AND (字段2= 'TTT ')3、但当出现此类情况时就会出错: ((字段1= 'AAA ') OR (字段1= 阅读全文
posted @ 2013-05-18 19:38 麦麦提敏
摘要:Delphi 2007 代码补全、语句提示的快捷键是什么?CTRL+SPACE 代码补全,很好用的(先改了输入法热键) CTRL+SHIFT+C 编写申明或者补上函数 CTRL+SHIFT+↑(↓) 在过程、函数、事件内部, 可跳跃到相应的过程、函数、事件的定义(在INTERFACE和IMPLEMENTATION之间来回切换) CTRL+SHIFT+G 插入GUID CTRL+J (弹出DELPHI语句提示窗口,选择所需语句将自动完成一条语句)代码模板 CTRL+K+E(F) 标识符变小(大)写 CTRL+K+O(N) 选中的变小(大)写 CTRL+O+U 切换选择块的大小写 SHIFT+鼠标 阅读全文
posted @ 2013-05-12 19:13 麦麦提敏
摘要:Delphi中使用存储过程介绍Delphi + MS SQL Server是目前最为流行的管理信息系统开发环境和工具。Delphi的强大数据库操作控件极大地减轻了开发人员的工作量,在这些控件中,最常用的有 TQuery、TTable、TADOQuery、TADOTable、TADODataSete等,这些控件执行查询操作时有一个共同的特点,即将所有数据库记录从服务器取回客户端,再根据查询的条件进行筛选。很明显,如果有大量的数据在服务器与客户端之间传递,就会降低程序执行的速度,影响应用程序的性能。针对这种情况,MS SQL Server数据库和Delphi开发工具都提供了存储过程来解决这类问题。 阅读全文
posted @ 2013-05-12 19:00 麦麦提敏
摘要:在IDE中输入控件的名称+. 就会弹出代码完成提示,会列出该控件的所有属性、方法等,也许你对代码完成就是这样的印象,其实它还有一些好用的功能,只不过由于它的激活快捷键也是ctrl+space,与我们的中英输入法切换快捷键冲突才没有显露出来,我强烈建议大家把中英输入法切换快捷键改为其它,以使用完整的代码完成功能,下面是一些代码完成功能的演示动画,看看,很酷吧!呵呵,再实现接口时接口定义的方法可以直接过来了,真好用。处理消息时也很方便,消息的定义自动就上去了这功能没见过吧,很有趣也可以直接定位到方法的实现代码引用单元时也不用死记硬背了,也可以选了 阅读全文
posted @ 2013-05-12 18:54 麦麦提敏
摘要:Delphi编程地一些小程序1、用Enter键代替Tab键在实际的程序开发中我们经常有这样的要求,用户不喜欢用Tab键,他希望用Enter键来代替。我们应该什么做呢?首先:设定Form的KeyPreview属性为True。其次:把Form上的所有Button的Default属性设为False。最后:在Form的onKeyPress事件中添加如下代码:procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin Key := #0; Perform(Wm_NextDlg.. 阅读全文
posted @ 2013-05-12 18:18 麦麦提敏
摘要:【数据库】数据库基础一、SQL语句(1)Select 查询语句 语法:SELECT [ALL|DISTINCT] <目标列表达式> [AS 列名][,<目标列表达式> [AS 列名] ...] FROM <表名> [,<表名>…] [WHERE <条件表达式> [AND|OR <条件表达式>...] [GROUP BY 列名 [HAVING <条件表达式>]] [ORDER BY 列名 [ASC | DESC]] 解释:[ALL|DISTINCT] ALL:全部 DISTINCT:不包括重复行 <目标列表 阅读全文
posted @ 2013-05-12 14:17 麦麦提敏
摘要:Delphi控制输入为数字或字母Delphi 控制输入为数字或字母if not (Key in ['0'..'9', 'a'..'z', 'A'..'Z', #8, #13]) thenbegin Key := #0; ShowMessage('请输入数字或字母');end; 阅读全文
posted @ 2013-05-12 12:20 麦麦提敏
摘要:Delphi中动态加载Image控件图片的方法作者:海豚王子procedure TForm1.Button1Click(Sender: TObject);var jpg: TJPEGImage; // 要use Jpeg单元begin // 显示jpg大图片的方式 jpg := TJPEGImage.Create; jpg.LoadFromFile(getcurrentdir() + '\pic.jpg'); Image1.Picture.Bitmap.Assign(jpg); // 因为 img 控件是基于bmp的 jpg.Free;end;procedure TForm1. 阅读全文
posted @ 2013-05-12 12:16 麦麦提敏
摘要:TClientDataSet的使用技巧本文从以下几个方面阐述TClientDataSet的使用,希望对你有所帮助.1.动态索引procedure TForm1.DBGrid1TitleClick(Column: TColumn);beginif (not column.Field is Tblobfield) then//Tblobfield不能索引,二进制ClientDataSet1.IndexFieldNames:=column.Field.FieldName;end;2.多层结构中主从表的实现设主表ClientDataSet1.packetrecord为-1,所有记录设从表ClientD 阅读全文
posted @ 2013-05-12 12:13 麦麦提敏
摘要:Delphi编程防止界面卡死的方法作者:海豚王子1.循环里面防止界面卡死的方法可以使用Application.ProcessMessages; 例如下列方法: var n:Integer;begin for n := 0 to 10000 dobegin Edit1.Text := IntToStr(n); end; end; 在程序里执行的时候,界面肯定会卡死的,但如何防止界面出现卡的情况呢,加入Application.ProcessMessages即可,修改后的代码为: var n:Integer;begin for n := 0 to 10000 dobegin Application. 阅读全文
posted @ 2013-05-12 12:03 麦麦提敏
摘要:CxGrid用法使用cxGrid有一些时间了,在这里总结一下使用cxGrid的一些方法,希望给刚开始接触cxGrid的人一些帮助。1.简单介绍:cxGrid右下方的cxGrid1Level1是表示Grid表的层,cxGrid可以有多层,这相当于集合了PageControl的功能,而cxGrid1Level1右边的cxGrid1DBTableView1相当DBGrid一样。右击cxGrid1可以添加cxGrid1Level2,右击cxGrid1Level2,可以选择Create View , Add level 或者Delete Level。Add level可以增加子Level,Create 阅读全文
posted @ 2013-05-11 13:28 麦麦提敏
摘要:FastReport几个使用技巧1.FastReport中如何共用TFrxreport及TfrxDBDataSet一个程序中,不管多么大的程序,只要打印或预览时是模式的,则完全可以共用一个TFrxreport变量及几个TfrxDBDataSet。只不过,要注意完成一个报表程序的步骤,主要是下面几步1)清除报表,得到一个全新的报表内容。 Frxreport1.clear。2)设置要使用的TfrxDBDataSet的别名,如果不需要可以省略这一步,但一般最好不同的报表用不同的别名。 注意这一步要在加载报表文件之前,因为一般设计报表文件时已经包含了别名信息。 frxDBDataSet1.Use... 阅读全文
posted @ 2013-05-06 18:23 麦麦提敏
摘要:cxGrid使用技巧http://www.cnblogs.com/colincode/category/257535.html 阅读全文
posted @ 2013-05-06 17:17 麦麦提敏
摘要:FastReport经验1.FastReport中如果访问报表中的对象?可以使用FindObject方法。TfrxMemoView(frxReport1.FindObject(’memo1′)).Text:=’FastReport’;2.FastReport中如何使用上下标?设置frxmemoview.AllowHTMLTags := True;在Text输入如下上标:mm<sup>2</sup>下表:k<sub>6</sub>举一反三,你还可以使用其他HTML标记。3.FastReport中如何打印总页数?设置两次报表后加入引号内内容 “第[P 阅读全文
posted @ 2013-05-06 17:13 麦麦提敏
摘要:FastReport报表控件使用技巧总结1.FastReport中如何访问报表中的对象?可以使用FindObject方法。TfrxMemoView(frxReport1.FindObject('memo1')).Text:='FastReport';2.FastReport中如何使用上下标?设置frxmemoview.AllowHTMLTags:= True;在Text输入如下上标:mm<sup>2</sup>下表:k<sub>6</sub>举一反三,你还可以使用其他HTML标记。3.FastReport中如何打印 阅读全文
posted @ 2013-05-06 14:46 麦麦提敏
摘要:Fastreport使用经验(转)新版本1.FastReport中如果访问报表中的对象?可以使用FindObject方法。TfrxMemoView(frxReport1.FindObject(’memo1′)).Text:=’FastReport’;2.FastReport中如何使用上下标?设置frxmemoview.AllowHTMLTags := True;在Text输入如下上标:mm<sup>2</sup>下表:k<sub>6</sub>举一反三,你还可以使用其他HTML标记。3.FastReport中如何打印总页数?设置两次报表后加入引号 阅读全文
posted @ 2013-05-06 14:03 麦麦提敏
摘要:ExpressLayoutControl2http://www.docin.com/p-159817277.html 阅读全文
posted @ 2013-05-03 20:31 麦麦提敏
摘要:delphi下实现ribbon界面的方法(一)office 2007和2010是现在大多数人经常使用的办公软件,几乎每天都在使用。因此,在软件中如果使用类office的界面样式,客户用着非常习惯,而且学习曲线低,office界面特有的可以收起工具栏的性质,也增大了用户的界面内容,因此,非常受广大用户的喜欢。 那么我们能不能也作出这么好的界面呢?答案当然是肯定的。这种界面的样式叫ribbon,中文名称叫丝带。在VS2010中,VC++和wcf都给ribbon的开发提供了非常好的支持,vc++下更是提供了一个完整的向导,可以作出非常漂亮的界面。但是由于。net下开发的应用程序,因为发布时需要,ne 阅读全文
posted @ 2013-05-02 16:41 麦麦提敏
摘要:请教,如何将image显示的图相保存到数据库中?以流的方式保存一下。我做过,就按照这样的。var _picture: TFileStream; begin _picture:= TFileStream.Create('c:\11.bmp',fmOpenRead); with ADOCommand do begin Parameters.Clear; Parameters.AddParameter.Name:='UserPicture';//添加一个参数 Parameters.Add... 阅读全文
posted @ 2013-04-30 16:16 麦麦提敏