2017-05-24 42 views

回答

0

一個好的開始是看RPG Manual然後開始研究DDS。那裏有大量的文件。只要搜索「iseries」,然後選擇你的主題。

2

與其他語言不同,RPG專爲商業程序構建。因此它沒有像C或Java這樣的內置控制檯IO。相反,用戶交互傳統上是通過一個稱爲模擬數據庫IO的設備文件的對象。但是,有一個操作碼可用於訪問外部消息隊列,並可發送消息並接收答覆。該操作碼是DSPLY。這是相當有限的,你只能顯示一個52個字符的消息,但會爲此目的工作。一個真正的解決方案,你想要用戶IO將涉及一個顯示文件。但要得到的東西像什麼你所要求的類似其他語言的方式,你可以寫:

ctl-opt Option(*SrcStmt : *NoDebugIo: *NoUnref) 
      DftActGrp(*No) ActGrp(*New) 
      Main(temprature); 

    dcl-proc temprature; 

    dcl-s degreesC  Char(15) Inz(''); 
    dcl-s degreesF  Char(15) Inz(''); 

    dsply 'Enter temprature in degrees F' '*EXT' degreesF; 
    degreesC = %char(
     (%dec(degreesF:15:0) - 32) * 5/9 
    ); 
    dsply ('Temprature in degrees C is: ' + degreesC); 

    return; 
    end-proc; 

dsply有三個參數,消息,消息隊列,併爲一個變量回復(它必須是一個字符變量)。第二個dsply只是包含在括號中的消息可以是一個表達式。沒有回覆,並且它默認發送到* EXT消息隊列用於交互式作業。

注意:DSPLY是真正有用的只有測試和調試,並且只有有限的實用程序。面向用戶的程序會使用顯示文件或其他方式與用戶進行交互,例如使用CGIDEV2庫進行瀏覽。

相關問題