名前 題名 ▼ Syakeさん > こんにちは、マスター > いやはや、私の常識=世間の非常識なのかな? > > //------------------------------------- > var > i :Integer; > begin > for i := 0 to Length(arrData) - 1 do > begin > if arrData[i].FXXX = XXX then > begin > ・・・ > //------------------------------------- > これって、普通ですよね。 > カウンター変数をカウンター内で使うって事は別段 > いかん事ではなかったと解釈しとります。 > > ところで > Type TarrData = array[1..31] of TXxxxx; > てのがあったとして下記の関数内手続きが存在する場合 > //------------------------------------- > procedure XXXXXXXXX(arrData :TarrData); > var > i :Integer; > begin > for i := 1 to 31 do > begin > if arrData[i].FFLG then > begin > arrrData[i].FXXX := XXXX; > ・・・ > //------------------------------------- > て、すると iが31→1へとカウンター内で変化している。 > たとえばarrrData[15].FFLG := True で他のarrData[X].FFLG := False > だった場合、i = 17 でTrueと判定する。(15番目だから?) > でも、判定文以外はi = 17で同様に見ているもんだから、当然正しい > 結果は返さない。 > この関数内手続きが呼ばれる前に関数内でバグってておかしくなってる > のか? でも、そんな事あるのかな? > 取り急ぎ、 > //------------------------------------- > procedure XXXXXXXXX(arrData :TarrData); > var > i,intIndex :Integer; > begin > intIndex := 1; > for i := 1 to 31 do > begin > if arrData[intIndex].FFLG then > begin > arrrData[intIndex].FXXX := XXXX; > intIndex := intIndex + 1; > //------------------------------------ > で、しのいだのですが、どうも???? > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link