Podgląd pojedynczego posta
Stary 21.10.2006, 06:28   #2
luminat
Gość
 
Data rejestracji: 12.12.2002
Posty: 437
luminat zaczyna zdobywać reputację <1 - 49 pkt>
program baza_filmow;
uses crt,dos;
type film=record
tytul: string[20];
gatunek: string[15];
rok: integer;
cena: integer;
czas: integer;
end;

var i,j: byte;
x1,y1,j1: byte;
klawisz: char;
baza: film;
plik: file of film;
plik2: file of film;
nazwa_pliku: string[12];
nazwa: string[12];
f: SearchRec;

procedure opcja5;
var nr_rekordu: byte;
i: byte;
baza2: film;

begin
clrscr;
wersja_programu;
textbackground(0);
textcolor(7);
gotoxy(1,1);

assign(plik,nazwa_pliku);


reset(plik);


write('Wprowad***171; nr rekordu kt˘ry chcesz zmodyfikowa***8224; ([0] - wyj***732;cie): ');
readln(nr_rekordu);
if (nr_rekordu<=filesize(plik)) and (nr_rekordu>0) then
begin
seek(plik,nr_rekordu-1);
read(plik,baza);
seek(plik,nr_rekordu-1);
writeln;
writeln('[000] - wybrana pozycja nie zostanie zmodyfikowana');
writeln;


writeln('Tytul: ',baza.tytul);
write('Nowy tytul: ');
readln(baza2.tytul);
if baza2.tytul<>'000' then
baza.tytul:=baza2.tytul;
writeln;

writeln('Gatunek: ',baza.gatunek);
write('Nowy gatunek: ');
readln(baza2.gatunek);
if baza2.gatunek<>'000' then
baza.gatunek:=baza2.gatunek;
writeln;

writeln('Rok: ',baza.rok,' r');
write('Nowy rok: ');
readln(baza2.rok);
if baza2.rok<>000 then
baza.rok:=baza2.rok;
writeln;

writeln('Cena: ',baza.cena,' PLN');
write('Nowa cena: ');
readln(baza2.cena);
if baza2.cena<>000 then
baza.cena:=baza2.cena;
writeln;

writeln('Czas: ',baza.czas,' min');
write('Nowy czas: ');
readln(baza2.czas);
if baza2.czas<>000 then
baza.czas:=baza2.czas;
write(plik,baza);
writeln;
end;
if (nr_rekordu<>0) and nr_rekordu>filesize(plik)) or (nr_rekordu<0)) then
begin
writeln;
write('Baza jest pusta lub podano nr rekordu kt˘ry nie istnieje!!!');
readln;
end;
close(plik);
end;

Sensownie mozna zrobic m. in tak jak wkleilem. Jest to wycinek bazy, ktora robilem jakis czas temu. Jak bedziesz zainteresowany to moge udostepnic cala baze, ale zeby zrozumiec jej schemat dzialania bedziesz musial poswiecic troche czasu. I wystrzegaj sie uzywania instrukcji goto, instrukcja bezwarunkowa jest to najgorsza rzecz jaka moze zrobic programista w swoim programie.

Ostatnio zmieniany przez luminat : 21.10.2006 o godz. 06:32
luminat jest offline   Odpowiedz cytując ten post