delphi 与 php 相关连的知识点总结.

为了维护xampps这项目, delphi还必须得会那么一点. 总不能碰到问题就问人吧, 感觉太不长进了. 经过几天的努力编写与学习, 以站在php角度来思考delphi, 感觉php强大的确是真理. 但delphi的理念是不错的, 可以从中看得出来, C#都在copy它.


1: 变量
  完全跟php是两码事, 每个变量都要先声明变量类型, string, Integer, Boolean..... 基本上跟php类似, 不过delphi多了许多特殊的类型. 如 TextFile, TStringList, 这就比较难理解了. 半天没有转过思维来.


2: 数组.
  php强大之处在于数组, 比如$arr['aa']='bb'; 这种数组在delphi里面怎么弄呢? 网上资料真的很少呀, 有人说用个控件, 有人说用hash表. 最后终于明白用. TStringList, 代码也有意思, 瞧瞧

portslist := TStringList.Create;
portslist.Add('aa=bb');
portslist.Values['aa'] // 这就能够取到bb的值了.

这样来玩数组, 我都惊呆了.



3: print_r()

   数组的值越来越多, 可怎么全局查看一下呢? php的打印函数多牛X, 在delphi这儿基本上就废了, 至今我还没找到好方法.



4: uses 

  这就相当于引用, 可这引用有点奇怪, 它支持 a, b两文件相互uses, 你似想一下, a.php include a.php, b.php再include a.php, 会是什么效果?  可delphi就能够支持. 还有一点特别的是, 每个pas文件头部都有引入写法, 原来, delphi不支持公共引入.  a.pas 引入b.pas后, a.pas并不知道b.pas文件引入了哪些文件, 它也无法使用.. 这没有php那么智能.



5: procedure, function.

  听说两者的区别就在于有没有返回值. 但我觉得, procedure更多的是对象的方法.  function则跟php类似, 单一的工作.



6: if 判断.

  delphi 在if中只支持布尔值, 你不能像php一样, if 'string' , 而要换成布尔值. 有一堆的toxxx类的方法可以调用. 或者你可以用 Length()函数来判断是不是大于0.  感觉很笨滴说..



7: 全局变量, 常量.

  变量在头部声明即全局性, 这跟js类似. 其它的在方法, 函数中, 则是局域性变量.  常量只能设置明文, 不能像php一样, 可以调用函数之类的. 函数中声明常量似乎也是局域性. 这让人有点头痛. 假如某个值是计算出来的, 怎么设置常量?

8: delphi xe5编辑器. 

   工欲行利于器, 是delphi最缺少的, 编辑器烂得很, 提示抽风, 文档也不内置, 没有折合, 光标定位混乱, 回车,tab键都跟我们平时使用的工具有所差异. 全英文版的xe5, 我已经无心吐槽了. 或许这就是影响delphi发展的原因吧, 一代语言没落是有因可追的, 你没见js没落, 也没见sqlserver没落, 那是因为微软一直在帮助开发者.



9: C#

  请不要叫我delphi程序员, 因为我玩delphi, 目的是学习C#.

End;


 

你可能感兴趣的:(C#,Delphi)