掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
30x30の画像をつくる (ID:80587)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
浮動小数点の変数(xとy)をFor〜Nextの条件に使用している為、 誤差が発生しています。この為、ループ回数が自分の思ったと おりの回数で回っていません。 試しに、以下のコードを実行して見てください。 Private Sub Command3_Click() Dim I As Double Dim GR As Double Dim X As Double GR = 56.7 '1グリッドの幅 Debug.Print "--- 743の場合 ---" I = 0# For X = 743# To 743# + (30# * GR) Step GR Debug.Print "X(" & Format(I, "00") + ") " _ & CStr(X = 743# + (I * GR)) I = I + 1 Next X Debug.Print "--- 744の場合 ---" + vbCrLf I = 0# For X = 744# To 744# + (30# * GR) Step GR Debug.Print "X(" & Format(I, "00") + ") " _ & CStr(X = 744# + (I * GR)) I = I + 1 Next X End Sub 実行結果で、"False"と出ているところは条件が不一致のため 一回分ループが回らないということになります。 対策としては、ループの変数は整数型の変数にして、ループの 中で表示する座標を計算するようにすると良いです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.