Powrót   Forum CDRinfo.pl > Różne > Komputery - oprogramowanie i sprzęt

Komputery - oprogramowanie i sprzęt Pytania i problemy niezwiązane z nagrywaniem, backupem i grami.



Witaj Nieznajomy! Zaloguj się lub Zarejestruj

Zarejestrowani użytkownicy mają dostęp do dodatkowych opcji, lepszej wyszukiwarki oraz mniejszej ilości reklam. Rejestracja jest całkowicie darmowa!

 
 
Opcje związane z dyskusją Tryby wyświetlania
Prev Poprzedni post   Następny post Next
Stary 23.10.2010, 21:55   #1
wyhylybymy17
Nowy na forum
 
Data rejestracji: 23.10.2010
Posty: 7
wyhylybymy17 w tym momencie nie ma Reputacji dodatnich ani ujemnych <0  pkt>
pomocy baza danych w pascalu

Witam..
Prosze o pomoc w napisani bazy danych w pascalu prawie cala mam napisana lecz jest problem przy procedurze usun gdyz nie usuwa ostatniego rekordu i w programi jest kilka bledow bardzo bym prosil o poprawienie mojego programiku jest to bardzo pilne.

Z gory dziekuje bardzo za pomoc
a to kod zrodlowy:

program baza_dan;

uses dos,crt;

type tdane = record
tytulfilmu:string[30];
rokprodukcji:string[30];
czastrwania: 1..100;
end;

const plik : string = 'baza.bin';

var
opcja : 1..5;
dane : tdane;
baza : file of tdane;



procedure menu;
begin
writeln;
writeln('1 - dodaj wpis do filmoteki');
writeln('2 - popraw wpis w filmotece');
writeln('3 - usun wpis z filmoteki');
writeln('4 - wyswietl zawartosc filmoteki');
writeln('5 - zakoncz program');
writeln;
writeln('Wybierz opcje 1-5');
end;

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

procedure dodaj(rozmiar:byte);
var osoba:tdane;
begin
writeln;
write('Podaj tytul filmu: ');
readln(osoba.tytulfilmu);
write('Podaj rok produkcji: ');
readln(osoba.rokprodukcji);
write('Podaj czas trwania: ');
readln(osoba.czastrwania);
seek(baza,rozmiar);
write(baza,osoba);
end;
{******************************************}



procedure popraw;
var numer:byte;
osoba:tdane;
begin
write('Podaj numer filmu poprawy: ');
readln(numer);
dodaj(numer-1);
end;
{******************************************}

procedure usun;
var numer:byte;
temp: file of tdane;
dane:tdane;
begin
write('Podaj numer rekordu do usuniecia: ');
readln(numer);
assign(temp,'d:\temp.bin');
rewrite(temp);
seek(baza,numer);
repeat
read(baza,dane);
write(temp,dane);
until eof(baza);
seek(baza,numer-1);
truncate(baza);
seek(baza,filesize(baza));
seek(temp,0);
repeat
read(temp,dane);
write(baza,dane);
until eof(temp);
close(temp);
erase(temp);
end;
{******************************************}

procedure spacja(ile:byte;znak:char);
var i:byte;
begin
for i:=1 to ile do write(znak);
end;
{******************************************}

procedure kreska(ile:byte;znak:char);
var i:byte;
begin
for i:=1 to ile do write(znak);
writeln;
end;
{******************************************}

procedure pokaz;
var osoba:tdane;
lp:byte;
begin
clrscr;
if filesize(baza) = 0
then
begin
writeln;
writeln('************************************');
writeln('* Brak filmow w bazie danych !!! *');
writeln('************************************');
writeln;
end
else
begin
lp:=1;
seek(baza,0);
kreska(73,'-');
write('| Lp. |tytu lfilmu |');
write(' rok produkcji |');
writeln(' czas trwania |');
kreska(73,'-');
repeat
read(baza,osoba);
write('| ',lp,'|');
write(' ',osoba.tytulfilmu);
spacja(20-length(osoba.tytulfilmu)-1,' ');
write('| ',osoba.rokprodukcji );
spacja(25-length(osoba.tytulfilmu)-1,' ');
write( '| ',osoba.czastrwania,' |');
writeln;
kreska(73,'-');
inc(lp);
until eof(baza);
end;
end;

procedure inicjalizacja;
begin
assign(baza,plik);
if fsearch(plik,'') = ''
then rewrite(baza)
else reset(baza);
end;


begin
inicjalizacja;
repeat
menu;
readln(opcja);
case opcja of
1: dodaj(filesize(baza));
2: popraw;
3: usun;
4: pokaz;
end;
until opcja = 5;
close(baza);

end.
wyhylybymy17 jest offline   Odpowiedz cytując ten post

  #ads
CDRinfo.pl
Reklamowiec
 
 
 
Data rejestracji: 29.12.2008
Lokalizacja: Sieć globalna
Wiek: 31
Posty: 1227
 

CDRinfo.pl is online  
 


Twoje uprawnienia:
Nie możesz rozpoczynać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz umieszczać załączników
Nie możesz edytować swoich postów

BB codeWłączone
EmotikonkiWłączone
Kody [IMG]Włączone
Kody HTML są Wyłączone

Teleport

Podobne dyskusje
Dyskusja Autor Forum Odpow. Ostatni Post
POMOCY - skasowalem sobie 40GB waznych danych ryciu Odzyskiwanie danych 5 17.04.2009 18:47
Pascal - baza danych sight Off topic 9 29.05.2005 17:39
Jak odzyskać skasowane pliki na CD-RW Jozgaw Napędy optyczne CD 7 21.06.2004 08:31
Baza Danych Access jelonkowo Off topic 0 09.12.2003 23:47
Baza danych w Accessie 2000 Niebiessska Off topic 26 22.05.2003 18:51


Wszystkie czasy w strefie CET. Aktualna godzina: 22:09.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.