新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:2バイト文字列の比較方法 kayo さん [ 9月5日(水) 9時44分 ]

    > ILE-RPG で先頭文字より比較したのであれば
    > 
    > %SUBST を使って
    > D STR_1           C                   CONST(' 東京都港区
     ')
    > D STR_2           C                   CONST(' 東京都 ')
    > 
    >            IF        %SUBST(STR_1:1:7) = %SUBST(STR_2:1:7)
    >             :
    >            END
    > 
    > のようにして比較すればスマートな記述で正しく動作しますので
    > お試しください。
    > 

    IKDさん、ご回答ありがとうございます。

    D C#TEXT          C                   CONST(' 東京都港区 ')

    C          IF        C#TEXT = %SUBST(DBの項目ID:1:11)

    で試してみましたが、IF判定はFALSEになりました。
    %SUBST(DBの項目ID:1:12)でも試してみましたが、ダメでした。

    RE:2バイト文字列の比較方法 IKD さん [ 9月5日(水) 11時3分 ]

      それはダメだと思います。

      IF C#TEXT = %SUBST( ...) の C#TEXT には港区0/Fの0/F も比較の文字として
      含まれています。つまり 12 バイトです。
      従って この比較はつねに FALSE の結果となります。
      面倒でも IF %SST(C#TEXT:1:11) = %SUBST( ... ) として
      11 バイトとして 0/0f を比較からはずした IF文で比較してください。

お名前
パスワード
e-mailアドレス
タイトル
ホームページ
アドレス