如何修复此错误:“非法标识符?”

时间:2015-09-30 22:07:56

标签: arrays loops lazarus procedures

我最近尝试在pascal中创建一个基本的caesar-cypher(使用lazarus作为我的编译器)。我的目标是将数字设置为数组,然后将所有数字声明为字母,这样当我运行代码时,它应该对代码进行加密或“加密”。我仍然是初学者,一直在努力克服这段代码的第一个基本问题。我已经学会了它如何工作的理论......只是还没弄明白如何将它付诸行动:( [它一直突出显示numbers[1] := 'a';代码并说非法标识符?! 到目前为止,这就是我所拥有的:

program Caesarcypher;
  var
    numbers : integer;
    number : array [1..26]of integer;
begin
  numbers[1] := 'a';
  numbers[2] := 'b';
  numbers[3] := 'c';
  numbers[4] := 'd';
  numbers[5] := 'e';
  numbers[6] := 'f';
  numbers[7] := 'g';
  numbers[8] := 'h';
  numbers[9] := 'i';
  numbers[10] := 'j';
  numbers[11] := 'k';
  numbers[12] := 'l';
  numbers[13] := 'm';
  numbers[14] := 'n';
  numbers[15] := 'o';
  numbers[16] := 'p';
  numbers[17] := 'q';
  numbers[18] := 'r';
  numbers[19] := 's';
  numbers[20] := 't';
  numbers[21] := 'u';
  numbers[22] := 'v';
  numbers[23] := 'w';
  numbers[24] := 'x';
  numbers[25] := 'y';
  numbers[26] := 'z';

end.

1 个答案:

答案 0 :(得分:0)

你至少有两个错误。

  1. 数字未被您声明为数组变量。它只是一个整数变量。所以它没有成员[1] .. [n]。您可以指定以下内容:numbers:=64;
  2. 您已将number声明为整数数组。因此,您无法为其成员分配字符值。您可以指定number[1]:=1;如果您希望为其成员分配字符,则需要声明var numbers:array [1..26] of char;number:array [1..26] of char;