[あすかぜ・ねっと]あすかぜ・ねっと自作ソフトCassava > サポート掲示板

Cassava Editor サポート掲示板

スレッド一覧に戻る返信

[817] 重複チェック繰り返し

まくろしょしんしゃ [2024/02/28 15:35:24]

こんにちは。

x = 2;
for (y = 2; y <= Bottom; y++) {
  if ([x,y] == [x,y+1]&&[x-1,y] == [x-1,y+1]) {
    [3,y] =[3,y] + [3,y+1];
    DeleteRow(y+1);
  }
}

これだと上下隣り合うものだけのチェックになるので
3~行あるものは削除されません。
これを重複がなくなるまで行いたいのですが
どうすれば良いでしょうか?

Re: [817] 重複チェック繰り返し

あすかぜ [2024/02/28 21:44:39]

行を削除するとその行以降の行番号が変わってしまうので、すべての行をチェックするのが少し難しくなります。
下から上へ処理をするように書くとマクロが書きやすいかもしれません。

for (y = Bottom; y >= 2; y--) {
  if ([1,y] == [1,y+1] && [2,y] == [2,y+1]) {
    [3,y] = [3,y] + [3,y+1];
    DeleteRow(y + 1);
  }
}

このマクロでどうでしょうか?

Re: [817] 重複チェック繰り返し

まくろしょしんしゃ [2024/03/01 14:14:11]

なるほど!ありがとうございます。

スレッド一覧に戻る返信