[PASCAL] Wczytywanie dwóch zmiennych typu String

Witam,

mam problem z wczytaniem po sobie dwóch zmiennych typu String. Docelowo program miał by prosić użytkownika o podanie 2 razy tego samego hasła i gdy obydwa będą jednakowe zapisać je do pliku. Problem jest w tym, że gdy wczytuję pierwszą zmienną i potwierdzam klawiszem ENTER to dalej następuje wyświetlenie instrukcji Write i nic więcej dla innych typów np. LongInt działa poprawnie ale hasło mialo by zawierać litery i cyfry. Kompilator to FreePascal 2.0.4 na Windows Vista Home Premium (pod XP także nie działa)

Uses Crt;


Var

 configs:text;

 P1Haslo,P2Haslo:LongInt;


Begin

  Repeat

    Clrscr;

    Write('Ustawainie hasła do bazy danych.');

    Writeln;

    Write('Podaj hasło: ');

    Read(P1Haslo);

    Writeln;

    Write('Podaj ponownie hasło: ');

    Read(P2Haslo);

    Writeln;

    IF P1Haslo <> P2Haslo Then Write('Hasła nie są jednakowe podaj ponownie');

  Until P1Haslo = P2Haslo;

  Assign(configs,'G:\config.dan');

  Rewrite(configs);

  WriteLn(configs,P1Haslo);

  Close(configs);

  Writeln;

  Write('Hasło zostało zapisane.');

  ReadKey;

End.

Z góry dzięki za odpowiedź i pozdrawiam.

Po pierwsze to mogłeś zastosować writeln zamiast write i po tym puste writeln. Co do kodu to nie mam jak przetestować (64 bitowa Vista), jednak na pierwszy rzut oka wydaje się dobry. PS. Próbowałeś inne typy zmiennych?

Jak już wcześniej napisałem działa na LongInt ale nie można podać liter. Co do Write i Writeln to są elementy “kosmetyczne” jeszcze do poprawienia i masz racje, to będzie poprawione.

Ja bym na napisał warunek zapisał tak:

skasuj to writeln przed warunkiem

if P1Haslo=P2haslo then

 Assign(configs,'G:\config.dan');

  Rewrite(configs);

  WriteLn(configs,P1Haslo);

  Close(configs);

  Writeln;

  Write('Hasło zostało zapisane.');

  ReadKey;

until 

writeln ('Wpisane hasła nie są jednakowe. Proszę wpisać ponownie hasła');

a zamiast reapeat użyłbym polecenia procedure

Może ci to coś pomoże, Ja dawno w Pascalu nie siedziałem i trochę mi się ulotniło.

jedynym błędem jest stosowanie przez Ciebie z read zamiast readln przy wczytywaniu hasła. zastosowanie write zamiast writeln uważam za odpowiednie ponieważ po wyświetleniu prośby o podanie hasła wpisywane hasło znajduje się w tej samej linii a po wywołaniu readln i tak przejdzie do następnej. reszta kodu jest oki.

Faktycznie Readln zamiast Read pomogło Wielke dzięki !