解密BASIC脚本

时间:2014-05-27 17:37:17

标签: basic

我继承了一个BASIC脚本,我正在尝试将其重写为Python。我不知道BASIC,甚至是BASIC的哪个版本。它是Visual Basic吗?请帮我翻译这段代码。

'County Number, District Number, District Name 
j = 0
OPEN "" + year.base$ + "dist.csv" FOR INPUT AS #1
INPUT #1, a0$, a1$, a2$, a3$, a4$, a5$, a6$, a7$  
DO WHILE NOT EOF(1)  
j = j + 1  
  INPUT #1, a0$, a1$, a2$, a3$, a4$, a5$, a6$, a7$  
  conumbind(j) = VAL(a0$)  
  distnumbind(j) = VAL(a1$)  
  distnameind$(j) = a2$  
  rate2(j) = VAL(a3$)  
  rate34(j) = rate2(j) * 2  
LOOP  
CLOSE #1  
iTotal2 = j 

2 个答案:

答案 0 :(得分:3)

初始化计数器。

j = 0

打开文件进行阅读。

OPEN "" + year.base$ + "dist.csv" FOR INPUT AS #1

将第一行读入8个变量。这些都没有使用过。我认为它们是标题。

INPUT #1, a0$, a1$, a2$, a3$, a4$, a5$, a6$, a7$  

遍历文件的其余部分。

DO WHILE NOT EOF(1)  

增加计数器。

  j = j + 1  

将文件的下一行读入8个变量。

  INPUT #1, a0$, a1$, a2$, a3$, a4$, a5$, a6$, a7$  

将一些字段分配给数组元素(VAL函数转换为数字值)。

  conumbind(j) = VAL(a0$)  
  distnumbind(j) = VAL(a1$)
  distnameind$(j) = a2$  
  rate2(j) = VAL(a3$)  
  rate34(j) = rate2(j) * 2  

完成循环。

LOOP  

关闭输入文件。

CLOSE #1  

保存记录数。

iTotal2 = j 

答案 1 :(得分:2)

你好这是QBASIC一种基于DOS的语言。 QBasic on Wikipedia 这段代码的作用是打开一个文本文件,在本例中是一个逗号分隔的值文件。每个INPUT#1句子将获取文件的一行并将值分配给字符串变量(以$字符结尾的字符串变量)。然后它会用这些值填充一些一维数组。 iTotal2将是文件中的记录数。 代码几乎没有任何作用,因为一旦填充了数组,就不会使用它们。