相关热词搜索:
篇一:Delphi实用技巧经验(图文)
‘’空 ‘ ’空格
空格调整对齐方式
窗体的visible属性设置相当于showmodal
aq一行一行执行,所以要把一些语句写在循环里(除了在grid添加数据)
Caption,Text:显示名 Name:系统名
Sql表:create,drop,alter 数据:insert,delete,update
数据模块在uses里时用文件名,调用时用系统名
全局变量:用于不同表单间的传值。如在public中定义变量a,使用时把值赋给form.a,具体可参考设置第一列为下拉式菜单
Delphi设置 切换窗体project-options-forms 字体tools-options-display
问题处理
属性栏消失按F11
Image提示“unknown picture file extension(.jpg) ” 在 uses中加 Jpeg
重建某个窗体(如unit2):新建unit1unit2,退出再重建,使之产生dcu文件,再将这三个文件复制到所需目录下,同时删除history文件夹
DBGrid某列的小数位数(at默认会去掉末尾的0,如1.00->1) TFloatField(dbGrid1.Columns[2].Field).DisplayFormat := '0.00'; 函数
定位posex(str1, str2,[n]) 在str1在str2从n的位置开始的位置,默认从1开始,输出int类型,必须在uses中加入StrUtils posex('b','abcabcabc',3)=5
复制copy(str,2,3),输入输出都是str,如copy(inttostr(1234),2,2)=23
长度length(str) 输出int
重复dupestring(chr(9),10) 将Tab重复10次,必须在uses中加入StrUtils
左取leftstr(str,2),rightstr(str,2) ,必须在uses中加入StrUtils
保留小数位数(2位),会四舍五入 FormatFloat('0.00',1.111),str类型
格式
小数
小数定义成real,转换floattoint,inttofloat; floattostr ,strtofloat Asfloat 验证trystrtofloat(同理trystrtoint)
Var
s: string;
x:double;
begin
s:='123.45x';
if not trystrtofloat(s,x)
then showmessage('数据类型转换出错');
end
保留小数位数(2位),会四舍五入 FormatFloat('0.00',1.111),str类型
DBGrid某列的小数位数(默认会去掉末尾的0,如1.00->1,下面语句只改变DBGrid显示格式,若从at取出数据给edit,显示的还是去0,但是sql表中定义成money类型而delphi中提交如1,则sql表中自动转换为1.00) TFloatField(dbGrid1.Columns[2].Field).DisplayFormat := '0.00';
日期
定义成date1:TDateTime,转换用datetostr, strtodate [ if not TryStrToDate(str,date1) then...] AsDateTime
常见键值
vbKeyBack 8 BACKSPACE 键
vbKeyTab 9 TAB 键
vbKeyReturn 13 ENTER 键
警告窗口
application.MessageBox('输入内容','标题 ', MB_ICONEXCLAMATION);
1. 指定讯息视窗上的图示
1.1 MB_ICONEXCLAMATION 或 MB_ICONWARNING
出现「黄三角形内有一个惊叹号」图示
1.2 MB_ICONINFORMATION 或 MB_ICONASTERISK
出现「白色椭圆内有一个蓝色小写 i」图示
1.3 MB_ICONQUESTION
出现「问号」图示
1.4 MB_ICONSTOP 或 MB_ICONERROR 或 MB_ICONHAND
出现「红色X」图示
2. 指定讯息视窗出现的按钮
2.1 MB_ABORTRETRYIGNORE
出现「Abort」「Retry」「Ignore」三个按钮
2.2 MB_OK
出现「Ok」按钮,为预设值。
2.3 MB_OKCANCEL
出现「Ok」「Cancel」两个按钮
2.4 MB_RETRYCANCEL
出现「Retry」「Cancel」两个按钮
2.5 MB_YESNO
出现「Yes」「No」两个按钮
2.6 MB_YESNOCANCEL
出现「Yes」「No」「Cancel」三个按钮
3. 可指定预设Focus在哪一个按钮
3.1 MB_DEFBUTTON1
指定focus在左边第一个按钮,这是预设值。
3.2 MB_DEFBUTTON2、MB_DEFBUTTON3、MB_DEFBUTTON4
以此类推,指定focus在左边第二、三、四个按钮
4. 可指定是否 Modal
4.1 MB_APPLMODAL
对于应用程式而言,是 modal form
4.2 MB_SYSTEMMODAL
对于作业系统而言,是 modal form
4.3 MB_TASKMODAL
5. 其他
5.1 MB_TOPMOST
将讯息视窗提至最前面
5.2 MB_RIGHT
将讯息文字向右对齐
IF语句
IF e1 THEN
<语句1> (没分号)
ELSE IF e2 THEN
<语句2> (没分号)
ELSE
<语句0>;
表达式用“=”或布尔类型,如not ADOQuery1.EOF
存在问题 aq,recordcount
清空文本框
edit1.clear;
edit1.Text:='';
控件介绍
DBGrid(可直接修改表,默认会去掉列数据末尾的0)
事件:keydown,keypress,与aq,at联动的afterscroll
列名Columns[0].Title.Caption
列数columns.count //recordcount(aq,at)
列数据源Columns[0].Fieldname (aq,at) //fieldbyname('列名').AsString (aq,at)
当前列号,从零开始DBGrid1. SelectedIndex
(当前列号,从1开始) ADOTable1.recno
表对齐align
列数据对齐columns[0].Alignment
列标题对齐Columns[0].Title.Alignment :=taCenter
表只读DBGrid1.ReadOnly:=true; 或可视化里options双击,将DBEditing设为false
列只读columns[0].ReadOnly
篇二:Delphi经验技巧集锦
Delphi经验技巧集锦
一.为列表框添光彩
为了改变Listbox和Combobox两个控件的单调风格, 我想在它们的每一项前面加上个图标。从表面上看好像不大可能啦。就在走投无路的时候,我忽然发现这两个构件都有一个style属性, 它可以设为lbOwnerDrawFixed,Draw这个单词吸引了我,然后我又从Delphi的在线帮助中找到了一个相关的事件
OnDrawItem,在这个事件中写一段代码,就可以在列表框中的每一项前面添加一个小图标啦。
下面是在Listbox 的OnDrawItem事件中添加的代码:
procedure TForm1.ListBox1DrawItem(Control:
TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
Bitmap: TBitmap;
Offset: Integer;
begin
with (Control as TListBox).Canvas do
begin
FillRect(Rect);
Offset := 2;
Bitmap := TBitmap.create;
Bitmap.LoadFromFile(′d:\temp1\1.bmp′);
//指定图文件是d:\temp1\1.bmp
BrushCopy(Bounds(Rect.Left + 2, Rect.Top,
Bitmap.Width, Bitmap.Height),
Bitmap, Bounds(0, 0, Bitmap.Width,
Bitmap.Height), clRed);
Offset := Bitmap.width + 6;
TextOut(Rect.Left + Offset, Rect.Top,
(Control as TListBox).Items[Index])
end;
end;
进一步,利用OnDrawItem事件的参数Index还可以在不同项前面添加不同的图标。还要告诉你的是,当用add方法为列表框或下拉框添加项目时,会自动执行 OnDrawItem事件,这样新添加的项目前面也就有了一个图标。
二.获取count值
Delphi与Power Builder一样,都提供了SQL语言,来实现对数据库的访问,仅仅是实现语句的长短不同。Delphi是在Pascal语言基础之上发展起来的,它