2012-04-03 65 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