命令列CALL程式時傳遞數字引數總結(轉)

BSDLite發表於2007-08-12
命令列CALL程式時傳遞數字引數總結(轉)[@more@]  設程式 PgmA 有引數 Parm1, Parm2:
  1)parm1(7S 0) = 276,parm2(7S 2) = 15.73
  
  傳遞方式:CALL PGMA PARM('0000276' '0001573')
  
  2)parm1(7S 0) = -276,parm2(6S 2) = -15.73
  
  傳遞方式:CALL PGMA PARM('-000276' '-01573')
  
  3)parm1(7P 0) = 276, parm2(7P 2) = 15.73
  
  傳遞方式:CALL PGMA PARM( X'0000276F' X'0001573F')
  
  4)parm1(6P 0) = 276 , parm2(6P 2)=15.73
  
  傳遞方式:CALL PGMA PARM( X'F000276F' X'F001573F')
  
  5)parm1(7P 0) = -276 , parm2(6P 2)=-15.73
  
  傳遞方式:CALL PGMA PARM( X'0000276B' X'F001573B')
  
  總結:
  對於S型別的引數,只要按照字串的形式,在沒有數字的位置補0,不用輸入小數點,就可以得到正確的結果,如果是負數,在第一位輸入負號 - 即可,但是會佔用一個數字位,7位的負數就只能輸入6位數字了。
  
  對於P型別的引數,數字部分按照S型別的一樣輸入,還需要在字串前加 X,並且如果長度為奇數,需要給字串加 F 字尾,如果長度為偶數,需要在字串的前後都加 F。如果是負數的,需要把字串後面的F變為B。(X表示按16進製取值,由於P型別的資料儲存方式是半個位元組儲存一個數字,所以需要在前後加其它的字母補齊空位。)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-949510/,如需轉載,請註明出處,否則將追究法律責任。

相關文章