2012-04-03 69 views
2

我想转换一个从C到德尔福循环,但我有一些疑问:转换C“for”循环德尔福

我知道这个代码在C:

 for (i = 0; i < mb->size; i++) 
     { 
      //... 
     } 

是这样的德尔福:

 for i := 0 to mb.size do 
     begin 
      //... 
     end; 

但是这个C代码如何:

 for (i = 0; i < mb->size; i+= mb->data_size) 
     { 
     //... 
     } 

可能在德尔福看?

 ? 
+1

1)被写入使用 “而” 循环,而不是 “为” 2)C和Delphi的例子是*不*一样。德尔福应该阅读“for i:= 0 to mb.size - 1 do” – paulsm4 2012-04-03 02:37:55

回答

10

您不能在delphi中使用for来做到这一点,因为用于迭代的变量不能被修改。

所以这个代码

for (i = 0; i < mb->size; i+= mb->data_size) 

可以使用,而

i:=0; 
    while (i<mb.size) do 
    begin 
    // do something 
    Inc(i, mb.data_size); 
    end; 
+0

完美地工作..非常感谢你! – paulohr 2012-04-03 02:46:23