掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
配列間のコピー (ID:6446)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
実際のコードはかなり長いので注目している部分を抽出して書きます。 色々やってみたのですがどうも代入の方法が悪いのではなくて、 配列の宣言等が悪用に感じます。 下記’ColB[k][ColCounB[k]]:=ColA[i] ; //代入’のところを’ ColB[k][ColCounB[k]].Col:=1; としてもだめです。 interface uses SysUtils; type TMyCol = packed record Col : Byte ; // 色 typ : Byte ; end; type TTMyCol = array of TMyCol ; ColACount : Integer ; ColCountB : array [0..255] of Integer ; var ColA : array of TTMyCol ; ColB : array[0..255] of TTMyCol ; function SetCol() : Boolean ; implementation function SetCol() : Boolean ; var w,k : Word ; i : Integer ; begin for i:=0 to (CalACount-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][ColCounB[k]]:=ColA[i] ; //代入 ColCountB[k]:=ColCountB[k]+1 ; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.