[ zeko_sisko @ 29.03.2011. 10:31 ] @
Pozdrav svima.

Imam jedan problem vezan sa radom sa datotekama u Turbo Pascalu. Naime, nikako ne mogu ucitati podatke u datoteku ili iscitati iz nje, ako je tip datotecne promjenljive integer ili real. U slucaju da je text, radi normalno.
Npr.
Citat:

program aaa;
var a: file of integer;
i: integer;
begin
assign(a, 'dat.dat');
reset(a);
while not eof(a) do
begin
read(a, i);
writeln(i);
end;
close(a);
readln();
end.

Ovaj program u konzuli ispise neke slucajne brojeve koje uzme iz memorije. Slicaj rezultat se dobije sa upisom podataka u datoteku.

Hvala
[ B_i_lj_a @ 03.05.2011. 21:14 ] @
Možda vam je objašnjenje trebalo ranije, ali tek sada sam pročitala zadatak. Nije mi baš jasno šta hoćete da uradite, ali ono što vidim na prvi pogled to je da ste otvorili datoteku za čitanje (reset) a da niste ništa u nju upisali sa rewrite. Evo jednog lepog primera pa ga isprobajte:
Neka je data celobrojna datoteka f1 čije je fizičko ime "znaci.dat" u koju se upisuju brojevi. Napiši program kojim se upisuju brojevi u datoteku, a zatim čitaju i množe. Prikaži dobijeni proizvod svih pročitanih brojeva. Sledi program:
Code:

Program Proizvod;
Type broj=file of integer;
Var    
        f1:broj;
        i,x,n,p:integer;
Begin
        Write('Unesi broj n: '); {Da bismo znali koliko brojeva unosimo u datoteku}
        Readln(n);
        Assign(f1,"znaci.dat");
        Rewrite(f1);               {otvaramo datoteku za upis}
        Writeln('Unesi brojeve u datoteku: ');
        For i:=1 To n  Do
          Begin
              Read(x);
              Write(f1,x)
          End;
       Close(f1);
       {ponovo otvaramo datoteku, ali sada za citanje sa reset}
       Reset(f1);
       p:=1;
       While not eof (f1) Do
         Begin
            Read(f1,x);
            p:=p*x
         End;
      Writeln('Proizvod procitanih brojeva je: ',p:8);
      Close(f1)
End.

Test primer:
Unesi broj n: 10
Unesi brojeve u datoteku:
1 2 1 1 3 3 5 5 2 2
Proizvod procitanih brojeva je: 1800

Toliko, probajte. Pozdrav

[Ovu poruku je menjao savkic dana 04.05.2011. u 03:32 GMT+1]