Pascal中的语法问题与" pos"

时间:2017-01-16 18:58:53

标签: syntax pascal

所以我想要的是将点(。)出现在我的字符串中的点保存到变量中:" postemp"。 所以我写这段代码:

PosTemp := Pos('.',Dateiname); 

Dateiname是一个字符串,如下所示:"#1:Bisasam。 // 11公斤"。 因此,从技术上讲,PosTemp现在应该蔑视" 12"。但是当我编译时,拉撒路给了我:

  

致命,语法错误:&#34 ;;"期待,但"("发现。

我不知道为什么它不接受我的代码...... 有什么帮助吗?

问候

以下是完整代码:

FUNCTION LoadGame() : STRING;

VAR Dateiname, Temp : String;
    Textdatei : Text;
    Frage, PosTemp, PosTemp2 : Integer;


BEGIN

  Frage := 99;

  Clrscr;

  Writeln('Welcher Speicherstand soll geladen werden?');
  Writeln;
  Readln(Dateiname);
  Readln(Dateiname);
  Dateiname := Dateiname+'.txt';

  Clrscr;



  Assign(Textdatei,Dateiname);
  Reset(Textdatei);
  WHILE NOT EoF(Textdatei) DO
  BEGIN
        Readln(Textdatei,Dateiname);
        Writeln(Dateiname);
  END;
  Close(Textdatei);

  WHILE (Frage <> 1) AND (Frage <> 0) DO
  BEGIN
        Writeln;
        Writeln('Diesen Spielstand laden?');
        Writeln;
        Writeln('1: Ja');
        Writeln;
        Writeln('0: Nein');
        Writeln;
        Readln(Frage);
  END;

  IF Frage = 0 THEN
  BEGIN
        Clrscr;
        Hauptmenu();
  END;

  IF Frage = 1 THEN
  BEGIN

        Reset(Textdatei);
        Writeln;

        IF NOT EoF(Textdatei) THEN
        BEGIN

              Readln(Textdatei,Dateiname);
              Writeln(Dateiname);

              // NUMMER
              Temp := Copy(Dateiname,2,1);  // Speichert Position als Str
              PosTemp := StrToInt(Temp);    // Position wird als Int gespeichert
              Pos := PosTemp;
              Liste := AddElement(Name, Pos, KG, Liste);  // Pos wird an AddElement übergeben

              // NAME
              PosTemp := Pos(' ',Dateiname);
              PosTemp2:= Pos('.',Dateiname);
              Temp := Copy(Dateiname,PosTemp+1,
              Name := Temp;
              Liste := AddElement(Name, Pos, KG, Liste);



        END;


  END;

  ClrScr;
  Writeln('Laden erfolgreich!');
  Readkey;
  Submenu();          

1 个答案:

答案 0 :(得分:0)

该行

 Pos := PosTemp;
看起来很狡猾。 Pos未在代码中声明为变量,因此定义为(系统单元)过程。

请注意,示例代码仍然不完整,无法编译。如果您有变量Pos,请尝试使用System为函数引用添加前缀,例如

  PosTemp := System.Pos(' ',Dateiname);