Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
pomocy baza danych w pascalu
Autor Wiadomość
wyhylybymy Offline
Początkujący
*
Użytkownik

Liczba postów: 1
Dołączył: Oct 2010
Reputacja: 0
€: 7
OS: Windows XP
Post: #1
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 ostat niego rekordu i w programi jest kilka bledow bardzo bym prosil o poprawienie mojego programiku jest to bardzo pilne. Odpowiedzi prosze tutal albo prosto na e-mail marik45@wp.pl


z gory dziekuje bardzoSmiles


Załączone pliki
.doc  kod zrodlowy bazy.doc (Rozmiar: 31 KB / Pobrań: 6)
(Ten post był ostatnio modyfikowany: 22.10.2010 19:27 przez wyhylybymy.)
22.10.2010 19:25
  Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post


WebNuLL Offline
Linux support
Junior Admin

Liczba postów: 1766
Dołączył: Sep 2009
Reputacja: 45
€: 4127
OS: Linux Gentoo
Post: #2
RE: pomocy baza danych w pascalu
Przepraszam.

Czy śmiesz kpić Sobie z nas "programisto"?

Jak można udostępniać kod źródłowy w formacie .doc no nie to jakaś parodia...

-- WebNuLL

[Obrazek: 1300013385.gif]
Ubuntu (Linux dla ludzi) | Blog komputerowy | Linux Mint
22.10.2010 20:27
  Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Propagandi Offline
Początkujący
*
Użytkownik

Liczba postów: 91
Dołączył: Mar 2010
Reputacja: 8
€: 100
OS:
Post: #3
RE: pomocy baza danych w pascalu
Niby jest ok, ale w praktyce przy usuwaniu ostatniego rekordu program zapętla się na pierwszym repeacie w procedurze i nie może wyjść. Wrzuciłem tam jakieś instrukcje warunkowe, żeby tym konkretnym przypadkiem zająć się osobno i jakoś śmiga. filesize(baza) zwraca liczbę rekordów w bazie.

Kod:
procedure usun;
var numer:byte;
      temp: file of tdane;
      dane:tdane;
  begin
       write('Podaj numer rekordu do usuniecia: ');
       readln(numer);
       seek(baza,numer);
       if numer < filesize(baza) then
        begin
          assign(temp,'d:\temp.bin');
          rewrite(temp);
          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
       else if numer = filesize(baza) then
        begin
          seek(baza,numer-1);
          truncate(baza)
        end
       else writeln('Nie ma takiego rekordu w bazie');
  end;
23.10.2010 19:21
  Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

 Wybierz styl: