for文では値が一つ増減するだけしかしませんが、他はできないのでしょうか?
40づつ値を増やしていきたいのですがどうもうまくいきません。
var i:Integer;
t:Integer;
begin t := 100;
for i := t downto 13 do
begin ShowMessage(IntToStr(i));
i := i-39;
end;
とやればできるかと思いましたが、「ループ制御変数に代入されました」と
エラーがでました。
ループを作ればできるのでしょうか?残念ながら初心者の私にはわかりません。
ご存知の方ご享受願えないでしょうか?
突然ですが、あけおめです。
Delphiでは制御用の変数がループ内では代入できないようになっているため、
別の変数を用意してやる必要があります。
var
j: Integer; // <-追加
...
for i := t downto 13 do
begin
j := i * 40; // 40増やす(この場合減らす?)
end;
として、i*40の値を計算してやれば40ずつ増えた値が得られます
あけましておめでとうございます。
forを使わずにwhileを使えば、どんな風にでもカウンタを持つことができます。
明けましておめでとうございます。
Kenjiさん、にしのさんご解答ありがとうございます。
方法はわかったのですがあと一つだけ疑問があります。
それは、i := 10 to 83 //←これを10ずつ増やすとしたら
90になった時点で終了するのでしょうか?
またwhileで=を使うことはできるのでしょうか?普段は不等号しか
使っているのを見たことないものですから。whileで=が使えるならば
問題は解決するのですがどうなのでしょうか?
whileをヘルプで調べてみてください。
その上での質問であれば、等号、不等号の演算が返す値は、どちらもbooleanです。
色々考えた結果repeatを使ってやってみることにしました。
低レベルな質問に付き合っていただいたにしのさん、Kenjiさん、
どうもありがとうございました。
ツイート | ![]() |