1
votes

I am defining a new string type in my pascal code after Program filename and before variables, but it is giving an error 'Begin' expected Str20 found.

Program Input_try_1;

Type Str20 : string[20];

Var f: file of Str20;
    x : String;
    EOF : Boolean;
begin
    EOF := False;
    Assign(f,'Dic.txt');
    Rewrite(f);

    Writeln('When you finish enter <End>');

    While EOF = false do 
        begin
            Readln(x);
            If x = 'End' then EOF := True
            else Write(f,x);
        end;


    Close(f);

End.

I am expecting that 'Type Str20:string[20]; will not give any errors, and can't understand the problem.

1
In type declarations, you use a equals sign rather than a colon. Type Str20 = String[20] - MartynA
Oh wow thank you a lot :)) - pizzapablo

1 Answers

2
votes

In type declarations, you use an equals sign rather than a colon, as in:

 Type Str20 = String[20] 

Btw, you don't need to define your own EOF, you could use the built-in EOF function:

while not Eof(x) do ...

That way, you don't need the End in the source file.