[PASCAL] baza danych


(system) #1

Czesc.

Ucze sie programowania i chce wykonac baze danych (np pacjentow ) do ktorej bede mogl dodawac nowe rekordy, usuwac je, edytowac i moze sortowac... :slight_smile:

Meczylem sie z tym zadaniem i uzyska艂em co艣 takiego..:

program projekt;


uses crt;


type osoba = record

           imie:string[15];

           nazwisko:string[30];

           wiek:integer;

           miejscowosc:string[50];

           nr:integer;

    end;


var plik: file of osoba;

    pacjent:osoba;


    wybor,liczba,liczbaPacjentow,i:integer;

    ile,ilosc:integer;


    spis:array[0..30]of osoba;


    { ******************************************************************* }


{procedura tworzenia nowej bazy}

procedure nowa;


begin

Assign(plik, 'C:\baza.bin');

Rewrite(plik);


Close(plik);


end;

{koniec procedury}


{procedura dodawania pacjenta}

procedure dodaj;



begin

Assign(plik, 'C:\baza.bin');

Reset(plik);



Writeln('Podaj imie:');

Readln(pacjent.imie);

Writeln('Podaj nazwisko');

Readln(pacjent.nazwisko);

Writeln('Podaj wiek:');

Readln(pacjent.wiek);

Writeln('Podaj miejsce zamieszkania:');

Readln(pacjent.miejscowosc);

Writeln('Podaj nr ewidencji:');

Readln(pacjent.nr);



Close(plik);

end;

{koniec procedury dodawania}


{procedura usuwania}

procedure usun;


begin

Assign(plik, 'C:\baza.bin');

Reset(plik);


Writeln('Podaj nr pacjenta do usuniecia:');

Readln(liczba);


Close(plik);

end;

{koniec usuwania}


{edycja danych pacjenta}

procedure edytuj;


begin

Assign(plik, 'C:\baza.txt');

Reset(plik);




Close(plik);

end;



    { ****************************************************************** (*}



begin

clrscr;


repeat

Writeln(' ');

Writeln('1 - stworz nowa baze danych');

Writeln('2 - dodaj pacjenta');

Writeln('3 - usun pacjenta');

Writeln('4 - edytuj pacjenta');

Writeln('0 - zakoncz');

Writeln(' ');

Readln(wybor);




CASE wybor of

1 : nowa;

2 : dodaj;

3 : usun;

4 : edytuj;

end;

until wybor=0;


end.

Tworzy mi nowa baze(plik) jednak gdy chce go otworzyc poprostu w notatniku to jest pusty ;/

Dodawac niby dodaje.. jednak nie mam pomyslu jak zrobic zeby mozna usuwac i edytowac:( moze mi ktos pomoc? bede bardzo wdzieczny!!


(Krzkaczor) #2

Prosz臋: http://www.pascal.eu.org/lekcja4.htm


(system) #3

No wlasnie opierajac sie na tej instrukcji napisalem to co napisalem.. nie wiem czmeu np jesli zamkne program to w pliku txt nie ma juz tych danych ;/

Mozecie mi pomoc? tylko wskazac gdzie robie blad i jaki.. przeciez nie prosze chyba o tak wiele?


(system) #4

Rewrite(plik); - kasuje zawarto艣膰.


(Xwars) #5

Pascala ju偶 nie pami臋tam, ale wydaje mi si臋, 偶e

Readln(pacjent.nr);

<-tutaj

Close(plik);

chcia艂e艣 na pewno umie艣ci膰 kod kt贸ry zapisze rekord "pacjent" do pliku "plik" :slight_smile:


(system) #6

No tak.. tlyko jak to teraz mam zrobic?

Skoro mam juz ten rekord to jak go zapisac do pliku??


(system) #7

No i wracamy do odpowiedzi kt贸rej udzieli艂 ci SyntaxError : http://www.pascal.eu.org/lekcja4.htm

Odpowied藕 jest kr贸tka, zwi臋z艂a i niezwykle wyczerpuj膮ca.