Tassos

Read/Write File (Pascal)

Feb 8th, 2014
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 3.52 KB | None | 0 0
  1. {                              Visit:   http://g-lts.no-ip.info/  for more code!              }
  2.  
  3. program make_read_file;
  4.  
  5. type fint=file of integer;                    
  6.  
  7. // diadikasia pou grafis antikimena sto arxio..
  8. //===============================================
  9.          
  10. procedure makefile (var g:fint);
  11. var ari8mos,epilogi,pli8os_antikimenon_sto_arxio:integer;
  12. begin
  13.     rewrite(g);
  14.     pli8os_antikimenon_sto_arxio :=0;
  15.  
  16.     writeln('Θέλετε να γράψετε στο αρχείο;');
  17.     writeln('1=Ναι.');
  18.     writeln('2=Όχι, Θέλω να φύγω.');
  19.     write ('Τι θέλετε : '); readln(epilogi);
  20.  
  21.     while ( (epilogi = 1) or (epilogi <> 2) ) do
  22.     begin // an auto pou epele3e ine 1 'h diaforetiko tou 2..
  23.          if epilogi = 1 then
  24.          begin
  25.               while (epilogi=1) do
  26.               begin // an epel3e 1 tote..                                    
  27.                    write('Γράψτε έναν πραγματικό αριθμό στο αρχείο : ');readln(ari8mos);
  28.                    g^:=ari8mos; // dose ton ari8mo sto g buffer
  29.                    put(g); // ke balton sti 8esi tou arxiou
  30.                    pli8os_antikimenon_sto_arxio:= pli8os_antikimenon_sto_arxio+1; //kratame ke to pli8os..
  31.                    writeln('Θέλετε να προσθέσετε και άλλο αριθμό στο αρχείο;');
  32.                    writeln('1=Ναι.');
  33.                    writeln('2=Όχι, Θέλω να φύγω.'); // ksanadiabazi.. ke 3ana pezi i while
  34.                    write ('Τι θέλετε : '); readln(epilogi); // me tin ena tou epilogi..
  35.               end;
  36.          end
  37.  
  38.           else if (epilogi<>2)  then
  39.               begin // an ine diaforetiko tou 2 tou leme ekanes la8os epilogi...
  40.                   write ('Λάθος επιλογή. Ξανά επιλέξτε : '); readln(epilogi);
  41.               end;
  42.  
  43. end;
  44.  
  45.          if (epilogi=2) then // an epile3i 2 tote petaton e3o..
  46.              if pli8os_antikimenon_sto_arxio>0 then
  47.                   writeln ('Εγγραφή ',pli8os_antikimenon_sto_arxio,' αντικειμένων στο αρχείο............ [OK]')
  48.              else
  49.                  writeln ('Γεια σας. :-D');
  50. end;
  51.  
  52. //======================================
  53. // diadikasia pou emfanizi ta antikimena tou arxiou
  54.  
  55. procedure readfile(var f:fint);
  56. begin
  57.  
  58.     reset(f);
  59.     writeln ('Τα αντικείμενα του αρχείου είναι : ');
  60.  
  61.     while not eof(f) do // oso to arxio den exi teliosi
  62.     begin
  63.         writeln(f^);   // gra4e stin o8oni oti exi sto file buffer
  64.         get(f);  // metakinise ton file buffer* stin epomeni 8esi tou arxiou
  65.     end;
  66.  
  67. end;
  68.  
  69. // * Tin kefali ousiastiki anagnosis/eggrafis (R/W Header).
  70.  
  71. // =================================
  72. // Kirios programma!
  73.  
  74. var f:fint; epilogi:char;
  75. begin
  76.     assign (f,'makefile.txt');
  77.     writeln ('Καλώς ήρθατε.');
  78.  
  79.     write('Τι θέλετε να κάνετε;');
  80.     write(' (R)ead, (W)rite, (E)xit : ');readln(epilogi);
  81.  
  82.     while ( (epilogi='R') or (epilogi='r')or(epilogi='W') or (epilogi='w') ) do
  83.     begin
  84.            
  85.         if ( (epilogi='R') or (epilogi='r') ) then
  86.             readfile(f)
  87.         else if ( (epilogi='W') or (epilogi='w') ) then
  88.             makefile(f);
  89.  
  90.     write('Τι θέλετε να κάνετε;');
  91.     write(' (R)ead, (W)rite, (E)xit : ');readln(epilogi);
  92.  
  93.     end;
  94. end.
  95.  
  96. {                              Visit:   http://g-lts.no-ip.info/  for more code!              }
Advertisement
Add Comment
Please, Sign In to add comment