【私人笔记】今年以来的delphi学习笔记整理(主要选自围脖,更新到Aug10th)

【程序猿】为什么说吸井比吸佳佳优越?答:因为“井”号可视为四个加号所组成!

 

 【程序猿】设计一个对象,就要有属性和函数。函数的作用是简化外界输入,就像调钟表,你要拧外面的旋钮,而不是用螺丝刀撬开之去调齿轮。

 

【程序猿】(今后如不特别说明,语法全是delphi适用。)整个unit使用的最后一个end,是以句号告终,而不是分号!

 

【程序猿】delphi里的字符串使用单引号而不是双引号!可以有空格。

 

【程序猿】有没有不使用定时器又能延时的函数?C里有delay,delphi里有无返函数sleep。但sleep会引起程序停滞,且十秒以上时间不准。但有gettickcount该有返函数获取时刻,用它自定义延时函数即可。

 

【程序猿】惊喜发现等宽字体:gulimche,fixedsys,courier

 

【程序猿】对象的覆盖与重载,不是一回事。

 

【程序猿】面向对象和面向过程确实是不同的哲学。今后就用围脖做学习笔记吧,都是初学者遇到的问题。对你们可能丝毫不构成及时雨,望同猿们原谅我刷屏。

 

 

【程序猿】比如说,父子两代,都是搞工科的。父亲对毕业分配的响应是“我是□□一块砖,东西南北任□搬”,他那八十后的儿子呢,对此响应是“我非国家出钱培养,凭什么…”。这就叫覆盖(override)!在对象的继承中,儿子会有些变化,但儿子不会用自己的主见改变上一代。

 

【程序猿】如果没有覆盖,孝子即肖子,那新的Type也没有存在意义了。

 

【程序猿】至于重载(overload),与多态无关,甚至不是从面向对象时代才开有的。

 

【程序猿】对象的函数中的静态方法,不能覆盖。在后代对象中声明相同名称的静态方法,将演变前辈方法。

 

【程序猿】一个unit中漂浮着诸多函数。被引用的那种函数在面向过程时代就熟悉了,叫子程序函数。此外,就是那种因G点被触动而进入的函数了,我称它们句柄函数。它们像单片机里的中断函数。

【程序猿】这些句柄函数也有中断优先级吗?有的。设两个button在onclick事件上敏感,当函数button2click运行时,button1click就暂停,等2完了1原地继续。(简称后来居上原则)。如果你快速点两下button2,那么机器会记账,函数运行完一次后再整下一次。

 【更正】上条作废。不同中断源之间根本没有“后来居上”原则,而一律是排队,或云记账。

 【更正】像定时器ontimer事件,也不是记账的。故程序设计一定要足够抗震,即不要按敲钟几次决定循环次数,而是看循环的效果是否达到了。

 

【程序猿】三级跳:C,C++.VC或者是pas,Opas.delphi。第一次跳有了面向对象,二次有了可视化编程。可视化编程不是为了方便拖控件的,而是呼唤做控件的。

 

【程序猿】或许说,其实是有主函数的。就是不为我们所见的declarations。(听说delphi也可以编译带有winmain函数的程序。)可视化编程里,他们写的这两段(秘密和公开)帮我们省去很多负担。自己只要说出部件的大小、颜色等,它就能给我画出来。

 

【程序猿】绘图有三种方法。第一,调用shape控件;第二,调用image控件;第三,canvas.

 

【程序猿】实验表明,keydown函数果然支持多键同按的检测。当然,倘若键盘自己有键位冲突谁也拦不住。

 

【程序猿】canvas像是黑板上的粉笔画,而shape,image像是画片粘在黑板上了。图层关系呢?首先form的颜色肯定是最低层。实验表明,画片们是shape还是image不重要,重要的是谁先拖进窗口,它们遵循后来居上。

 

【程序猿】那么它们和canvas的关系如何呢?运动着的画片,对于已经画出的笔迹,有橡皮般的作用。在静止的画片上来一笔,会留下,但只要该画片稍稍一动,哪怕变色的活动,都会使覆上的笔迹再度消失。

 

【程序猿】不管画片,那么笔迹与笔迹相遇,怎么图层法?这个,想象瘟到死的画笔功能,你就明白了。

 

【程序猿】思考题:先拖进一个圆,后拖进一个方,在方上用canvas画一个polygon,让那圆在程序运行中路过它,会怎样?

 

【程序猿】对于用惯了jnz,sjmp指令的人而言,要他在结构化编程里彻底消灭goto是很难的。对于面向过程习惯者,面向对象(OOP)也一时难以适应。

 

【程序猿】实验表明,盗匪不支持在同一函数中多次修改窗体颜色。激励函数完毕后,跳回真正的主函数,它会变成最终颜色,中间语句时间耗了,观察效果却没有。但多次修改窗体透明度可以!

 

【程序猿】既然盗匪没有主函数,它也就没有了时间轴。它的流程图写法自然与basic时代不同了。

 

【程序猿】所以这里的流程,各环节没有先后之分。就像《图论》中的图,无论怎么扭曲拉伸,只要节点关系没有脱落与重接,图就还是原来的图。

 

 

 

很多看似简单的不简单,看似不简单的简单。窗口抖动?窗口的位置,不是只有windows可以决定吗,只有用户的光标可以控制吗,程序怎么能自作主张呢?这在delphi里其实很容易,窗口的坐标值可以赋值的。而窗口不动,其中画面抖动却很难,因为这需要一系列绘图指令。

 

http://weibo.com/u/1134934137

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值