Delphi是基于Pascal语言的RAD快速应用程序开发工具(Rapid Application Development),为Windows系统下的可视化集成开发工具,它提供强大的VCL(Visual Component Library,可视化组件库)
DELPHI IDE中部分操作快捷方式 1 代码模板 : CTRL+J 2 代码整块移动 : CTRL+SHIFT+I(右移) CTRL+SHIFT+U(左移) 3 选中窗体 : 先选中任一控件,SHIFT+鼠标左键 4 将鼠标指向变量名、单元名、类名,再用 CTRL+鼠标左键 可找到相应的说明 5 在过程、函数、事件内部, SHIFT+CTRL+向上的方向键 可跳跃到相应的过程、函数、事件的定义 6 相反,在过程、函数、事件的定义处,SHIFT+CTRL+向下的方向键 可跳跃到具体过程、函数、事件内部 7 CTRL + SHIFT + C:编写申明或者补上函数 8 SHIFT + CTRL + E 显示 EXPLORER 9 CTRL + SHIFT + N (n=1,2,3,4......)定义书签 10 CTRL + N (n=1,2,3,4......)跳到书签n 11 ALT + 鼠标左键 可以块选代码,删除对齐的重复代码非常有用 12 CTRL + PageUp 将光标移至本屏的第一行,屏幕不滚动。 13 CTRL + PageDown 将光标移至本屏的最后一行,屏幕不滚动。 14 CTRL + ↓ 向下滚动屏幕,光标跟随滚动不出本屏。 15 CTRL + ↑ 向上滚动屏幕,光标跟随滚动不出本屏。 16 CTRL + Home 将光标移至文件头。 17 CTRL + End 将光标移至文件尾。 18 CTRL + B Buffer List窗口。 19 CTRL + I 同Tab键。 20 CTRL + M 同Enter键。 21 CTRL + N 同Enter键,但光标位置保持不变。 22 CTRL + T 删除光标右边的一个单词。 23 CTRL + Y 删除光标所在行。 24 CTRL + SHIFT + ↑ 光标在函数体内时,将光标快速移至当前函数声明处。 25 CTRL + SHIFT + ↓ 光标在函数声明行时,将光标快速移至函数定义处。 26 CTRL + SHIFT + C 声明一个过程或函数后,直接生成过程或函数的名称、begin、end; 27 CTRL + SHIFT + E 光标在Edit窗口和Explorer窗口间切换。 28 CTRL + SHIFT + G 插入GUID。 29 CTRL + SHIFT + J 弹出Delphi语句提示窗口,选择所需语句将自动完成一条语句。 30 CTRL + SHIFT + T 在光标行加入To-Do注释。 31 CTRL + SHIFT + Y 删除光标之后至本行末尾之间的文本。 32 CTRL + F3 Call Stack窗口。 33 CTRL + F4 等于File菜单中的Close项。 34 CTRL + 鼠标转轮 加速滚屏。 35 SHIFT + F8 调试时弹出CPU窗口。 36 SHIFT + F10 等于鼠标右键(Windows快捷键)。 37 ALT + F4 关闭所有编辑框中打开的源程序文件,但不关闭项目。(如无打开项目时,则关闭DELPHI^_^ )
自1995年Borland公司发布Delphi 1.0以来,Delphi受到很多开发者的亲睐,到1999年发布Delphi5,Delphi以其开发快捷、控件丰富、易于上手等优势吸引了众多的开发者,用户人数达到高潮,一度超越Visual Studio。可是好景不长,在推出Delphi7之后不久,Borland公司也走向衰败,最终被人收购,仅卖了区区7500万美元。 Borland公司倒闭的主要原因是公司财务出现困难,内部矛盾上升。但我认为深层次的原因是产品定价死板且价格过高,记得当时一套Delphi正版要卖68000人民币,而同期的Visual Studio仅卖一万多人民币。过高的定价导致很多人放弃使用正版用盗版。这可能是Borland公司财务困难的主要原因。 一、倒闭后的版本变迁 Borland公司倒闭后,先是到易博龙手中,再转到微软,最后到Embarcadero手中。Borland的最后版本是Delphi7。之后有Delphi2005到Delphi2010,这些版本基本不受Delphi开发者关注,因为D7就用得很好。Embarcadero推出DelphiXE,版本升得很快,目前已经到了XE10.2。并在XE5开始支持手机开发。引起一些Delphi的关注。 二、Delphi目前的用户人群 Borland公司倒闭后,导致很多Delphi爱好者信心产生动摇,加之Jave和.net兴起,许多开发者纷纷转向,放弃Delphi,Delphi用户群体急剧流失。经过若干年后,剩下的Delphi开发者估计只剩下三类人: 1、业余开发者,转向其他开发工具比较困难的人; 2、 Delphi死粉,这类人很少,程序员毕竟要吃饭,不会有人死抱着Delphi失业的,所谓死粉应该还是那些不愿意或有困难转向的人; 3、 手头有大量已有Delphi系统,无法全部重写,只能留在Delphi的人。 年轻的开发人员基本上不进入Delphi,大家都知道Delphi是一个没落的工具,学了也不好找工作,干脆不进来。所以,到目前,Delphi的开发者基本上是老司机。我曾去参加过一次Delphi XE的新版本发布会,参会的人基本上都在30岁以上,这还是好几年前。所以,Delphi可以说是后继无人。 老司机们的年龄最小估计也在35岁左右了,新人不进来,这些人将会在五年十年后淡出编程,大部分人到了这个年龄基本上想混个一官半职,脱离Coding的苦海。所以,Delphi命不长矣。 三、Delphi用户目前的困境 1、硬件及操作系统的升级让用户无法停留的D7上 大多数继续使用Delphi的人基本上仍在使用Delphi6或Delphi7的版本,后者人数较多。Delphi几经转手,继D7之后也出了一些版本,什么Delphi2005.net、2009、2010到现在有XE,XE都到十了。让老司机们无法继续留在D7的原因主要是操作系统及计算机硬件的升级,Delphi7之前的版本在XP 32位系统下运行很好,但到后面的Win7及64位系统就不灵了,加以对多核CPU的支持也没有。XP已经不被微软支持等。这样又迫使部分人离开Delphi,剩下的老司机考虑往XE上寻求升迁老的系统。 2、XE对Windows开发支持不好 从Delphi XE最新的版本取向来看,Embarcadero似乎更专注于移动开发,最新的版本还想走向Linux,而放弃对Windows的支持。D6和D7只专注于Windows上的开发,现在XE要同时支持Windows、Android、IOS和Linux,可谓战线拉得太长。对Windows的开发支持感觉越来越差。要知道现在主要用户是老司机,老司机走老路,EXE+DLL,他们要把老系统迁到新工具下,才能去继续按老方法使用Delphi的新功能,开发Android、IOS和Linux,但XE好象一到DLL就不行,这就不能解决老司机们的后顾之忧,老司机们的后顾之忧就是要把他们的那些旧坛坛罐罐搬到新的XE上面来,没有解决这个之前,他们不会心思去用XE的新功能。 另外,Delphi写Android、IOS和Linux不就是为老司机们准备的吗,新司机谁他娘的还用Delphi这破东西呢,何况Android、IOS和Linux下本身就有很多开发工具都是开源免费的,又正宗又原生态、又成熟又用者众,Delphi真是一点优势都没有,除了让那些只会Delphi又不愿离开Delphi的老司机用,还有谁用呢。 再说,用Delphi开发Android和IOS永远会落在别人屁股后面。因为Android是Google的,IOS是苹果的,这两家都有自己的开发工具,当Android和IOS升级时,人家自己系统立即支持新看到本,而Delphi还要等到Embarcadero是否
DelphiPI组件控件安装工具是一款用于安装Delphi组件的工具,对应delphi的不同版本,安装控件的时候有的需要先编译其他包,然后才能安装上这个控件,安装完成之后要在tool里的环境选项里的系统查找路径里填上控件的目录,这样delphi启动时才能找到你安装的控件。
当我们对准场景中的一个物体时,可以显示这个物体的名称或者对这个物体的描述。如图所示,我们对准了场景中的一个桌子,对这个桌子的描述:is a aimable gameobject. 会显示在一旁。除此之外,我们可以添加瞄准进入事件,瞄准离开事件,瞄准停留事件,鼠标点击事件。
一转眼发现博客里积累了不少文章,特别是这两年开始发现写博客也是一种提升自己技术能力的方法。这就和写代码一样,因为会让大脑思考,时间长了就会留下记忆。所以很多的高手都是通过这样的不断的重复训练来的。 也就是为什么一些快速成长的公司更容易产生大牛,因为如果初始的员工本身不够牛,业务很难大发展。底子在那里,加上各种实战自然就成长的快,时间长了不牛才怪。当然大牛的人还要会沉淀、思考、修正、分享,这或许是写博客的一个意义所在吧。 java开发相关 Tomcat shutdown执行后无法退出进程问题排查及解决 记一次
注册51cto帐号ihq2008是在07年,id取名来历【ih五笔‘小’,q本来是规划‘qiang’的,2008是中国申奥成功,2008年在北京举办奥运会】,就这样阴差阳错的使用了此id,一直沿用至今。
14年的IT从业经历,中专毕业后在小镇上开过网吧。在网吧一年多的时间里,天天陪人玩游戏,后来去读了一个三流计算机专业,毕业后转做软件开发,最近五年转入游戏开发行业!
如今天使用Borland的开发工具的程序员越来越多了,许多程序员开始从VC++,BC++等工具转向C++Builder(以下简称BCB 即Borland C++Builder) 和 Delphi。要使用这两种开发工具,你就要用到VCL(Visual Component Library 可视化控件库)。关于编写VCL的Delphi的书籍和资料相当多,但是要使用C++来写,资料就少得多了。
用过Delphi的朋友们,大概对Delphi的最喜欢Delphi的不是他的强类型的pascal语法,而是强大的VCL控件,本人就是一位VCL控件的爱好者。
Delphi,是Windows平台下Object Pascal语言集成开发环境,支持应用程序快速开发。Delphi Decompiler 是Delphi的反编译工具
导读: 刘东发(http://www.codelive.net)的杰作——–远程控制木马”偷窥者”VC6.0编译通过。2001年是中国的木马大丰收的一年. 首先是灰鸽子的诞生.灰鸽子早期版本开放源代码,灰鸽子的作者葛军(俺安徽的老乡,呵呵可不是拉关系),开始还倒不错,开放了源代码,后来功能齐全后,葛军开始翻脸了,不但不公开源代码,还收费.灰鸽子是delphi版的,本人愚笨,没有学delphi,主要原因:borland把自己卖了,jbuider以后都很难说(在下赶紧从jbuilder转向了eclips
对C++程序不熟悉,但是因为工作需要,要对一些程序进行测试分析,找出是否有内存泄露情况。在网上找到了大家比较推崇的BoundsChecker,安装后开始看软件自带的手册,为了让更多的同事一起学习,要将全英文的手册翻译成中文,在这个学习过程中,也把成果不断贴出来大家分享吧!今天先贴手册的目录
在Vue中,它会变得更复杂一些,因为我们没有内置这个功能。我们必须自己实现这些。不过别担心,工作量不是很大。
string function1(int param1, string param2, …)
比如:弹提示框,就下MessageBoxA,注册表的,就下RegOpenKeyA等等
源码下载地址:http://yunpan.cn/cFsrRxJLcn3Ex 访问密码 6294
对微软Hololens进行开发,要使用微软提供的工具HoloToolkit工具包。我使用的版本是HoloToolkit5.8.0,下载地址:
因为程序肯定是病毒,我就不上传杀毒网去查杀了。正常我们在分析一个未知恶意程序的时候,流程都是要先上传杀毒网看看。
最近一直在温习旧的知识,刚好学习了一下Java的线程安全方面的知识,今天想起之前一直做的Delphi开发,所以还是有必要温习一下,看看这些不同的编程语言有什么不同之处。 Delphi的线程同步方法: 1、临界区 申明一个临界资源 FLock : TRTLCriticalSection; 先初化一个临界资源对象 InitializeCriticalSection(FLock) 销毁临界资源对象 DeleteCriticalSection(FLock) procedure TSaveThread.Push
常用浏览器事件与DOM事件,包括鼠标事件、键盘事件、框架/对象事件、表单事件、剪贴板事件、打印事件、拖动事件、多媒体事件、动画事件、过渡事件。
个人在学习脱VMP加壳的过程中总结的一个步骤。按照这个步骤,包括VMP1.6—2.0在内应该有70%-80%能脱壳。脱不了的也别问我,我也刚开始学习。我还想找人问呢。 想要脱VMP的壳,首要工作当然是要找一个强OD啦!至于是什么版本的OD自己多试验几个,网上大把大把的,一般来说只要加载了你想脱的VMP加壳程序不关闭都可以。 其次就是StrongOD.dll这个插件了,现在用的比较多的就是海风月影,同样网上也是大把大把的。下载回来后复制到你的OD程序所在的文件夹里面的plugin里。StrongOD的设置选项搞不懂就全部打钩。 接下来要做的工作就是搞清楚我们要脱壳的程序编程的语言了,可以用PEID或者fastscanner查看,如果在这里看不到也可以在OD载入以后通过里面的字符串判断了。例如VB的程序会出现MSVB----/VC的会出现MSVC---等等。这些都是程序运行所需要的windows链接文件。 做完这些预备工作接下来当然是用OD载入文件啦。文件载入后在反汇编窗口CTRL+G搜索VirtualProtect(注意V跟P要大写,至于为什么要搜索这个别问我)。一般来说搜索的结果会出现以下的类似: 7C801AE3 E8 75FFFFFF call kernel32.VirtualProtectEx 我们在这里下F2断点。然后F9运行到我们下的这个断点。接下来我们就要注意观察堆栈窗口了。一般来说当我们F9运行到我们上面下的断点的时候在堆栈窗口会出现以下类似: 0012F66C 00401000 |Address = TradeCen.00401000 0012F670 000280D1 |Size = 280D1 (164049.) 0012F674 00000004 |NewProtect = PAGE_READWRITE 0012F678 0012FF98 \pOldProtect = 0012FF98 我们要注意观察的就是在接下来我们F9运行的时候,ADDRESS和NEWPROTECT这两行的变化。按F9-速度别太快,直到NewProtect项变为PAGE_READONLY,这时候程序就释放完毕了。 0012F66C 0042A000 |Address = TradeCen.0042A000 0012F670 000069DE |Size = 69DE (27102.) 0012F674 00000002 |NewProtect = PAGE_READONLY 0012F678 0012FF98 \pOldProtect = 0012FF98 现在可以取消刚才我们下的断点了。接下来就是找OEP了。找OEP的时候我个人的一个经验就是OEP一般就在接近上面的ADDRESS地址的附近。例如上面的地址是0042A000,我一般就在这个基础上减到420000搜索程序的特征段,当然我们也可以直接跳到401000开始搜索。虽然我们搜索的范围比较大,但是因为我们搜索的是命令序列,所以工作量还不是很大。 废话不多说,CTRL+G--上面的地址,然后CTRL+S 查找命令序列。命令序列的内容就是我们用查到的编程语言的特征段。我们可以在特征段里面选择两三句固定不变的命令查找。例如VC++6.0的特征段是 0046C07B U> 55 push ebp 0046C07C 8BEC mov ebp,esp 0046C07E 6A FF push -1 0046C080 68 18064C00 push UltraSna.004C0618 0046C085 68 F8364700 push UltraSna.004736F8 0046C08A 64:A1 00000000 mov eax,dword ptr fs:[0] 0046C090 50 push eax 0046C091 64:8925 00000000 mov dword ptr fs:[0],esp 0046C098 83EC 58 sub esp,58 0046C09B 53 push ebx 0046C09C 56 push esi 0046C09D 57 push edi 我们可以只搜索前三条命令。找到符合前三条命令的,我们在对照接下来的命
该专栏主要翻译国外知名安全厂商的APT报告,了解它们的安全技术,学习它们溯源APT组织和恶意代码分析的方法,希望对您有所帮助。当然,由于作者英语有限,会借助机翻进行校验,还请包涵!
几个小时前,Python 之父 Guido van Rossum 宣布了他已经加入微软的消息。
普通游戏和桌面操作自动化,所有鼠标键盘模拟操作都只需 DD_btn , DD_mov , DD_whl,DD_movR 四个操控鼠标的函数和 DD_key 一个操控键盘的函数即可完成。
背景是曾经友情支持了测试组一小段时间,发现他们使用selenium做页面的自动化测试,需要用到XPath,但IE下没有获取XPath的工具,只能在Firefox和chrome下获取,步骤还比较麻烦。而且有些页面在chrome和ie生成的代码的不一样的,所以chrome下获取的xpath,到ie下就无法工作,只能自己在ie下查看页面元素自己写xpath,痛苦而且效率低下。
本节将介绍如何使用Windows API中的SetWindowsHookEx和RegisterHotKey函数来实现键盘鼠标的监控。这些函数可以用来设置全局钩子,通过对特定热键挂钩实现监控的效果,两者的区别在于SetWindowsHookEx函数可以对所有线程进行监控,包括其他进程中的线程,而RegisterHotKey函数只能对当前线程进行监控。
在HTML5的规范中,我们可以通过为元素增加 draggable="true" 来设置此元素是否可以进行拖拽操作,其中图片、链接默认是开启拖拽的。
HTML属性 HTML 元素可以设置属性 属性可以在元素中添加附加信息 属性一般描述于开始标签 属性总是以名称/值对的形式出现 如:class=”a” 不同属性之间用“空格”隔开 HTML属性和属性值之间用“=”连接。 属性名 描述 accesskey 设置访问元素的键盘快捷键。 class 规定元素的类名(classname) contenteditableNew 规定是否可编辑元素的内容。 contextmenuNew 指定一个元素的上下文菜单。当用户右击该元素,出现上下文菜单 data- 用于存储页面
OllyDbg是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器,非常容易上手,是当今最为流行的调试解密工具之一。它还支持插件扩展功能,是目前最强大的调试工具之一。
前几天在论坛看到想保护公司的服务器共享文件的安全,但是员工自己的电脑总是忘记关闭关机,想再设置一个密码。可是这样不应该先解决一下员工电脑总是忘记关的问题么?
Delphi共有5个编辑控件组件,Edit、Memo、MaskEdit、RichEdit(该控件不是标准Windows控件)和SpinEdit(数字编辑框),在此讨论因为它与其他编辑控件有许多相同的特点。
文章说明:为了方便我自己查找easeljs的所有事件,所以我从easeljs的文档里抄过来加上自己的翻译,会慢慢补全,漏了的,错了的,评论一下我会补上去哦。(不确定翻译对不对的地方我会留着原文。)
mourseover和mourseenter都是鼠标移入元素时触发,不同点:mourseover无论鼠标移入被选元素 还是被选元素的子元素都会触发。mourseenter只有移入被选元素才会触发;
HTML5学堂(码匠):昏暗的场景下,查看任何的图片、效果都会给人不适的感觉,所以人们往往喜欢在明亮的场景中来体验世界的美好。 对于前端开发来说,想要让用户能在更明亮的状态下查看各种图片,那就必须为页
MIT的研究人员建立了一个「人工智能框架」——从发表过的论文登出版物中收集模式,通过学习,识别出对未来将会产生巨大影响的技术,并发出「早期提醒」。
前言: Indy在2006年已经开始移植到FPC下,但是由于各种原因一直更新得比较缓慢,现在官网上的最新版本发布时间是2007年底。随着Delphi2009(Tiburn)的发布,Indy团队已经将for FPC的版本合并到for Win32的版本中,Lazarus就此获得了最新Indy版本的支持。下面我们就将一步一步来探讨Indy在Lazarus0.9.26中的安装方法。 要在Lazarus中安装最新的Indy,首先我们必须获取其最新的代码,由于现在Indy的代码使用SVN作为版本控制软件,所以我们必须先安装SVN客户端的软件。这里就根据Indy官网的推荐,选择使用TortoiseSVN作为SVN客户端。(下载地址:http://tortoisesvn.tigris.org/)。 具体操作步骤:
有朋友在群里问黑客编程如何学习?这个题目也是一个可大可小的问题,因为黑客编程没有一个死的界限。不是说到什么级别就算或者不算,同样是属于黑客技术,也有简单和复杂之分。 总体来说,要成为较为资深的黑客编程者,你需要掌握以下一些必不可少的编程技术知识: 1,C、C++编程 作为一个比较底层和功能强大的编程语言,黑客基本上是必备的。虽然也有一些玩黑的人删除用Delphi甚至是易语言等这种,单纯编写木马还可以,但不是主流,这类编程很多依赖于系统接口,而系统函数几乎都是用C/C++编写而成,很多数据结构,函数等
前段时间,在正式项目中使用Python来读取Excel表格的数据。具体需求是,项目数据库中有些数据需要根据Excel表格里面的数据进行一些调整,功能应该比较简单。为了学习Python,决定使用Delphi+Python来实现。Delphi中是使用PythonForDelphi控件来加入Python引擎的。实现整个功能用了大半天时间。
svn checkout http://python4delphi.googlecode.com/svn/trunk/ python4delphi-read-only
首先,这里是要用到的素材,里面包含着各个宝石的图片和背景这张坐标图(全是用 画图 三分钟做出来的hhh,听说画图要被删有点伤心)
canvas 没有提供为其内部元素添加事件监听的方法,因此如果要使 canvas 内的元素能够响应事件,需要自己动手实现。实现方法也很简单,首先获得鼠标在 canvas 上的坐标,计算当前坐标在哪些元素内部,然后对元素进行相应的操作。配合自定义事件,我们就可以实现为 canvas 内的元素添加事件监听的效果。
一般情况下,如果没有经过特殊处理,移动端浏览器在派发点击事件的时候,通常会出现300ms左右的延迟。也就是说,当我们点击页面的时候移动端浏览器并不是立即作出反应,而是会等上一小会儿才会出现点击的效果。在移动WEB兴起的初期,用户对300ms的延迟感觉不明显。但是,随着用户对交互体验的要求越来越高,现今,移动端300ms的点击延迟逐渐变得明显而无法忍受。
大概的意思就是,显示在终端上的数据会经过匹配,如果符合一定的规则,则可以按住ctrl,使用鼠标单击以触发指定操作。
1、C:\Program Files (x86)\Borland\Delphi7\Bin\delphi32.exe。
【案例:下拉菜单】 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style type="text/css"> * { margin: 0; padding: 0; } ul { list-style: none; }
可以看到当获取焦点的时候,就立即弹出alert()。 其实通过focus()函数只是简单用来初始化文本框的焦点输入的而已,如下:
3、依次选择Data –> Resources –> ScriptTemplates
领取专属 10元无门槛券
手把手带您无忧上云