新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:関数の作り方?について IKD さん [ 5月10日(土) 13時3分 ]

    EnterpriseServer では TODIGIT という名前のサブルーチンが
    提供されています。
    AutoWeb や TONAKAI では通常の CGI のように文字−>数字の変換を
    全く考慮する必要はありませんが、CGI では確かに必要となります。
    以下の TODIGIT のソースを示します。
    プロシージャーにすれば関数のように利用することもできます。


    ソースは http://218.44.135.18/QSYS.LIB/PGMRLIB.LIB/QRPGLESRC.FILE/TODIGIT.MBR


    0001.00 C******************************************************               
    0002.00 C     TODIGIT       BEGSR                                             
    0003.00 C******************************************************               
    0004.00 C*  文字 CHR30 の値を数字の DIGIT (30,5) に置換えます。               
    0005.00 C*ラ 例 ン ----------------------------------------------               
    0006.00 C*                  MOVEL     MYCHR         CHR30                     
    0007.00 C*                  EXSR      TODIGIT                                 
    0008.00 C*                  Z-ADD     DIGIT         MYDIGIT                   
    0009.00 C*-----------------------------------------------------               
    0010.00 CSR                 MOVE      *BLANKS       FGO               1       
    0011.00 CSR                 Z-ADD     0             DIGIT            3005     
    0012.00 CSR   ' '           CHECKR    CHR30         SIZE#             4 0     
    0013.00 CSR   SIZE#         IFGT      0                                       
    0014.00 CSR   1             DO        SIZE#         CNT               4 0     
    0015.00 CSR   1             SUBST     CHR30:CNT     FLD1              1       
    0016.00 CSR   FLD1          IFGE      '0'                                     
    0017.00 CSR   FLD1          ANDLE     '9'                                     
    0018.00 CSR                 MOVE      FLD1          DG01              1 0     
    0019.00 CSR                 MULT      10            DIGIT                     
    0020.00 CSR                 ADD       DG01          DIGIT                     
    0021.00 CSR                 ELSE                                           
    0022.00 CSR   FLD1          IFEQ      '-'                                  
    0023.00 CSR                 MOVE      FLD1          FGO               1    
    0024.00 CSR                 END                                            
    0025.00 CSR                 END                                            
    0026.00 CSR                 END                                            
    0027.00 CSR                 END                                            
    0028.00 CSR   FGO           IFEQ      '-'                                  
    0029.00 CSR                 Z-SUB     DIGIT         DIGIT                  
    0030.00 CSR                 END                                            
    0031.00 CSR                 MOVE      *BLANKS       CHR30            30    
    0032.00 CSR                 ENDSR     

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