『桐』Ver.8による実用一括処理集(23)

『五十音のけいこ』gozyuon.html 《作品へ戻る》 《玄関へ

(1)「ひらがな」または「カタカナ」を選びます。
    

(2)「あ」行などの各行の虫食い数を設定します。
   
   
(3)虫食いの位置を乱数処理をおこない、フォームで問題を表示します。
   各行単位で枠内の文字を消すこともできます。
   

(4)正解(赤色)を表示するには空欄の枠内をクリックします。(枠上の番号をクリックすると黒色で表示します)
   

(5)出題した問題を直ちに印刷することもできます。
   

(6)データ表 文字の通し番号、行グループ番号(あ行は1)、平仮名全(あ〜ん)、片仮名全(ア〜ン)、
  空欄(虫食いを発生させる項目)、乱数(乱数処理用)の項目からなります。
   

(7)演習用プリント(プレビューしたもの)欠けている文字群を下に表示することもできます。
   データは変数から表示しています。(下記の一括処理を参照してください)
   レポートのヘッダ部とフッタ部で表示しています。対象表は1行だけで番号の項目に1だけが
   入力され他の項目は全て未定義の、ダミー表を使っています。
   

☆一括処理、イベント処理
 (1)一括処理 (一部)
  名札 五十音虫発
         &LN=1
       繰り返し &LN=1,7          (「あ」〜「ま」行の各行単位で虫食いを発生させる)
         絞り込み [行]{=&LN}
         &N=1
           繰り返し &N=1,&虫くい数
             &虫1=#乱数(5)+1
             ジャンプ 行番号=&虫1
             行訂正 [空欄]=""
           繰り返し終了
         手続き実行 表初期化
       繰り返し終了
       絞り込み [行]{=8}          (「や」に虫食いを発生させる)
        &N=1
         繰り返し &N=1,3
            &虫1=#乱数(4)
            条件 (&虫1>0) ジャンプ 行番号=&虫1
            条件 (&虫1>0) 行訂正 [空欄]=""
         繰り返し終了
        手続き実行 表初期化
       絞り込み [行]{=9}          (「ら」に虫食いを発生させる)
        &N=1
         繰り返し &N=1,&虫くい数
            &虫1=#乱数(5)+1
            ジャンプ 行番号=&虫1
            行訂正 [空欄]=""
         繰り返し終了
        手続き実行 表初期化
       絞り込み [行]{=10}         (「わ」に虫食いを発生させる)
        &N=1
         繰り返し &N=1,2
            &虫1=#乱数(3)
            条件 (&虫1>0) ジャンプ 行番号=&虫1
            条件 (&虫1>0) 行訂正 [空欄]=""
         繰り返し終了
        手続き実行 表初期化
       絞り込み [行]{=11}         (「ん」に虫食いを発生させる)
            &虫1=#乱数(2)
            条件 (&虫1>0) ジャンプ 行番号=&虫1
            条件 (&虫1>0) 行訂正 [空欄]=""
         手続き実行 表初期化
        位置指定 行番号=先頭
     繰り返し &N=1,46           (虫食いを発生させた五十音を変数&YOKOに取り込む)
        &YOKO[&N]=[空欄],&YOKOB[&N]=#cond(&かな=1,[平仮名],&かな=2,[片仮名])
        ジャンプ 行番号=次行      (正解表示のために平仮名または片仮名を変数&YOKOBに取り込む)
     繰り返し終了              (フォームやレポートでは、変数のデータを使用しています。)
      &N=1
  手続き終了
  *−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
  名札 答候補準備              (プリントに虫食いされている文字群を表示する)
     書き出し 表,&TBL3,*
     表 &TBL3 表番号=3
      編集表 &TBL3
       絞り込み [空欄]=""        (虫食いの行を絞り込む)
       置換 [乱数]=#乱数(100)     (乱数で行を並び替える)
       並べ替え {[乱数]昇順}
        &N=1
        繰り返し ( .not #終端行 )    (虫食いされた文字を変数&KOUHOに取り込む)
           条件 (&かな=1) &KOUHO[&N]=[平仮名]
           条件 (&かな=2) &KOUHO[&N]=[片仮名]
           ジャンプ 行番号=次行
           &N=&N+1
        繰り返し終了
      編集表 &TBL1
  手続き終了

 (2)イベント処理 (一部)
  名札 メイン

  ******************* 虫くいの文字表示(各虫くいのテキストを左クリックした時)
  手続き定義開始 テキスト_1::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
    オブジェクト操作 @テキスト_1{文字色モード="指定色",文字色="赤",ソース = #COND(&YOKOB[1]="","",1,&YOKOB[1]) }
  手続き定義終了
  
  ******************* 文字再示(番号ラベルを左クリックした時)
  手続き定義開始 ラベル_1::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
    オブジェクト操作 @テキスト_1{文字色モード="指定色",文字色="黒",ソース = #COND(&YOKOB[1]="","",1,&YOKOB[1]) }
  手続き定義終了

  ******************* 各行の文字消去(1行目〜11行目のクリアボタンを左クリックした時)
  手続き定義開始 コマンドボタン_107::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
    オブジェクト操作 @テキスト_1{ソース=""},@テキスト_2{ソース=""},@テキスト_3{ソース=""},@テキスト_4{ソース=""},@テキスト_5{ソース=""}
  手続き定義終了

                                   作品へ戻る》 玄関へ