tomhe666 发表于 2013-8-7 19:45:16

蛋疼的delphi语法

最近换一个新工作, 新公司要用delphi , 学了几天delphi,   习惯了C++的飘逸,感觉delphi好蛋疼啊;

比如:
var
   pb :^byte;
   pd : ^ byte;
   
   然后pb := pd; 这句死活编译死活通不过,提示类型不兼容,蛋疼了一下午找不到原因。

   

senjet 发表于 2013-8-7 20:01:58

本帖最后由 senjet 于 2013-8-7 20:03 编辑

pd : ^ byte;多了个空格,你没发现吗?

senjet 发表于 2013-8-7 20:03:01

delphi语法很严格,熟悉后你会发现这是个很大的优点。

tomhe666 发表于 2013-8-7 20:05:36

不关空格的事,那个是我刚才打字没弄好, 另外我用的delphi 2007

senjet 发表于 2013-8-7 20:07:34

刚试了一下,即使多了个空格,也没问题啊。我用的是Lazarus试的:
procedure TForm1.Button1Click(Sender: TObject);
var pb:^byte;
    pd:^ byte;
begin
pb:=pd;
if (pb=pd) then
   begin
   showmessage('ok');
   end;

end;

tomhe666 发表于 2013-8-7 20:30:52

我用的delphi 2007有这问题而且函数中参数中也不能有这种格式如:function test(pb : ^byte):integer; 这种是编译通不过的
以上两种情况把^byte换成pbyte全能通过

蓝色の理想 发表于 2013-8-22 16:23:45

和Pascal一样的吧?

Appcat 发表于 2013-8-22 16:30:25

楼主说的不关delphi的事,是Pascal语法严谨所致。

tomhe666 发表于 2013-8-23 07:58:03

Appcat 发表于 2013-8-22 16:30 static/image/common/back.gif
楼主说的不关delphi的事,是Pascal语法严谨所致。

关键我不明白这哪里不严格了,为什么下面这种方会会提示类型不兼容, 还有为什么函数参数列表中的变量声明不能用^Byte,而放在函数体中去可以.
   pb :^byte;
   pd : ^ byte;
   pb := pa;

aleyn 发表于 2013-8-23 08:28:12

用了十几年Delphi,没见Delphi语法蛋疼,只是语法严谨而已。
目前我手头上使用的语言有Delphi, C/C++, PHP, Java。
比较喜欢Delphi和Java的语法,比较喜欢Delphi的编译速度,比较喜欢C/C++的执行效率,比较喜欢PHP的方便性。

XIVN1987 发表于 2013-8-23 08:44:18

aleyn 发表于 2013-8-23 08:28 static/image/common/back.gif
用了十几年Delphi,没见Delphi语法蛋疼,只是语法严谨而已。
目前我手头上使用的语言有Delphi, C/C++, PHP, ...

PHP不是用来编网页的吗???除了网页还可以干什么啊???

aleyn 发表于 2013-8-23 08:52:15

XIVN1987 发表于 2013-8-23 08:44 static/image/common/back.gif
PHP不是用来编网页的吗???除了网页还可以干什么啊???

写脚本也一样可以。{:titter:}

vtte 发表于 2013-8-23 08:57:08

XIVN1987 发表于 2013-8-23 08:44 static/image/common/back.gif
PHP不是用来编网页的吗???除了网页还可以干什么啊???

可以做很多事情,我经常用php当高级批处理来用,非常方便。
页: [1]
查看完整版本: 蛋疼的delphi语法