Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Rad sa zapisima

[es] :: Pascal / Delphi / Kylix :: Rad sa zapisima

[ Pregleda: 5106 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

manja
Nemanja MIljkovic
Stapar

Član broj: 5755
Poruke: 12
62.108.126.*



Profil

icon Rad sa zapisima12.10.2002. u 12:52 - pre 261 meseci
Kada napravim zapis
recimo:

Zapis = record
FName: string;
LName: string;
Age: Integer;
end;

Kako da sacuvam taj zapis kao datoteku, odnosno da napravim niz zapisa koje cu moci da unosim i da citam iz te datoteke???

 
Odgovor na temu

star13

Član broj: 5762
Poruke: 8
*.net.hinet.hr



Profil

icon Re: Rad sa zapisima12.10.2002. u 17:51 - pre 261 meseci
Izgradite datoteku pomoću Database Explorera sa poljima koja trebate a zatim unosite polje pomoću naredbe Insert ili Append a brišite pomoću Delete. Kod formatiranja datoteke valja voditi računa o tipu varijable. Tako je integer cijeli broj dok je Real sa decimalnim mjestima. Pokušate li broj sa decimalnim mjestima spremiti u polje Integer doći će od greške.

 
Odgovor na temu

goblin
Milan Aleksic
Gtech Belgrade, Sofware Engineer II
Beograd

Član broj: 4055
Poruke: 85
*.ptt.yu

Jabber: milanaleksic@gmail.com
Sajt: www.milanaleksic.net


Profil

icon Re: Rad sa zapisima12.10.2002. u 22:08 - pre 261 meseci
Ma daj, ovakve stvari mozes da nadjes u bilo kom prirucniku za Pascal... Ali, kad bolje razmislim i ja ovo nisam znao (pre 4 godine

Treba ti tip koji ce biti kompatibilan sa tvojim zapisom:

type TFajlZapis = file of Zapis;

onda samo u procedure koja ti vrsi snimanje prijavis varijablu tog tipa:

var FajlZapis : TFajlZapis;
Zapis : Zapis;
begin
AssignFile(FajlZapis, 'podaci.dat'); // ili obrnuto, odavno nisam koristio
Rewrite(FajlZapis);
// ovde ubacujes podatke u zapis
Write(FajlZapis, Zapis);
CloseFile(FajlZapis);
end;

Obrnuto (citanje):

var FajlZapis : TFajlZapis;
Zapis : Zapis;
begin
AssignFile(FajlZapis, 'podaci.dat'); // ili obrnuto, odavno nisam koristio
Reset(FajlZapis);
Read(FajlZapis, Zapis);
// ovde citas podatke iz zapisa
CloseFile(FajlZapis);
end;


Ovo ti je samo osnovno, bez provere za pojavom izuzetaka, bez podrske za niz (dodaj for petlju umesto write komande, a while not eof do + iterator za pracenje pozicije u nizu umesto read funkcije).
Ako ti treba kompletan kod i za niz, vici.

P.S. Trebalo bi da se pomucis i provalis kako funkcionisu tokovi (TFileStream, TMemoryStream itd.) i shvatices da su fleksibilniji... zapisi su zastareli

P.P.S. kompajler ti nece dozvoliti da u zapisu koji snimas koristis String neodredjene duzine! Moraces da koristis niz sa definisanom duzinom - FName; String[255] -> maksimalna duzina (zato sam uvek i mrzeo zapise
Don't try to impress me... I'm good !
 
Odgovor na temu

manja
Nemanja MIljkovic
Stapar

Član broj: 5755
Poruke: 12
62.108.126.*



Profil

icon Re: Rad sa zapisima13.10.2002. u 13:08 - pre 261 meseci
Hvala na prethodnim odgovorima malo mi je pomoglo ali jos imam problema....

Kod izgleda ovako

type
knjiga = record
autor: string[30];
naziv: string[30];
end;
biblioteka = file of knjiga;
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
bibli : knjiga;
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var f1: biblioteka ;
begin
bibli.autor := Edit1.Text;
bibli.naziv := Edit1.Text;
assign(f1,'ucenici.dat');
rewrite(f1);
end;

end.




i javi mi sledecu gresku!!!

Da li moze neko da mi pomogne u cemu je problem??
 
Odgovor na temu

goblin
Milan Aleksic
Gtech Belgrade, Sofware Engineer II
Beograd

Član broj: 4055
Poruke: 85
*.ptt.yu

Jabber: milanaleksic@gmail.com
Sajt: www.milanaleksic.net


Profil

icon Re: Rad sa zapisima13.10.2002. u 13:20 - pre 261 meseci
nisi napisao koju ti gresku prijavljuje, ali evo otprilike...
Ne smes da koristis staru Pascal komandu Assign za fajlove - upotrebi novu (Delphi) AssignFile funkciju. Takodje, nisi uopste upisao podatke zapisa u fajl... rewrite funkcija t samo priprema fajl za pisanje podataka... mora da sledi write komanda koja vrsi realno pisanje podataka. izostavio si i komandu CloseFile koju treba da dodas posle Write komande!

Stvarno ti preporucujem neku dobru knjigu za Pascal - iskopaj negde "Delphi 1 punom snagom" da te uvede u programiranje u windows-u, a onda predji na Mastering Delphi od Kantua... pa onda biraj sam (bez muke nema ni nauke
Don't try to impress me... I'm good !
 
Odgovor na temu

manja
Nemanja MIljkovic
Stapar

Član broj: 5755
Poruke: 12
62.108.126.*



Profil

icon Re: Rad sa zapisima14.10.2002. u 15:08 - pre 261 meseci
Uspeo sam ali samo da sacuvam jedan zapis, i kada unesem sledeci uvek mi ostane onaj poslednji a prethodni se brise!

Koja je naredba umesto rewrite , znaci da ne obrise postojece podatke u fajlu. I gde treba da stavim for brojac kako bi napravio niz zapisa , koje bi mogao kasnije posebno da pozivam jedan po jedan!



Recimo imam

ime Petar
prezime Petrovic
telefon 225852

ime Nikola
prezime Peric
telefon 254785

i kasnije da pozovem samo onaj zapis koji mi bude trebao!!


 
Odgovor na temu

manja
Nemanja MIljkovic
Stapar

Član broj: 5755
Poruke: 12
62.108.126.*



Profil

icon Re: Rad sa zapisima15.10.2002. u 14:58 - pre 261 meseci
Da li neko moze da mi pomogne i da odgovori na prethodnu poruku jer stvarno ne mogu da nadjem drugi izvor kako bi resio problem!!!


Hvala!
 
Odgovor na temu

star13

Član broj: 5762
Poruke: 8
*.net.hinet.hr



Profil

icon Re: Rad sa zapisima15.10.2002. u 16:54 - pre 261 meseci
Pogledaj na adresi http//delphi.denova.hr. To je škola delphija. Mislim da je sličan primjer tamo obrađen, ali provjeri. Ako ne nađeš rješenje javi se ponovo.
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
*.verat.net



+11 Profil

icon Re: Rad sa zapisima15.10.2002. u 19:24 - pre 261 meseci
Citat:
manja:
Da li neko moze da mi pomogne i da odgovori na prethodnu poruku jer stvarno ne mogu da nadjem drugi izvor kako bi resio problem!!!


Ah sto ce ti neko poverovati. Pre ce biti da te mrzi da trazis.

Otvori Delphi, pritisni F1 (to ti je da ti se otvori Help sistem), idi na Index i onda ukucaj kljuc: file management routines

I da vidis koliko pomoci ima, skoro svaka komanda ima kompletan pimer koji radi samo ga sa copy/paste prebacis u svoj program.

Kao sto ti momak pre mene rece, to [to ti kukumavcis da ne mozes da nadjes ima u SVAKOJ knjizi o Pascalu jer je to osnovni rad sa datotekama i naravno u Helpu, koji svaki programer treba prvo da preceslja uzduz i popreko.

 
Odgovor na temu

manja
Nemanja MIljkovic
Stapar

Član broj: 5755
Poruke: 12
62.108.126.*



Profil

icon Re: Rad sa zapisima15.10.2002. u 19:33 - pre 261 meseci
MOgu ti reci da u delphi helpu nemam adekvatno resenje a od knjiga imam Delphi punom snagom , Delphi 5 detaljni izvornik , delphi sa resenim zadacima i nema objasnjenja osim za naredbu rewrite!!!




Hvala ti na odgovoru!!!!!!!
 
Odgovor na temu

manja
Nemanja MIljkovic
Stapar

Član broj: 5755
Poruke: 12
62.108.126.*



Profil

icon Re: Rad sa zapisima11.11.2002. u 20:12 - pre 260 meseci
Da li moze neko da mi pomogne kako u Delphi-ju , sadrzaj celog zapisa da ispisem na ekran i to da otprilike izgleda ovako...


ime prezime
Petar Petrovic
Sima Simic
Janko Jankovic
idt...


Znaci sa kojom bi to komponentom najbolje mogao da odradim , odnosno kako???
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
80.93.225.*



+62 Profil

icon Re: Rad sa zapisima13.11.2002. u 11:58 - pre 260 meseci
Posto imas tolike knjige i ne pomazu ti (jer si totalni pocetnik), preporucicu ti jednu staru knjigu za Delphi od Laslo Kraus-a. Mislim da postoje dve, uzmi stariju (po verziji u naslovu). Tu imas lepo objasnjen rad sa komponentima. A to sto ti niko odavde ne daje konkretan odgovor (pa ni ja), to je samo zato sto postoji MALI MILION nacina da se tvoj problem uradi. Jednostavno nemamo vremena da te ucimo svemu od pocetka...
Prema tome, kreni redom.

Rajko
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Rad sa zapisima

[ Pregleda: 5106 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.