PDA

Zobacz pełną wersję : poprawny program i "'file no found"



krzysiektr
02-09-07, 21:21
witam,
Od tygodnia uczę sie programowania w TP wiec moje pytanie może być banalne ,ale straciłem dzi¶ ze 2 godz . na znalezienie rozwiazania problemu i nawet google mi nie pomogły. Chodzi o to że program nie może mi odnaleĽć pliku tekstowego i zgłasza 'file no found' w prostym programiku:


Var
przyklad:text;
linia:string;

Begin
Assign(przyklad,'C:\plik.txt');
Reset(przyklad);
ReadLn(przyklad,linia);
WriteLn(linia);
Close(przyklad);
End.

Ten krótki programik zapewne jest prawidłowy,na innych jakie próbowałem w kursie z którego sie uczę to samo.Plik tekstowy o nazwie 'plik.txt' na pewno istnieje bo specjalnie go tam stworzyłem. Zreszta żadnego mi nie wczytuje nie mówi±c że jak podam czasem istniej±c± scieżke i plik, to wyskakuje mi 'patch no found'.Wie kto¶ jaka może byc przyczyna?

RRybak
07-09-07, 10:10
Program jak dla mnie jest poprawny. Przedebuguj go i sprawdź, która dokładnie linia generuje błąd. Być może nie może Ci znaleźć jakiegoś unita i sam TP się sypie, a nie program (??:confused:??).. albo masz Pascala w jakiś sposób uszkodzonego.. Może załatw z innego źródła..

krzysiektr
11-09-07, 00:58
Nie wiem co jest źle ,ale jedynie otwiera mi pliki z własnego folderu docelowego. Narazie mi to wystarczy, może kiedyś przy okazji wyjdzie jaka jest przyczyna.
Pozdr.

RRybak
11-09-07, 09:20
A tak z czystej ciekawo¶ci spróbuj odpalić fragment:


var s : String;
przyklad:text;
linia:string;

begin
SetCurrentDir('C:\');
WriteLn('Jestem w: ', GetCurrentDir);
ChDir('C:\');
GetDir(3, s);
WriteLn('Katalog na C: to: ', s);
Assign(przyklad,'plik.txt');
{$I-}
Reset(przyklad);
{$I+}
if (IOResult=0)
begin
ReadLn(przyklad,linia);
WriteLn(linia);
Close(przyklad);
end
else WriteLn('Blad we/wy: '+IOResult);
end.

Upewnij się, że plik nie jest Tylko-Do-Odczytu. Że plik ma przynajmniej dwie linie (żeby był enter w ¶rodku).
Być może nie masz (program nie ma) uprawnień do przegl±dania katalogu "c:\".. No nic, przykład z głowy - może co¶ pomoże..

krzysiektr
21-09-07, 21:00
Cześć,
Tylko ja tego programu nie mogę odpalić ,jeszcze nie znam wielu komend. W tym programie wyskakuje mi unknown identifier już w pierwszej linijce przy SetCurrentDir . Może to kwestia modułu którego nie znam? Ja dopisałem tylko crt ale nie ruszył.Uzwymam TP7.0

Pozdrawiam

RRybak
21-09-07, 23:40
Err... hmm... jeśli dobrze pamiętam, to takie komendy odczarowywało się za pomocą:
Uses Dos, SysUtils;..jedno z nich.. albo oba ;)
Bo o ile mi wiadomo, unitu "System" nie trzeba było dodawać.. (dawno nie pisałem w TP ;) )