delphi ---ttoolbar,ttoolbutton】的更多相关文章

1.button style:tbsButton,tbsCheck,tbsDivider,tbsDropDown,tbsSeparator,tbsTextButton tbsButton:普通的控件 tbsSeparator:用作分隔 tbsDropDown:下拉控件,属性popupMnu:选择下拉的菜单项(PopupMenu1),我操作时,发现右击才有选择项,无法下拉,原来 DropdownMenu要也要选择下拉菜单 项(PopupMenu1) 其他 几个还不清楚,没用到…
在delphi中, reintroduce作用 当在子类中重载或者重新声明父类的虚方法时,使用     reintroduce   关键字告知编译器,可以消除警告信息.如:          TParent   =   class           procedure   proc;virtual;       end;          TChild   =   class(TParent)           procedure   proc;   reintroduce;   overl…
Delphi XE10,Json 生成和解析,再利用indyhttp控件Post 年09月20日 :: 阅读数: --不多说,直接上代码 procedure TFrmMain.Brand; var JSONObject, jsonparam: TJSONObject; // JSON类 jsonArray: TJSONArray; // JSON数组变量 i: Integer; Flag_Do: Boolean; jsonToSend: TStringStream; jsonStr, Rjson…
感叹:设计VCL的人真是神人啊,感觉比Pascal编译器的设计人还要牛很多,把整个Windows架构理了一遍,封装的如此之好,复用的如此之好(以至于Delphi的控件满天飞,使用还特别容易),简直惊为天人.难怪charles petzold当初觉得不可能用PASCAL语言做Windows编程(李维说的),以前我对这句话的理解是,Pascal语言本身达不到windows编程的要求,可能是因为他这方面的功力达不到(觉得可能是因为petzold对比anders的编译器功力相差太远,不知道编译器的许多细…
如果你使用messagedlg(对showmessage也适用)可以汉化定义按钮caption的常量,具体操作步骤如下: 1.   打开文件consts.pas(在Delphi安装目录的/source/vcl下)        2.   将以下资源字符串常量的值进行改动:               SMsgDlgWarning   =   '警告';           SMsgDlgError   =   '错误';           SMsgDlgInformation   =   '信…
program onlyRunOne; uses Forms,Windows,SysUtils, Dialogs, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} var myMutex:HWND; begin myMutex:=CreateMutex(nil,false,'11111'); //名称只能全系统唯一. if WaitForSingleObject(myMutex,0)<>wait_TimeOut then begin Application.I…
汇编与高级语言 1.      汇编基础知识 1.1.      寄存器 寄存器 用途 EAX,EBX,EDX,ECX 通用寄存器,由程序员自己指定用途,也有一些不成文的用法: EAX:常用于运算. EBX:常用于地址索引. ECX:常用于计数. EDX:常用于数据传递. EIP 指令寄存器,指出当前指令所在的地址. ESP 栈指针,指向当前线程的栈顶. EBP 栈基址指针,对调试起着很重要的作用. EDI,ESI 没有规定作什么用,一般用在源指针和目标指针的操作. FR 标志寄存器,由多个标志…
library DLLEntry;//dll源码 uses SysUtils, Classes, Dialogs, Windows; {$R *.res} procedure DLLEntryPoint(dwReason : DWord); begin case dwReason of DLL_PROCESS_ATTACH : showMessage('映射到进程地址空间'); DLL_PROCESS_DETACH : showMessage('从进程的地址空间分离出来'); DLL_THREA…
[mBean]的萌芽 最近公司要求把我们公司的任务可以外包,问我有没有好的方案. 如果要其他程序员的人来做我们内部的框架会导致了,内部的框架需要公布很多单元和逻辑,思路.其次要把我们的思路和规则强加给其他的程序员.加大了其他人员的上手难度. 带着这种问题把框架又进行了新一轮的优化.每每改进框架后都想丢弃掉之前的框架.心里安慰自己应该是思想上得到了升华.确实从最初的框架到mBean得到了很大的提升,从之前的带[shareCentre.bpl]到现在的[mBean]编写插件规则越来越领活,前一版本的…
关于用Delphi中的Indy控件实现收发邮件的几点学习记录             这几天心里颇不宁静,不是因为项目延期,而是因为自己几个月前做的邮件发送程序至今无任何进展,虽然一向谦虚的人在网上发贴总以“小弟”自称.也发过N多关于此类问题的贴子,但总是收益甚少,但也十分感谢参与贴子的各位同仁.必竟,用Indy控件实现收发邮件的例子太少了,于是小弟决定写一篇关于Indy收发邮件的文章,供大家参考.由于本人才疏学浅,故难免有不少谬误,还请各位见谅. 在做例子之前,应明白整个发送和接收邮件流程:…
1.设置Windows最低版本要求 [Setup]: MinVersion 格式: a.bb,c.dd,这里 a.bb 是 Windows 版本,c.dd 是 Windows NT 版本. 默认值: 4.0,4.0    描述:这个指令让你指定你的软件运行必须的 Windows 或 Windows NT 版本最小版本,要防止你的程序在 Windows 或 Windows NT 下运行,请在最小版本中的一个指定“0”.构建号和/或安全服务包级别可以包含在版本号中.如果用户系统不适合最小版本需求,安…
工具栏  的属性 xe4的事件 Customizable OnCustomizeCanDelete OnCustomizeCanInsert OnCustomized OnCustomizeAdded OnCustomizeDelete OnCustomizeNewButton OnCustomizeReset 的方法 做成像MFC的工具栏样式 这个是使用Image图片来做的了 TToolBar 拖拽   Customizeable自定义工具栏          双击这个工具栏就能自定义了 To…
一.override 重载 type TFigure = class procedure Draw; virtual;//(我的理解是)父类中可以使用父类的,子类中使用子类的.与“四”是有区别的. end; TRectangle = class(TFigure) procedure Draw; override;//a1 end; TEllipse = class(TFigure) procedure Draw; override;//a2 end; 使用 var Figure: TFigure…
因为不需要与C++兼容嘛:http://www.freepascal.org/docs-html/prog/progsu168.html 如果要想取得它真正的VMT,可以Pointer强行转换+100,就是你需要的真正VMT表…
如你所说,在控件或者类的属性中,read 表示 读取,write 则表示设置.比如在类中:TTestClass = (Class)privateFOrderCode:String;publicproperty OrderCode:String read FOrderCode write FOrderCode;end;当你在外部调用中用到比如 SS:= TTestClass.OrderCode;//这样就用到read 来读取 类中FOrderCode的值.如果用到TTestClass.orderC…
字符型:string 浮点型:real 整数:integer DELPHI的浮点数声明不是用float,而是用real(8个字节),single(8个字节,单精度浮点),double(16个字节,双精度浮点) 数组:array 一维 var  a:array[1..5] of integer=(1,2,3,4,5) a:array[1..5] of string 二维 var  MyArr: array[0..2, 0..2] of Integer; 动态定义数组 var arr:array o…
关于数组,指针,字符串转换的例子 var   aa:   array [0..5] of Char;   bb:Pointer;   cc:string;   dd:PChar; procedure TForm1.Button1Click(Sender: TObject);begindd:='abcdef'; //以下是pchar内容转数组FillChar(aa,length(dd),#0);Move(dd^,aa,SizeOf(aa)); //以下是数组传递到指针bb:=GetMemory(S…
var b: Byte; s: string;begin s := '31'; //16进制字符串 b := StrToInt('$' + s);end; 不过要注意一点,如果在程序调试时想看b的值,看到的将会是10进制的值…
颜色转换成整型保存{也可以用ColorToString  / stringTOColor}字体用下面的函数转换成字符串,然后保存 unit xFonts; interface uses Classes, Graphics, SysUtils; procedure StringToFont(sFont: string; Font: TFont; bIncludeColor: Boolean = True);function FontToString(Font: TFont; bIncludeCol…
http://yktoo.com/en/software/dklangTraned http://sourceforge.net/projects/dklang/…
转载自:http://blog.csdn.net/jqandjq/article/details/5429137 看了这里标题,大家可能以为我会谈TListBox控件,那就错了.我要谈的是Delphi提供给我们的具有列表性质的类:TStringList.TList和TObjectList.TStringList用来存放字符串,TList存放指针,而TObjectList则存放对象(Object) 在我们使用Delphi的过程中,有很多数据的存储是要靠 数组解决的.虽然Delphi现在已经支持了可…
DELPHI声明一个指针变量,什么时候需要分配内存,什么时候不需要分配内存?比如我定义个变量 var p:Pchar;如果这个变量声明为全局变量,需要分配内存吗?分配为局部变量,需要分为内存吗?为什么?我们经常用的一个例子比如P:=‘12345’:上面一个例子,我们没有分配内存,就可以直接使用了,但是有时候会看到对P使用GetMem来分配内存,那么什么时候我们可以直接使用,什么时候需要用GetMem来分配内存呢?  无论是全局,还是局部的,只需要你深入理解指针和常量就行了. 1.'12345'是…
Delphi 2010已于近日由Embarcadero公司发布.作者Kim Madsen作为一名资深的Delphi开发者,在他的博客中谈到了Delphi 2010的新性能.它的使用感受以及对Delphi语言未来的期望.博文如下: Delphi 2010使用的第一感觉是:是时候为它抛弃Delphi 7了. Delphi 2010比以往的Delphi版本都要快,而且它保留了一些Delphi 7的特性,比如可以将旧的条形控件(componentbar)找回.但这同时也带了相关的问题(比如在重启Delp…
Delphi是座宝山,有待挖掘1. VCL源码是座宝山,把纷繁复杂的Windows编程封装到短短几个类里,不超过8000行代码,还额外包括许多其它的技巧2. RTL是座宝山,方便程序员使用底层运算,不必自己从头开发,不过这一点倒不是Delphi独有,其它语言也都有的特性,甚至更多,比如C++和Python3. String是座宝山,尽管它是RTL的其中一个功能,但实在太常用太好用了,所以有必要单独列出来.从Delphi切换到C++开发,才知道什么叫做痛苦,尤其是是这个String4. FreeP…
原文网址:http://www.crifan.com/source_insight_support_highlight_for_python_ruby_arm_batch_ppc_sql_tcl_delphi/ 用Souce Insight建立了一个项目,添加了一堆python的*.py文件后,发现当前不支持Python的语法高亮: 所以想要使得SI支持Python文件的语法高亮. [解决过程] 1.之前就折腾过,给si添加对于汇编文件语法高亮的支持,知道了就是去找到对应的配置文件,添加进来,然…
在希腊历史上Delphi曾被认为是世界的中心,Apollo杀死Python后将其据为己有,在其神庙上刻有Oracle,曰:Γνωθι δεαυτόν (认识你自己自身关怀,Cognosce te ipsum, Connais-toi  toi-même).Borland公司将其最为Pascal语言IDE的名字,从此Delphi深入人心,有人说: 真正的程序员用C++,聪明的程序员用Delphi,初级的程序员用VB.Delphi以其自身的诸多优点深深吸引了我: 1)源代码公开:使用Delphi,可…
在Delphi中,特别是在写管理系统软件时,经常要用到 FormatDateTime 以将 TDateTime 格式的日期时间转换成字符串形式的值显示或保存起来,或者用 StrToDateTime将字符串形式的日期时间转换成 TDateTime 然后再做其他操作. 在进行时间或日期的转换时,会使用系统当前设定的时间日期格式.而如果时间日期格式与字符串中的表示方式不相符,会使转换过程失败.例如当前短日期格式设定为'yyyy/MM/dd',而要转为 '2006-10-20'这样的字符串为日期,就会报…
打开Delphi 7,新建,选择Other->Service Application 修改属性中Name和DisplayName,Name是Service的名称,决定着进程的标识,DisplayName是显示在操作系统里的服务面板里的服务的名称.例如我们将Name修改为NoticeService. 新建一个类,例如名字叫做TNoticeThread,继承自TThread,并重写protected过程Execute.在NoticeService的类定义中添加一个NoticeThread对象. 找到…
Delphi中,可以使用数据集控件提供的 Locate 成员方法快速定位至某条记录, 然后通过清除数据集控件的选中状态,并重新赋值达到我们的目的. grDirectory.DataSource.DataSet.Locate('StepNo', StrToInt(stepList[i]), []); grDirectory.ClearSelection; grDirectory.FocusedNode.Selected := True;…
方法一: procedure TForm1.Button2Click(Sender: TObject);begin Form2.Show; Application.NormalizeTopMosts; SetWindowPos(Form2.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);end; 方法二: https://blog.csdn.net/xiaowei_sql/article/details/50829178?t…