Poprawienie kodu programu w pascalu

Uses Crt;

const

haslo='kot';

var

km,km2:byte;

wprowadz:string;

                Procedure Menu;

                Begin

                clrscr;

                gotoxy(35,1);

                Writeln('Witaj');

                gotoxy(1,10);

                Writeln('Dokonaj wyboru:');

                gotoxy(1,12);

                writeln('1.Download');

                gotoxy(1,14);

                writeln('2.Czysc');

                gotoxy(1,16);

                writeln('3.Wyjscie do windows');

                gotoxy(1,18);

                write('Twoj wybor:');

                read(km);

                end;

                    Procedure Menu2;

                    Begin

                    clrscr;

                    gotoxy(1,10);

                    writeln('Co chcesz wyczyscic?');

                    gotoxy(1,12);

                    writeln('1.Temp');

                    gotoxy(1,14);

                    writeln('2.Moje dokumenty');

                    gotoxy(1,16);

                    write('Twoj wybor:');

                    gotoxy(1,25);

                    write('3.Powrot do Glownego Menu');

                    gotoxy(12,16);

                    read(km2);

                    end;

                        Procedure Haslo1;

                        Begin

                        clrscr;

                        gotoxy(1,10);

                        write('Podaj Haslo Dostepu:');

                        readln(wprowadz);

                        if wprowadz=haslo then

                        begin

                        Menu2;

                        end;

                        if wprowadz<>haslo then

                        begin

                        clrscr;

                        gotoxy(1,10);

                        write('Bledne haslo!!!');

                        delay(10000);

                        Menu;

                        end;

Begin

Menu;

end;

if

km=1 then

begin

clrscr;

gotoxy(1,10);

delay(10000);

writeln('Podlaczanie...!');

delay(15000);

gotoxy(1,12);

writeln('Podlaczono!');

delay(10000);

gotoxy(1,14);

writeln('Przesylanie danych...');

delay(25000);

gotoxy(1,16);

writeln('Ukonczono_20%');

delay(25000);

gotoxy(1,18);

writeln('Ukonczono_50%');

delay(25000);

gotoxy(1,20);

writeln('Ukonczono_100%');

delay(25000);

clrscr;

gotoxy(35,15);

delay(10000);

write('Bravo!!!');

delay(10000);

end;

begin

Menu;

end;

if

km=2 then

begin

Haslo1;

end;

if km2=1 then

begin

clrscr;

gotoxy(35,12);

delay(20000);

write('Ukonczono_20%');

delay(20000);

gotoxy(35,14);

delay(20000);

write('Ukonczono_50%');

delay(20000);

gotoxy(35,16);

write('Ukonczono_100%');

delay(20000);

clrscr;

gotoxy(35,12);

write('Czyszczenie ZAKONCZONE!');

delay(15000);

end;

begin

Menu2;

end;

if

km2=2 then

begin

clrscr;

gotoxy(35,12);

delay(20000);

write('Ukonczono_20%');

delay(20000);

gotoxy(35,14);

delay(20000);

write('Ukonczono_50%');

delay(20000);

gotoxy(35,16);

write('Ukonczono_100%');

delay(20000);

clrscr;

gotoxy(35,12);

write('Czyszczenie ZAKONCZONE!');

delay(15000);

end;

begin

Menu2;

end;

if

km2=3 then

begin

Menu;

end;

if

km=3 then

begin

clrscr;

delay(5000);

gotoxy(35,12);

delay(5000);

write('Zegnaj :(');

delay(15000);

end;

end.

Czy mogłby ktos poprawic ten kod bo nie wiem gdzie jest blad a program sie nie kompiluje. z gory dziekuje za pomoc

PS. Prosze nie zwracac uwagi na tekst on jest nie warzny

Złączono Posta : 23.09.2007 (Nie) 16:35

dlaczego nikt nie chce mi pomóc

A jaki błąd kompilator Ci wyświetla?

na pewno jest błąd z begin-end

