随笔分类 - Delphi
摘要:类成员的可见性是对该类的使用者而言。在声明一个类时,类可以被分为 5 个区域,用以下 5 个 关键字标识: private, protected, public, published, automated 。 所有的类成员都被放置在不同的区域里,不同区域的类成员具有不同的可见性。如果类的定义和类的使用者在同一个单元内,那么该类的所有成员无论位于哪个区域,对于使用者而言都是可见的。 一个类对于相同单元的其他类来说,类似于 C++中的“友类”,其所有成员都可以被访问。因此,类成 员的可见性设置只是在它们位于不同单元时,才是有效的。这时候,区域内成员的可见性规定如下: (1) private 域:.
阅读全文
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) btn1: TButton; procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;//TMyClass1 类里面只有两个字段(变量来到类里面称做字段)
阅读全文
摘要:----------------------------------------------------------------结构方法type TRec = record {定义结构 TRec} name: string[12]; age: Word; function RecShow: string; {在结构中只能使用静态方法} end;{ TRec 结构方法的实现}function TRec.RecShow: string;const str = '%s今年%d岁了';begin Result := Format(str, [name,age]);end;//使用结构p
阅读全文
摘要:结构指针指针 指针是存放指定类型(或未定义类型)变量内存地址的变量,因此指针间接引用一个值。定义指针不需用特定的关键字,而用一个特殊字符,这个特殊字符是脱字符号(^),见下例:type PointerToInt = ^Integer;一旦你定义了指针变量,你就可以用@ 符号把另一个相同类型变量的地址赋给它。见下例:var P: ^Integer; X: Integer;begin P := @X; // change the value in two different ways X := 10; P^ := 20; 如果定义了一个指针P,那么P表示指针所指向的内存地址,而P^表示内存所存储的
阅读全文
摘要:procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin case Key of '0'..'9': ; //对数字键响应 #8,#9,#37,#39,#46,#35,#36:; //对退格键、Tab键、左右箭头响应 #1,#3,#22,#24:;//对Ctrl C、V、A、X响应原帖http://www.delphibbs.com/delphibbs/dispq.asp?lid=1410308 对自己程序的修改: if not(key in ['0'..'9
阅读全文
摘要:原来的代码无法限制只输入一个小数点begin case Key of '0'..'9', #8, #13,#45, #27, '.' : ; //#8退格键,#13回车键 //可输入0-9,退格,回车,点以及负号 else begin MessageBox(0, '请输入数值!', '输入错误', MB_OK+MB_ICONERROR); Key := #0; end; end; end;限制只输入一个小数点:在keypress事件加入如下代码即可 if not (key in ['0'..'
阅读全文
摘要:1if语句对if-then型语句,仅当条件满足时,语句才执行;对if-then-else型,if语句在两条语句中选择一条执行。条件用布尔表达式建立,句子中的条件部分可以是一系列条件(用and、 or 、 not等布尔操作符联接起来),if语句又可以嵌套另一个if语句,要注意的是,不能在第一句之后、else 关键词之前加分号,否则编译器将告知语法错误。if ....thenbegin.......with..... do begin....... end;if .... thenbegin....endelse begin..... end ;//endIfend//endBeginelsebe
阅读全文
摘要:1.form隐藏最大化、最小化,只显示关闭+程序界面不能调整大小只要将窗体BorderStyle属性设置为:bsToolWindow2.form隐藏最大化、最小化,只显示关闭+程序界面不能调整大小将窗体BorderStyle属性设置为:bsSingle BorderIcons中的biMaximize设置为false
阅读全文
摘要:1.修改exe图标Project-> Options-> Application页-> Load Icon..就可以了2.加入版本号Project --> Options --> version info 对Major、Minor、Release、Buil四项定值一般做法是1.2.3.41. 重大版本修改,可能是使用不同的协议不同的接口2. 功能性版本,重要功能的增加3. BUG修复4. 优化(对数据等不产生实质的影响)
阅读全文
摘要:为什么我的panel总是会遮住speedbutton?是不是我的speedbutton的transparent设置为true有问题?但是修改成false也不行,我是菜鸟,第一次发贴,大人帮忙! hedong (hedong)▲▲▲▲△- 盒子活跃会员2003-4-28 13:24:438楼:这也算问题?楼主需要看看入门书籍。如果speedbutton和panel的parent都是Form,当然运行时speedbutton会被panel挡住。只要将speedbutton的Parent设置为panel就可以了。方法就是:1.选择speedbutton,Ctrl+X2.再选择Panel, Ctrl+
阅读全文
摘要:1.下载v4.11解压,copy到lib文件夹下。2.打开d7,分别open vclskin下d7的WinSkinD7R.dpk和WinSkinD7D.dpk,分别编译,然后install WinSkinD7D.dpk。 此时安装完毕。3.添加 Tools->Environment Options->Library>Library path。添加为E:\Borland\Delphi7\Lib\VCLSKIN.v4.11.2006.7.25.Delphi.BCB.PATCH\d7ps,安装也可直接双击v4.11下面的,install.exe
阅读全文
摘要:ListBox第一行字体比其他行小,把字体设置成“宋体”就可以了。只是编了个小程序纠结要不啊哟打包,都不知道打包是啥玩意,以为老兄的话让我确定不用打包。“如果没用数据库,没有用Activex控件的话,Delphi根本不用打包,一个Exe就可以执行了。”
阅读全文
摘要:procedure isNull(grp:TGroupBox);var I:Integer;const arr: array[0..1] of string = ('edit1为空', 'edit2为空');begin for I := 0 to grp.ControlCount - 1 do begin if grp.Controls[i] is TEdit then begin if (grp.Controls[i] as TEdit).Text = '' then begin showmessage(arr[i]); B:=false; e
阅读全文
摘要:procedure TForm1.Button1Click(Sender: TObject);var I:Integer;const arr: array[0..1] of string = ('edit1为空', 'edit2为空');begin for I := 0 to grp1.ControlCount - 1 do begin //grp1即为groupbox1 if grp1.Controls[i] is TEdit then begin if (grp1.Controls[i] as TEdit).Text = '' then be
阅读全文
摘要:procedure TForm1.Edit1Click(Sender: TObject);const arr: array[-1..0] of string = ('man', 'woman');begin Edit1.Tag := not Edit1.Tag; Edit1.Text := arr[Edit1.Tag];end;
阅读全文
摘要:把窗体客户区图像保存到文件或剪切板 使用剪切板[5]: SetAsHandle、GetAsHandle - 自定义格式 使用剪切板[4]: 如果把子控件一起复制? - 同时回复 ghd2004 的问题 使用剪切板[3]: SetComponent、GetComponent 使用剪切板[2]: Assign、HasFormat 使用剪切板[1]: AsText、SetTextBuf、GetTextBuf
阅读全文
摘要:首部 function Format(const Format: string; const Args: array of const): string; $[SysUtils.pas 功能 返回按指定方式格式化一个数组常量的字符形式 说明 这个函数是我在Delphi中用得最多的函数,现在就列举几个例子给你个直观的理解 "% " [索引 ": "] [ "- "] [宽度] [ ". " 摘要] 类型 Format( 'x=%d ', [12]); // 'x=12 ' //最普通
阅读全文
摘要:根据haochin的回复,我稍微改了一下,最后是这样:use Clipbrdprocedure TForm1.Button2Click(Sender: TObject);var I : Integer;begin Clipboard.Clear; for I := 0 to ListBox1.Count - 1 do begin Clipboard.AsText := Clipboard.AsText +listbox1.Items[I]+#13#10; end; //Clipboard.SetTextBuf(PChar(listbox1.Items.Text));end;可作为详细参考的内容
阅读全文
摘要://绝对值: Absvar d: Real; v: Variant;begin d := Abs(-1.2); ShowMessage(FloatToStr(d)); {1.2} v := '-100'; ShowMessage(v); {-100; v 是变体类型无需转换} v := Abs(v); ShowMessage(v); {100; 如果变量的确是个数字, 变体类型也是可以取绝对值}end;//返回整数: Trunc、Round、Intvar i: Integer; d: Real;begin i := Trunc(1234.5678); {截断} ShowMess
阅读全文
摘要://整除与余数: DivModconst a = 11; b = 3;var x,y: Word;begin ShowMessage(IntToStr(a div b)); {整除得 3} ShowMessage(IntToStr(a mod b)); {余数 2} DivMod(a,b,x,y); ShowMessage(IntToStr(x)); {3} ShowMessage(IntToStr(y)); {2}end;//返回整数: Ceil、Floorvar d1,d2: Real;const d = 1.2;begin {向大补入} d1 := Ceil(d); d2 := Ceil
阅读全文

浙公网安备 33010602011771号