Rob*_*ter 1 unix basic translate
我有这个文件http://pastebin.com/pH4Pk0sf没有扩展名,它可能是COBOL,因为它托管的计算机使用BASIC,COBOL和一些名为"KEY BASIC"...我不明白这个代码..我用一些线但不是全部......
我想将其转换为C#,但我不知道如果有人能告诉我它是哪种语言,也许我可以挖掘更多.
该程序读取另一个文件http://pastebin.com/rdbdappQ并为打印机创建输出...我需要知道它是如何工作的,以便使Windows程序(通过C#)做同样的事情. .
谢谢.
UPDATE
感谢您的帮助,我正在尝试重新创建代码,我看到这样的事情OPEN '3/1/TABPRESU' FOR RANDOM IO ELSE DISPLAY 'NO ABRE TABPRESU';STOP我不知道什么是"3/1/TABPRESU"当然它是一个文件,我有"TABPRESU"但是什么是"3/1"?不是FileSystem,因为它不存在,或者它可能是某种DataBase?
我们正在使用的程序是SovereignX,在UNIX下,它有一个选项UNIXCOPY,允许用户将文件从SovereignX复制到UNIX文件系统,我还没有找到任何关于SovereignX的信息......
找到一种方法来查看所有内容的源代码并重新创建它是极其有用的,我们在一个名为BE(批量输入)的命令下进行INPUT .我试图通过FTP将整个操作系统下载到USB驱动器(我不知道为什么机器不能启动UBUNTU LIVE USB,主板允许你启动它,但是没有发生,所以唯一的选择是通过FTP下载并尝试在一些虚拟机下运行它...
http://en.wikipedia.org/wiki/Northgate_Information_Solutions
Northgate购买Microdata(SovereignX的创建者),然后Mcdonell Douglas购买了Northgate ......这项研究正在杀死我......似乎一切都在某种数据库下,用DATA/BASIC和PROC编写
http://timmcnulty.iofm.net/realityx.htm
更新2 它是基本语言...但是如果我用NP ++打开文件有点乱,我需要从SovereignX导出然后它可以被读取...但用~100个文件这样做是极端的...有人知道KeyBasic IDE?谢谢
更新3 此程序具有的.DAT和.IDX文件,受密码保护,从控制台它不会要求我输入密码,但是如果我使用DBISAM Viewer,并且没有人知道密码...该死的
绝对是一种基本方言.相当古老的代码,所以没有什么太晦涩难懂.一个IF ...那么是一个IF ......然后.
编号的线之间的代码5和90(在引擎收录线10至38)是你的主处理循环.该GOSUBs在线条5000和9000是从子程序主循环调用.
不管方言如何,我在这里看到的几个更神秘的功能:
更新
我在第一次阅读时遗漏的东西:括号语法正在执行子串操作.那么,例如,你的pastebin第12行的代码,
IF R[26,2]='20' THEN GOSUB 9000;GOTO 5
Run Code Online (Sandbox Code Playgroud)
在比较字符26和缓冲液(与相关联的27 READ在线5)的字符串'20'.下一行,R[26,2]#30中,#是一个不等于到操作者.
更新
我和你在一起,并不是所有的格式化字符串都在doc中解释.但我怀疑Z,9和,工作就像他们在COBOL做.
Z:抑制前导零:如果相应的数字和左边的所有数字都为零,则打印空格,否则为数字,:如果左侧有空白/非零数字,则打印逗号,否则为空格9:打印相应的数字,即使它为零因此格式字符串为MDZZ,ZZ9:
0 prints as 0
12 prints as 12
123 prints as 123
1234 prints as 1,234
12345 prints as 12,345
Run Code Online (Sandbox Code Playgroud)
更新
OPEN您的pastebin中语句的语法与CachéMultiValueBasic和UniBasic的文档不完全匹配.但是,我可以猜测,字符串的一部分'1/1/FSNC0128S'代表了频道号1,而且它出现在同一个频道号中
5 READ R FROM 1 ELSE GOTO 90
Run Code Online (Sandbox Code Playgroud)
可以考虑像Perl中的文件句柄或C文件描述符中的通道号.
我会假设1字符串中的另一个是某种访问修饰符(尽管FOR RANDOM IO看起来似乎是矛盾的),并且只关注定位文件FSNC0128S.