[ nekicneko90 @ 16.01.2014. 23:24 ] @
pozdram
nov sam na forumu

programiram u vecini popularnih programskih jezika i posle dugo vremena druzenja s delphijem opet se vracam starom dobrom pascalu

naisam sam na jedan problem, zelim da napravim bazu podataka a tabele da budu data fajlovi

ne znam kako da ispisem vise podataka (redova u tabeli)

program sam mislio da stavim ovako nekako


Code:

type
ucenik=record
ime,prezime:string[30];
bodovi:integer;
...
var
student: ucenik
baza: file of ucenik



nisam siguran da mi je ovo dobro
[ reiser @ 16.01.2014. 23:42 ] @
Meni se cini ok. Nesto otprilike ovako:

Code:

type
  TUcenik = record
    ime, prezime: string[30];
    bodovi: integer;
  end;

  TBaza = file of TUcenik;

procedure Upis;
var
  baza: TBaza;
  ucenik1, ucenik2: TUcenik;
begin
  ucenik1 := ...;
  ucenik2 := ...;

  AssignFile(baza, 'baza.dat');
  Rewrite(baza)
    Write(baza, ucenik1);
    Write(baza, ucenik2);
  CloseFile(baza);
end;

procedure Ispis;
var
  baza: TBaza;
  ucenik: TUcenik;
begin
  AssignFile(baza, 'baza.dat');
  Reset(baza)
    while not EOF(baza) do
    begin
      Read(baza, ucenik);
      WriteLn(ucenik.Ime);
    end;
  CloseFile(baza);
end;

begin
  Upis;
  Ispis;
end.


Pisano iz glave, verovatno ima sintaksnih gresaka, ali je bitan koncept.
[ nekicneko90 @ 17.01.2014. 13:46 ] @
nesto slicno sam i ja poklusao, ai kada zatvorim program i ponovo ga pokrenem on mi sve podatke brise i ubacuje nove

cij mi je da i stari podaci ostanu


sad nisam kuci pa nisam pokusao sa ovim kodom, mozda sam ja ranije gresio. Provericu kada stignem kuce
[ nekicneko90 @ 18.01.2014. 12:14 ] @
ne radi

opet mi briše stare podatke i čuva samo nove, meni trebaju i stari
[ juha5803 @ 18.01.2014. 14:24 ] @
Da nemaš negdje u kodu ovako nešto tj. da ti svaki put iznova kreira datoteku...

Code:

  AssignFile(logfile1,imedatoteke);

   if not(FileExists(imedatoteke)) then begin
    ReWrite(logfile1);
   end else begin
    Erase(logfile1) ;
    ReWrite(logfile1);
   end ;
[ nekicneko90 @ 18.01.2014. 20:12 ] @
AssignFile proceduru imam, mislim da je neophodna i koliko znam treba samo da otvara fajl, ali ostatak memam
[ Rapaic Rajko @ 19.01.2014. 20:40 ] @
Pogledaj u help-u append().

Pozz
[ captPicard @ 19.01.2014. 21:34 ] @
Mislim da WriteLn počne pisati uvijek na početku fajla. Ali provjeri jer nisam siguran.
[ nekicneko90 @ 20.01.2014. 15:14 ] @
Nosam kući pa ću help poggledati kasnije.

WriteLn, koliko ja znam ne može da se koristi sa binarnim fajlovima već samo sa tekstualnim ja sam koristio Write.
[ nekicneko90 @ 20.01.2014. 15:16 ] @
Nosam kući pa ću help poggledati kasnije.

WriteLn, koliko ja znam ne može da se koristi sa binarnim fajlovima već samo sa tekstualnim ja sam koristio Write.
[ nekicneko90 @ 20.01.2014. 16:51 ] @
Append radi samo kod tekstualnih fajlova, meni trebaju binarni data (*.dat) fajlovi.
[ nekicneko90 @ 20.01.2014. 17:34 ] @
Hvala svima, našao sam rešenje.

Namestio sam da se u svaki fajl upisuju podaci o jednom učeniku, a fajl ima naziv kao njihova šifra.


Baš mi je prijao ovaj mali povratak za pascal posle programiranja u delphiju, csharpu, c/cpp i javi