2017-01-16 84 views
-1

所以我想要的是將點(。)出現在我的字符串中的點存入變量:「postemp」。 所以我寫此代碼:Pascal語法問題與「pos」

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

Dateiname是,如下所示的字符串: 「#1:Bisasam //11公斤」。 因此,從技術上講,PosTemp現在應該蔑視「12」。但是,當我編譯,拉撒路給我:

Fatal, Syntax Error: ";" expected, but "(" found.

我不知道爲什麼地球上它不接受我的代碼... 任何幫助嗎?

問候

下面是完整的代碼:

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

請給我們完整的源代碼。我們不知道什麼是錯的。 – Wosi

+0

這行錯誤:'Temp:= Copy(Dateiname,PosTemp + 1,' –

+0

我知道,這是因爲上面的行產生了錯誤,因爲我不知道爲什麼,我只是繼續編程。但還沒有完成,但爲什麼該部分之前給我一個語法錯誤? – user7285912

回答

0

Pos := PosTemp; 

看起來狡猾。 Pos在代碼中沒有聲明爲變量,因此定義爲(系統單元)過程。

請注意,示例代碼仍然不完整,並且不會編譯。如果你確實有一個變量Pos,試着用系統的引用作爲函數的前綴,就像

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