Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 编码帮助(KeyBasic)_Unix_Translate_Basic - Fatal编程技术网

Unix 编码帮助(KeyBasic)

Unix 编码帮助(KeyBasic),unix,translate,basic,Unix,Translate,Basic,我有一个没有扩展名的文件,它可能是COBOL,因为它托管的计算机使用BASIC、COBOL和一些叫做“KEY BASIC”的东西。。。我不明白这个密码。。。我有一些台词,但不是全部 我想把它转换成C#但我不知道如何,如果有人能告诉我它是哪种语言,也许我可以挖掘更多 程序读取另一个文件并为打印机创建输出。。。我需要知道它是如何工作的,以便让一个Windows程序(通过C#)也能做到这一点 多谢各位 更新 谢谢你的帮助,我正在尝试重新创建代码,我看到像这样的东西打开'3/1/TABPRESU'进行随

我有一个没有扩展名的文件,它可能是COBOL,因为它托管的计算机使用BASIC、COBOL和一些叫做“KEY BASIC”的东西。。。我不明白这个密码。。。我有一些台词,但不是全部

我想把它转换成C#但我不知道如何,如果有人能告诉我它是哪种语言,也许我可以挖掘更多

程序读取另一个文件并为打印机创建输出。。。我需要知道它是如何工作的,以便让一个Windows程序(通过C#)也能做到这一点

多谢各位

更新

谢谢你的帮助,我正在尝试重新创建代码,我看到像这样的东西
打开'3/1/TABPRESU'进行随机IO,否则显示'NO ABRE TABPRESU';停止
我不知道什么是“3/1/TABPRESU”当然是一个文件,我有“TABPRESU”,但什么是“3/1”?不是文件系统,因为它不存在,或者它是某种数据库

我们正在使用的程序是SovereignX,在UNIX下,它有一个选项
UNIXCOPY
,允许用户将文件从SovereignX复制到UNIX文件系统,我没有找到任何关于SovereignX的信息

如果能找到一种方法来查看所有东西的源代码并重新创建它,那将非常有帮助。我们在一个名为
be
(批输入)的命令下进行输入。我正在尝试通过FTP将整个操作系统下载到USB驱动器(我不知道为什么机器不会启动UBUNTU LIVE USB,主板允许您启动它,但没有发生任何事情,所以唯一的选择是通过FTP下载并尝试在某个虚拟机下运行它

Northgate购买了Microdata(SovereignX的创造者),然后Mcdonell Douglas购买了Northgate…这项研究让我感到非常痛苦…似乎一切都在某种数据库下,用DATA/BASIC和PROC编写

更新2 这是KEYBASIC语言…但如果我用NP++打开文件,会有点混乱,我需要从SovereignX导出文件,然后才能读取…但是用大约100个文件这样做是极端的…有人知道KEYBASIC IDE?谢谢

更新3
这个程序拥有的.DAT和.IDX文件都有密码保护,从控制台上看,它不要求我输入密码,但如果我使用DBISAM查看器,它会要求我输入密码,而且没有人知道密码……该死的是我能找到的最合适的文件。

这肯定是一些基本语言。几年前,Data General有一个基本版本,在维基百科有一篇文章提到了这种方言和一些类似的竞争对手

如果代码很旧,您是否检查过它是CBASIC的可能性?CBASIC是在早期微型计算机上开发商业应用程序的一种流行方式


肯定是一种基本方言。代码相当古老,所以没有什么太晦涩。如果…那么就是如果…那么

编号为
5
90
(粘贴箱中的第10行到第38行)之间的代码是主处理循环。at行
5000
9000
是从主循环调用的子例程

我在这里看到的几个更神秘的特征,与方言无关:

  • 是一个格式化函数;可以像sprintf()一样考虑它
  • 打印语句似乎在每个非空行前插入空格;旧式行式打印机通常将打印行的第一个字符解释为控制字符以前进到新页面,例如,空格表示“只打印该行”
更新

我在第一次阅读中遗漏了一点:括号语法正在执行子字符串操作。例如,pastebin第12行的代码

IF R[26,2]='20' THEN GOSUB 9000;GOTO 5
正在将缓冲区的字符26和27(与第
5行的
读取
关联)与字符串
'20'
进行比较。在下一行
R[26,2]#30
中,
#
是一个不等于运算符

更新

我同意你的看法,并不是所有的格式字符串都在文档中解释过。但是我怀疑
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
更新

pastebin中的
OPEN
语句的语法与CachéMultivalueBasic或UniBasic的文档不完全匹配。但是,我可以推测字符串
'1/1/FSNC0128S'
的那部分表示通道号1,而在

5    READ R FROM 1 ELSE GOTO 90
想象一个通道号,比如Perl中的文件句柄或C文件描述符


我的工作假设字符串中的另一个
1
是某种访问修饰符(尽管随机IO的
似乎有矛盾),只需定位文件
FSNC0128S

我可以告诉你它最初是什么,因为我在1976/77年左右实现了KEYBASIC。我在CMC的Sovereign系统上工作,并实现了他们的数据输入系统。该公司已经有一个相当标准的Basic解释器和运行时系统,运行在Sovereign系统上stem。我首先修改它以实现时间共享,因为多个数据输入用户使用一个独占处理器,然后添加一些额外的面向数据输入的函数,这些函数都以“K”为前缀。修改后的语言被称为“KEYBASIC”。

绝对不是Cobol。主要问题是它打开的文件,我需要“decodify”格式,以便我可以创建一个新的程序,输出精确的字符串格式(我已经