pascal_15.pdf
(
74 KB
)
Pobierz
Obsługa klawiszy rozszerzonych i własne Menu
Turbo Pascal cześć 15
ver. 1.1
Na tej lekcji dowiesz się, jak zapisać na dysk plik z tekstem i jak go później wczytać. Prowadzić to
będzie do tematu tej lekcji: prostej bazy danych - ulubionego tematu znęcających się na uczniach profesorów.
Niestety, na dzisiejszej lekcji będzie podanych wiele nowych funkcji, których znajomość będzie bardzo istotna
do kolejnych lekcji.
Zaczniemy od procedury Assign o składni
Assign(var Plik:text; nazwapliku:string);
Procedura kojarzy identyfikator "Plik" z plikiem dyskowym o nazwie "nazwapliku" w której może mieścić się
jeszcze ścieżka dostępu. To bardzo duże ułatwienie, bo nie musimy za każdym razem pisać ścieżki dostępu do
pliku np. c:\klasa\3a\bartek.txt tylko powołujemy się na przypisany identyfikator np. bartek. Bardziej jasne
stanie to się przy następnych procedurach "Reset" i "Rewrite".
Gdy wykonujemy operację na plikach istotne jest po ich otwarciu i wykonaniu poznanych funkcji, zamknięcie
ich. Służy do tego Procedura Close
Close(var Plik:text);
Zamyka ona plik otwarty uprzednio przez "Reset", "Append" lub "Rewrite"(zaraz omówię te funkcje).
Procedura Reset
otwiera
plik "Plik" skojarzony uprzednio przez "Assign". Od tego momentu poprzez
identyfikator "Plik" będzie można czytać dane poprzez Read i ReadLn z dysku np.
Składnia:
Reset(var Plik:text);
Zadanie 1
Przemyśl co robi poniższy program i opisz co wykonują wskazane linie kodu.
Var
przyklad:text;
linia:string;
Begin
Assign(przyklad,'C:\klasa\aaaaa.txt');
Reset(przyklad);
ReadLn(przyklad,linia);
WriteLn(linia);
Close(przyklad);
End.
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
Jedną z najważniejszych funkcji przy operacjach na pliku jest procedura EOF, łatwiej będzie nam pojąć jej
zastosowanie gdy rozwiniemy ten skrót. EOF – end of file. Np. gdy chcemy by program szukał litery "k"
dopóki nie przejdzie do końca pliku (EOF).
Składnia: EOF(var Plik:text):boolean
Jest to funkcja zwracająca dwie wartości: prawdę (TRUE) lub fałsz (FALSE) i określa czy plik "PLIK"
znajduje się w pozycji końcowej ( FALSE - są w nim jeszcze jakieś nieprzeczytane dane, TRUE - tak to koniec
pliku nic więcej w nim nie ma ). np:
var
przyklad:text;
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
1
linia:string;
Begin
Assign(przyklad, ‘h:\klasa\aaaaa.txt');
Reset(przyklad);
REPEAT
ReadLn(przyklad,linia);
WriteLn(linia);
UNTIL EOF(przyklad);
Close(przyklad);
End.
Zadanie 2
Opisz co wykonuje powyższy program?
Kolejną ważną procedurą jest Rewrite
Składnia:
Rewrite(var Plik:text);
Procedura ta tworzy nowy plik o nazwie skojarzonej ze zmienną "Plik" i udostępnia go do zapisu w nim danych
( poprzez Write i WriteLn ).
UWAGA ! Jeżeli użyjesz tej procedury na istniejącym już pliku zostanie on usunięty i na jego miejsce
utworzony nowy np.
Przećwiczmy
Var
przyklad:text;
Begin
Assign(przyklad,'H:\PLIKTEST.TXT');
Rewrite(przyklad);
WriteLn(przyklad,'Taki sobie głupi napis zapiszemy w pliku :)');
Close(przyklad);
End.
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
.................................................................................................................................................................................
UWAGA !
Jeżeli nie zamkniesz pliku i opuścisz program to jakiś fragment ostatnio zapisywanych danych ulegnie
skasowaniu !!!!! Czasami może się zdarzyć, że plik nie został do końca zapisany, więc w pierwszej kolejności
sprawdź czy został on prawidłowo zamknięty !
Teraz przejdźmy do ulubionej części, czyli do pisania prostej bazy danych.
Zadanie 4
Napiszemy prostą bazę osobową czyli wystarczy: imię, nazwisko i telefon. Zaczniemy pisanie krok po kroku
od podstaw, tak abyś wiedział skąd i dlaczego się biorą te dziwne rzeczy, a potem z czasem będziemy ją
modyfikować. Twoje zadanie polega na uważnym przepisywaniu poniższego kodu.
Zrobimy najpierw program na jedną osobę tak, aby ją można wprowadzić i wyświetlić:
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
2
Zadanie 3
Przepisz poniższy kod i sprawdź jego działanie. Opisz co wykonują linijki kodu.
Uses CRT;
Var
Imie,nazwisko,telefon:string;
c,c2:char;
PROCEDURE Wprowadz;
Begin
ClrScr;
Write('Imie : ');
ReadLn(imie);
Write('Nazwisko : ');
ReadLn(nazwisko);
Write('Telefon : ');
ReadLn(telefon);
End;
PROCEDURE Wyswietl;
Begin
ClrScr;
WriteLn('Imie : ',imie);
WriteLn('Nazwisko : ',nazwisko);
WriteLn('Telefon : ',telefon);
WriteLn;
Write('Wcisnij jakis klawisz...');
c2:=readkey;
End;
Begin
Repeat
ClrScr;
Write('1. Nowy wpis 2. Wyswietlenie wpisu 3.Koniec programu : ');
Repeat
c:=readkey;
Until (c='1') OR (c='2') OR (c='3');
If c='1' Then Wprowadz;
If c='2' Then Wyswietl;
Until c='3';
End.
Zadanie 5
Zmodyfikuj tak program, aby:
1. Zamieniał imię i nazwisko na pisane małymi literami na DUŻE litery,
2. Dodaj informację dotyczące daty urodzenia, miejscu urodzenia, ulubionym kolorze
3. Jeżeli rok urodzenia będzie mniejszy od 1900 wypisz "Oszukujesz"
Kurs opracował mgr Jarosław Teodorczuk
veljarek@poczta.gazeta.pl
3
Plik z chomika:
bastiking
Inne pliki z tego folderu:
pascal_9.pdf
(100 KB)
pascal_8.pdf
(78 KB)
pascal_7.pdf
(77 KB)
pascal_6.pdf
(88 KB)
pascal_5.pdf
(83 KB)
Inne foldery tego chomika:
Algorytmy
Kurs VIDEO
Programowanie obiektowe
Zgłoś jeśli
naruszono regulamin