有谁知道如何使用原型在免费 RPG 中调用 *CMD 程序?就我而言,该命令有 10 个参数,我只想用 4 个参数调用它。
用 10/10 参数调用它是有效的。但是我如何用更少的参数来做到这一点?
有谁知道如何调用内部描述的子过程使用procedurepointer返回值.
我正在阅读ILE RPG手册并且卡在%PADDRBIF上,这让我可以获得程序的地址.例如,当动态决定我想要调用哪个procdure时,我可以使用if ... then ... else..endif和CALLP.但有没有办法将ifp外部化为if结构?像.NET中的委托,我可以在一个控件结构中定义委托并分配函数/ sub来调用.
我所知道的是如何定义PROCPTR以及如何在没有返回值的情况下调用过程.但是在处理返回值时我该怎么做.
以下是分配程序地址并调用程序itselfe的示例:
H**************************************************************************
H DEBUG DECEDIT('0,') DATEDIT(*DMY.) dftactgrp(*no)
H*
D**************************************************************************
D* Prototypes
D*-------------------------------------------------------------------------
D* -------------------------------------------------------------
D* Returns String 1
D* -------------------------------------------------------------
D GetStr1 pr 10a
D
D* -------------------------------------------------------------
D* Returns String 2
D* -------------------------------------------------------------
D GetStr2 pr 10a
D
D**************************************************************************
D* Definitions
D*-------------------------------------------------------------------------
D pPtrGetStr1 s * procptr
D pPtrGetSTr2 s * procptr
D string1 s 10a
D string2 s 10a
D
C**************************************************************************
C* M A I N …Run Code Online (Sandbox Code Playgroud) 有人可以解释我为什么不能使用%paddr()BIF 将内部过程的地址(存储在字符串变量中)分配给ProcPointer 吗?
我的想法是创建一个以数字为键的关联数组,以某个子过程的名称为值的关联数组。当用户在DSPF中输入数字2时,程序必须调用具有键“ 2”的过程。
据我了解,BIF %paddr()使用硬编码的过程名称或包含过程名称的字符串。但是,当给一个字符串变量时,编译器会抱怨的参数%PADDR无效。
我想将长度为 8 的字符串转换为日期类型以进行比较。该字符串的格式为 DDMMYYYY (*EUR)。
它没有将日期与月份和月份与年份分开的时间段。如果我向 %date BIF 输入一个类似 '01012018' 的值,编译器会告诉我该表达式对于 *EUR 格式来说太短了:
D dateEUR s d datfmt(*EUR)
C eval dateEUR = %date('01012018':*EUR)
Run Code Online (Sandbox Code Playgroud)
我以前比较两个日期的方法是取它们两个,将它们存储在数据结构中,用子字段重新排序日期,然后从重叠的子字段中获取重新排序的结果日期。
有没有人知道如何在 RPGLE 中将 8A 字符串转换为 DATE 类型?
在创建一个新的(空的)PhpStorm 项目时,我选择了 TypeScript 作为我的脚本语言,因为我熟悉 OOP 概念并且我喜欢它们。
使用 JS 访问 WebSQL 服务时,我可以编码
var db = window.openDataBase(name, version, displayName, size)
Run Code Online (Sandbox Code Playgroud)
但是使用打字稿执行此操作时存在问题。TS 不知道openDatabase出于什么原因的财产。
我已经阅读了一些帖子,它们都属于 Cordova/PhoneGap 的问题。由于我只是想做一个简单的WebApp,它检查本地商店是否有数据,然后显示数据,如果没有从服务器获取数据,这就太多了。正如我所说,这应该只是用户访问的网页,并且可以添加到他/她的主屏幕。而已。
“好老”的 WebSQL 对我来说是完美的,因为我的目标设备是 Android 和 iOS,它们都支持 WebSQL。问题是如何使用 TS 访问 openDatabase?
我从 Cordova 中了解到我通过 NPM 安装的 SQLite 插件。但是在那里我必须给出一个数据库名称。出于平台兼容性的原因,这一事实让我感到担忧。