2017-05-24 40 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库进行浏览。

相关问题