所以我想要的是将点(。)出现在我的字符串中的点保存到变量中:" 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();
答案 0 :(得分:0)
该行
Pos := PosTemp;
看起来很狡猾。 Pos未在代码中声明为变量,因此定义为(系统单元)过程。
请注意,示例代码仍然不完整,无法编译。如果您有变量Pos,请尝试使用System为函数引用添加前缀,例如
PosTemp := System.Pos(' ',Dateiname);