掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
配列間のコピー (ID:6452)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Halbow です。 こちらでは以下のコードは正しく動作します。 type TMyCol = packed record Col : Byte ; // 色 typ : Byte ; end; type TTMyCol = array of TMyCol ; var ColA : TTMyCol ; ColB : array[0..255] of TTMyCol ; ColACount : Integer ; ColCountB : array [0..255] of Integer ; function SetCol() : Boolean ; var w,k : Word ; i : Integer ; begin ColACount := 100; SetLength(ColA,ColACount); for i := 0 to ColACount-1 do ColA[i].Col := Random(256); for i:=0 to (ColACount-1) do begin //色別に領域を確保 k := ColA[i].Col; ColCountB[k]:=ColCountB[k]+1 ; end; for i:=0 to 255 do SetLength(ColB[i], ColCountB[i]+1) ; for i:=0 to 255 do //とりあえず各色のカウンターを0にする ColCountB[i]:=0; for i:=0 to (ColACount-1) do begin k:=ColA[i].Col; ColB[k][ColCountB[k]]:=ColA[i] ; //代入 ColCountB[k]:=ColCountB[k]+1 ; end; end; procedure TForm1.Button1Click(Sender: TObject); begin Randomize; SetCol; Label1.Caption := IntToStr(ColB[ColA[0].Col][0].Col); Label2.Caption := IntToStr(ColA[0].Col); end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.