[ voj@ @ 11.06.2003. 00:02 ] @
Radim nesto Pascal ovih dana,fajlove,postoje Textualni,znaci obicni i Binarni koji mogu biti Typed(uglavnom za ispis recorda ili njegovo snimanje koliko sam skonto) i Untyped (slkuze za prikaz i sadrze sliku i ziku).
Rad sa obicnim textualnim kao znam ali me zbunjuju ovi binarni typed znaci ne znam kako da ih ispisem ili sacuvam u njih nesto,konkretno treba mi za high score moje igrice ,recimo da je sadrzaj recorda "r.ime" i "r.score" koji je u samoj strukturi obican integer(ne znam ni da li moze ovako) i predstavljen je varijabilom znaci integerom "a",e sada kako da taj "a" prispojim "r.score" i da to uz "r.ime" unesem u binarni fajl i onda snimim i na kraju prikazem(ne mora po redosledu),znaci moze li mi iko mailovati ili objaviti ovdje kod za snimanje i prikaz Binary Typed File i njegovo prikazivanje,ja sam nesto probavao i improvizovao ali nije islo,takodje moze li mi neko pojasniti primjenu Untyped fajlova znam da se koristi ono "blockread" i "blockwrite" ali nisam skonto kako mogu ista prikazati preko njih unaprijed hvala i pozdrav svima...
[ Rapaic Rajko @ 11.06.2003. 15:31 ] @
1) Untyped file mozes uslovno posmatrati kao typed file sa record-om velicine 1 bajt.
2) BlockRead i BlockWrite rade i sa typed fajlovima; citaj pazljivo help o ovim funkcijama i bice ti jasno.
3) NE POSTOJE razlicite vrste fajlova, vec postoje razliciti pristupi fajlu. Sta to znaci? Znaci da mozes otvoriti text fajl kao binary, i obratno - binary fajl kao text (samo sto to cudno izgleda).
4) Ako napravis neki record i napravis 'file of type', a zelis da mu pristupas sa BlockRead i BlockWrite, pogledaj funkciju sizeof(); trebace ti zbog velicine recorda.
Poz

Rajko
[ tomdam @ 11.06.2003. 18:24 ] @
Code:

type 
rezultat=record
ime:string;
score:integer;
end;
TFajl=file of rezultat;

var F:TFajl;
r:rezultat;
a:integer;
ime:string;
.............

assign(F,'rezultati.txt');
rewrite(F); //ili reset(F) ,  pogledaj u helpu razliku
r.ime:='neko ime'; 
r.score:=a; // a je rezultat ,koji si ranije upisao.
write(F,r);
close(F);

Pokusaj nesto ovako.
Najbolje je da pogledas u helpu o funkcijama za rad sa binarnim fajlovima. Imas tamo i neke dobre primere.
Pozdrav.
[ kingrale @ 12.06.2003. 14:14 ] @
Sto si takav, daj covjeku sta se ima peglat po helpu :)

rewrite(F) - brise sav prethodni sadrzaj i postavlja pokazivac na pocetak.
reset(F) - postavlja pokazivac na pocetak.
[ tomdam @ 13.06.2003. 01:34 ] @
Citat:
Sto si takav, daj covjeku sta se ima peglat po helpu :)

rewrite(F) - brise sav prethodni sadrzaj i postavlja pokazivac na pocetak.
reset(F) - postavlja pokazivac na pocetak.

Pa ajd kad si toliko navalio , da te malo dopunim.

rewrite(F) - Otvara datoteku u režimu pisanja. Ukoliko datoteka ne postoji, vrši kreiranje iste, u suprotnom briše prethodni sadržaj datoteke.

reset(F) - Otvara datoteku u režimu čitanja. Postavlja fajl pointer na prvi slog u datoteci. Ukoliko datoteka ne postoji program puca (naravno ovo može da se izbegne).
Provera da li postoji može da se odradi otprilike ovako:

Code:

{$I-}
reset(F);
if IOResult<>0 then rewrite(F);
{$I+}


Pozdrav.
[ kingrale @ 13.06.2003. 12:14 ] @
Nek se onda nadje nesto i za delphine/Ukoliko neko zeli sa delphijem ovo isto da radi:

Assign=AssignFile
Close=CloseFile

Poz

P.S. Bez zamjerke, postam iz dosade. Znam da se treba odgovarat samo na postavljena pitanja ali dosada cini svoje. Valjda se nece niko naljutit :/
[ voj@ @ 13.06.2003. 21:59 ] @
hej hvala svima na odgovorima,odmah cu probati da implementiram kod u moj vec postojeci,tako je nesto glasio i moj kod samo sto mi jos ranije nisu bili jasni "records" i "type"(koji i ne mora biti record koliko sam zadnjih dana skontao) ali sada mi se vec kristalizuje sve i kontekst i sintaksa pascala,inace teoriju sam dobro savladao sve te finese kao znam samo mi je implementacija problem ali ona se jedino moze nauciti upornom i ucestalom vjezbom valjda,eto da ne smaram vise hvala i pozdrav svima...
voj@
[ Che-Lik @ 18.06.2003. 03:32 ] @
Samo bih dodao jos jednu korisnu informaciju:

Ukoliko zelis da dodas u fajl koristi proceduru Append ili ti isto u delfiju

procedure Append(var F: Text);

Aj' u zdravlje
[ voj@ @ 18.06.2003. 23:05 ] @
ok hvala skonto sam to,sada lijepo dodaje record u fajl,imam malih problema sa prikazivanjem ali skontacu i to,nego kada mu prispojim integer varijabilu koja je score onda u zapisanom fajlu pored unesenog imena prikazuje neku drugu vrijednost koja nije taj score koji je u igri dobiven,da li ima neka caka koju ne znam,mislim da li se treba konvertovati taj broj ili slicno...???!!!pozdrav