■記事リスト / ▼下のスレッド
/ ▲上のスレッド
| ■15141 / 親記事) |
繰り返しコマンドについて
|
□投稿者/ ひで -(2025/10/23(Thu) 17:18:15)
| 「繰り返し」コマンドを使うときにあまり理解できていません 皆様の例題とか見ていますと、もっと簡略化できるのではと思っています
今回の場合ですと [連番]項目の1から21を順に選んで [連番2]項目を#連番で置換するという事です (皆様はすぐおわかりですよね・)
桐のホームページのヘルプで 配列変数(?)とか出てきて 繰り返し &回数 = 1,64 &氏名[ &回数 ] = [氏名]
なんのことだか分からないのですが・ こういう感じで、コマンドの意味がわかればもっと楽に利用できるのではと思い質問させていただきました
初心者過ぎる質問で申し訳ありませんが どなたか解説していただける助かります どうか、よろしくお願い致します
-------------------------------
変数宣言 整数{&回数, &回数2 }
表 ”AAA.tbl” &回数 = 1
繰り返し 条件 (22=&回数)繰り返し中止
並べ替え 条件名="番号" 絞り込み [連番]{=&回数} 置換 [連番2]=#連番 代入 &回数2=&回数+1 代入 &回数=&回数2 解除 * 繰り返し終了
名札 中止 終了
|
|
|
▽[全レス9件(ResNo.5-9 表示)]
| ■15146 / ResNo.5) |
Re[3]: 繰り返しコマンドについて
|
□投稿者/ ONnoji -(2025/10/24(Fri) 13:12:15)
| 2025/10/24(Fri) 16:37:02 編集(投稿者)
> >頭が回りませんでした。(^^ゞ > 直前値を使えば全体を1回置換だけでできるはずですね。
[ワンライン]コマンドで行けるかと思ったけれど、
インクリメントに使う変数:&実行リターン の初期化が必要でした。残念 (>_<)
以下に、組み込み変数:&実行リターン と #直前値を使った例を以下に示します。(^^ok
■ [置換]を使った例
データパス名 #一括パス名, 固定 = しない 表 "AAA" /* 桐9系か桐10系か不明なので、拡張子は省略しました */
並べ替え { [連番]昇順 } &実行リターン = 0 /* インクリメントに使う変数の初期化 */ 置換 [連番2] = #cond( [連番] <> #直前値( [連番],[連番] ), #代入( &実行リターン, 1 ), 1, #代入( &実行リターン, &実行リターン + 1 ) )
*終了
■ 表の定義
項目番号 項目名 データ型 1 連番 数値 2 連番2 数値
ちなみに、
一括処理や[フォーム+イベント処理]では無く、普通の対話操作ならば
表を開いて、
1.[変数管理]で組み込み変数:&実行リターンの値をゼロにする
2.[連番]で整列する
3.項目置換で計算式に式を入れて実行
と3ステップでOKです。
p.s.
単純に枝番を振るだけならば、今回の例の方が圧倒的に簡単ですね。アハハハハha
ただし、ちょっと見には、何なのか?分かり難いです。
トリッキーとまでは言えないですが、分かり難いのでトリッキーに近いですね。
しかし、ワンパスでグループごとに処理する場合には、No15144 の例が必要ですね。 ・・・・・・・・・・・・・・・・・・ ・・・・・・・・・
No15144 の例の方がが断然応用が効きますよ。v(^^)v
|
|
|
| ■15149 / ResNo.6) |
Re[4]: 繰り返しコマンドについて
|
□投稿者/ ひで -(2025/10/24(Fri) 16:15:54)
| みなさん、いろいろありがとうございました キチンと勉強してみます
|
|
|
| ■15154 / ResNo.7) |
Re[4]: 繰り返しコマンドについて
|
□投稿者/ うにん -(2025/10/24(Fri) 22:20:24)
| 変数を使わずに、 #直前値([連番2],0)+1 でできませんか。
#cond( [連番] <> #直前値( [連番],[連番] ), 1, 1, #直前値( [連番2] , 0 ) + 1 )
> No15144 の例の方がが断然応用が効きますよ。v(^^)v
まあ、DOS桐時代のテクニックですよね。
|
|
|
| ■15156 / ResNo.8) |
Re[5]: 繰り返しコマンドについて
|
□投稿者/ ONnoji -(2025/10/25(Sat) 00:37:23)
| ■No15154に返信(うにんさんの記事) > 変数を使わずに、 > #直前値([連番2],0)+1 > でできませんか。 > > #cond( [連番] <> #直前値( [連番],[連番] ), 1, 1, #直前値( [連番2] , 0 ) + 1 )
(例)
データパス名 #一括パス名, 固定 = しない 表 "AAA" /* 桐9系か桐10系か不明なので、拡張子は省略しました */
並べ替え { [連番]昇順 } 置換 [連番2] = #cond( [連番] <> #直前値( [連番],[連番] ), 1, 1, #直前値( [連番2] , 0 ) + 1 )
出来ましたよ。
p.s.
>>No15144 の例の方がが断然応用が効きますよ。v(^^)v > まあ、DOS桐時代のテクニックですよね。
いえいえ、同じグループ内の処理をするために Win桐でも非常に有効ですよ。 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
むしろ、枝番は副次的な効果ですね。 ・・・・・・・・・・・・・・・・
|
|
|
| ■15157 / ResNo.9) |
Re[6]: 繰り返しコマンドについて
|
□投稿者/ ひで -(2025/10/25(Sat) 10:14:25)
| すごいですね。。 高度すぎて、、笑 もっと勉強してみます ありがとうございます
|
|
|
■記事リスト /
レス記事表示 →
[親記事-9]
|