Syntax Pascal中带“quot”的语法问题;pos";
所以我只想把字符串中出现点(.)的位置保存到变量“postemp”中。 所以我在写这段代码:Syntax Pascal中带“quot”的语法问题;pos";,syntax,pascal,Syntax,Pascal,所以我只想把字符串中出现点(.)的位置保存到变量“postemp”中。 所以我在写这段代码: PosTemp := Pos('.',Dateiname); Dateiname是如下所示的字符串:“#1:Bisasam//11 kg”。 因此,从技术上讲,PosTemp现在应该蔑视“12”。但当我编译时,拉撒路给了我: 致命,语法错误:“;”应为,但“(”已找到 我不知道它到底为什么不接受我的代码。。。 有什么帮助吗 问候 钼 以下是完整的代码: FUNCTION LoadGame() : S
PosTemp := Pos('.',Dateiname);
Dateiname
是如下所示的字符串:“#1:Bisasam//11 kg”。
因此,从技术上讲,PosTemp现在应该蔑视“12”。但当我编译时,拉撒路给了我:
致命,语法错误:“;”应为,但“(”已找到
我不知道它到底为什么不接受我的代码。。。
有什么帮助吗
问候
钼
以下是完整的代码:
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();
函数LoadGame():字符串;
变量Dateiname,Temp:String;
Textdatei:Text;
Frage,PosTemp,PosTemp2:整数;
开始
磨损:=99;
clrsc;
书面语(Welcher Speicherstand soll geladen werden?);
书面语;
Readln(Dateiname);
Readln(Dateiname);
Dateiname:=Dateiname+'.txt';
clrsc;
分配(Textdatei,Dateiname);
重置(Textdatei);
而不是EoF(Textdatei)呢
开始
Readln(Textdatei,Dateiname);
Writeln(Dateiname);
结束;
关闭(Textdatei);
而(Frage 1)和(Frage 0)是
开始
书面语;
书面语(“迪森·斯皮尔斯坦·拉登”);
书面语;
书面语('1:Ja');
书面语;
Writeln('0:Nein');
书面语;
Readln(Frage);
结束;
如果Frage=0,则
开始
clrsc;
Hauptmenu();
结束;
如果Frage=1,则
开始
重置(Textdatei);
书面语;
如果不是EoF(Textdatei),则
开始
Readln(Textdatei,Dateiname);
Writeln(Dateiname);
//努默
Temp:=Copy(Dateiname,2,1);//Speichert位置
PosTemp:=strotint(Temp);//位置在gespeichert内
Pos:=PosTemp;
列表:=AddElement(名称、位置、KG、列表);//位置与AddElementübergeben
//名字
PosTemp:=Pos(“”,Dateiname);
PosTemp2:=Pos('.',Dateiname);
温度:=副本(日期名称,后时间+1,
名称:=温度;
列表:=添加元素(名称、位置、千克、列表);
结束;
结束;
clrsc;
书面语('ladden erfolgreich!');
Readkey;
子菜单();
线路
Pos := PosTemp;
Pos在代码中未声明为变量,因此定义为(系统单元)过程
请注意,示例代码仍然不完整,无法编译
PosTemp := System.Pos(' ',Dateiname);
请给我们完整的源代码。我们无法知道出了什么问题。此行错误:
Temp:=Copy(Dateiname,PosTemp+1,
我知道,这是因为上面的一行产生了错误,而且我不知道为什么,我只是继续编程。这一行还没有完成。但是为什么之前的部分会给我一个语法错误?先修复那一行。然后重新编译。它已修复,但不编译:(仍然说Pos期望a;而不是a()。