最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

9.20.CHECKとCHEKRの使い方

[ Previous ] [ HOME ] [ Upper ] [ Next ]


実は、今回、あるプログラムで、配列を使っていた部分を、新しいコードで置き換えようと、CHECKとCHEKRを利用したのですが、結構、つまずきました。みなさんが、こんなことの無いように、このページを作りました。

やりたいこと。

下図の、水色の部分の長さを求めたい。4と13はシングルコーテーションです。1から3、14から25は空白です。

この25バイトのフィールド名を「FLD001」とします。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
      '       ,   0   - '                        
CHECK 8byte CHEKR

さて、方法としては、配列にとって、1から25まで片っ端から調べる手もあるのですが、もっとスマートな方法として、CHECKとCHEKRがあります。

失敗

早い話、12 - 5 + 1 = 8とすればいいのですよね。つまり、左からは、シングルコーテーションの次の番号(5)、右からは、シングルコーテーションの一つ左の、番号(12)がわかればいいのです。

実は、最初、

     C           ''''      CHECK FLD001:1  LL 
     C           ''''      CHEKR FLD001:25 RR                 

実は、これでは、 うまくいきません。LL=4,RR=13となると思っていたのですが、LL=1で、RR=25となります。

なぜか

実は、私はいつも、スペース位置の検索にCHECKを使っていたのですが、この命令コードは、演算項目1と「違う」値を見つけた位置を返すのです。シングルコーテーションと違う、最初の最左端は1のスペースです。逆に、最右端も、同じく、スペースです。それで、LLもRRもスペース位置を返してきたのです。

成功

そこで、

     C           ' '       CHECK FLD001:1  LL  
     C           ''''      CHECK FLD001:LL LL
     C           ' '       CHEKR FLD001:25 RR
     C           ''''      CHEKR FLD001:RR RR                

最初の一行で、まずLLは4になります。スペースでないのは、シングルコーテーションの4だからです。さらに、次の行で、その4を開始として、最初にシングルコーテーションにならない番号は5(スペース)となります。

今度は、開始位置を25として、右から左へ検索すると、最初に見つかるのは、13です。つまり、RR=13となります。その次に、その13を開始位置として、シングルコーテーションでないものを検索すると、12の-(ハイフン)となります。つまり、その次の行で、RR=12となります。

このLLからRRの長さを求めるのですから、

RR - LL + 1 = 12 - 5 + 1 = 8

となり、8文字という答えが出ました。

※これだと、配列は使わないで、いけるのですが、パフォーマンスがどうかは、わかりません。それから、SCAN(結局これと勘違いしていた私)でも、できそうですね。SCANの方が、ステップさらに、短いかも。


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

過払い金の回収ならこちら 生命保険の切り替えはココ そろそろ結婚適齢期???
[PR] | 花粉症債務整理中国SEO対策消費者金融SEO車 買取テンプレート沖縄旅行免許合宿二輪引越しプレゼントゴルフ会員権留学レーシックマッサージFX投資信託くりっく365アフィリエイトFXホームページ制作デイトレードハワイ旅行タイバンコクハワイ レンタカーベスト ハワイ ホテル レーツバリ島Hawaii hotelsHawaii Activitiesbhhrハワイホテルテキスト広告
【運営会社「パラダイムシフト」サービス】 ハワイ現地オプショナルツアーリラックマ) - ビジネスクラス航空券 - 格安航空券(1) - 格安航空券(2) - 海外ホテル - 韓国旅行 - タイムシェア - ホテル 予約
無料ホームページ - 携帯ホームページ - 無料ホームページ作成 - レンタルサーバー - ブログ - ヴィラ - ハワイ コンドミニアム - バリ島 ホテル - プーケット ホテル - 海外旅行 - 格安国際電話 - レップチェッカー - ホノルルマラソン - サイトパトロール - 誹謗中傷 - 学校裏サイト監視