CoreEditor dopasował mi ’ Begin’ po ’ Procedure Haslo1;’ z ostatnim ’ end.

natomiast Free Pascal wyrzucił błąd

prog.pas(158,4) Fatal: Syntax error, “;” expected but “.” found

prog.pas(158,4) Fatal: Compilation aborted

Uses Crt;

const

haslo='kot';

var

km,km2:byte;

wprowadz:string;

                Procedure Menu;

                Begin

                clrscr;

                gotoxy(35,1);

                Writeln('Witaj');

                gotoxy(1,10);

                Writeln('Dokonaj wyboru:');

                gotoxy(1,12);

                writeln('1.Download');

                gotoxy(1,14);

                writeln('2.Czysc');

                gotoxy(1,16);

                writeln('3.Wyjscie do windows');

                gotoxy(1,18);

                write('Twoj wybor:');

                read(km);

                end;

                    Procedure Menu2;

                    Begin

                    clrscr;

                    gotoxy(1,10);

                    writeln('Co chcesz wyczyscic?');

                    gotoxy(1,12);

                    writeln('1.Temp');

                    gotoxy(1,14);

                    writeln('2.Moje dokumenty');

                    gotoxy(1,16);

                    write('Twoj wybor:');

                    gotoxy(1,25);

                    write('3.Powrot do Glownego Menu');

                    gotoxy(12,16);

                    read(km2);

                    end;

                        Procedure Haslo1;

                        Begin

                        clrscr;

                        gotoxy(1,10);

                        write('Podaj Haslo Dostepu:');

                        readln(wprowadz);

                        if wprowadz=haslo then Menu2

                        else {tu można użyć else, zamiast przeciwnego warunku}

                        begin

                        clrscr;

                        gotoxy(1,10);

                        write('Bledne haslo!Wykrzyknik');

                        delay(10000);

                        Menu;

                        end;

			            END;{tu brakowało zamknięcia tej procedury}

BEGIN{a tu początku programu}

Menu;

if km=1 then

begin

clrscr;

gotoxy(1,10);

delay(10000);

writeln('Podlaczanie...!');

delay(15000);

gotoxy(1,12);

writeln('Podlaczono!');

delay(10000);

gotoxy(1,14);

writeln('Przesylanie danych...');

delay(25000);

gotoxy(1,16);

writeln('Ukonczono_20%');

delay(25000);

gotoxy(1,18);

writeln('Ukonczono_50%');

delay(25000);

gotoxy(1,20);

writeln('Ukonczono_100%');

delay(25000);

clrscr;

gotoxy(35,15);

delay(10000);

write('Bravo!Wykrzyknik');

delay(10000);

end;

Menu;

if km=2 then Haslo1;

if km2=1 then

begin

clrscr;

gotoxy(35,12);

delay(20000);

write('Ukonczono_20%');

delay(20000);

gotoxy(35,14);

delay(20000);

write('Ukonczono_50%');

delay(20000);

gotoxy(35,16);

write('Ukonczono_100%');

delay(20000);

clrscr;

gotoxy(35,12);

write('Czyszczenie ZAKONCZONE!');

delay(15000);

end;

Menu2;

if km2=2 then

begin

clrscr;

gotoxy(35,12);

delay(20000);

write('Ukonczono_20%');

delay(20000);

gotoxy(35,14);

delay(20000);

write('Ukonczono_50%');

delay(20000);

gotoxy(35,16);

write('Ukonczono_100%');

delay(20000);

clrscr;

gotoxy(35,12);

write('Czyszczenie ZAKONCZONE!');

delay(15000);

end;

Menu2;

if km2=3 then Menu;

if km=3 then

begin

clrscr;

delay(5000);

gotoxy(35,12);

delay(5000);

write('Zegnaj :(');

delay(15000);

end;

end.

oto poprawiony kod, zawiera jeszcze kilka rzeczy do poprawki, ale teraz nie mam czasu. Sprawdź czy o to Ci chodziło.