http://www.adaconcept.com/programs/fajlkezeles.adb
with Ada.text_io;
use Ada.text_io;
procedure fajlkezeles is
letrehozandofajl:file_type; --ezzel hozunk letre egy uj fajlt
fajl:file_type; --ezzel hasznaljuk a letrehozott fajlt
megnyitasimod:file_mode;
ch:character; --a fajl-bol kiolvasott karakterekhez
sor:string(1..255); --|a fajl-bol kiolvasott sorokhoz
sor_hossz:natural; --| (a kiolvasott sor hosszat tartalmazza)
fajlba_irando_sor:string:="A nap ide betuz, "; --ezt irjuk ki a fajl-ba... :)
begin
put_line("program indul");
create(letrehozandofajl,in_file,"ujfajl.txt"); --letrehozzuk az uj fajlt (fajlleiro,megnyitasi mod,fajlnev)
close(letrehozandofajl); --lezarjuk a letrehozandofajl-unkat!!!!
open(fajl,out_file,"ujfajl.txt"); --|megnyitjuk a fajl-t irasra. (fajlleiro,megnyitasi mod,fajlnev)
--|(megnyitasi modok: in_file, out_file, append_file) = (olvasas, iras (torli a fajl tartalmat), hozzairas)
if is_open(fajl) then --ha mar megnyitottuk a fajl-t akkor...
set_col(20); --erdekesseg: a 20 oszlopban kezdi a kiirast a kepernyore (vagy set_col(fajl,20); eseten a fajl-ba)
megnyitasimod:=mode(fajl); --|a fajl megnyitasi modjanak lekerdezese...
put_line(file_mode'image(megnyitasimod)); --|..es ennek kiirasa
put_line(name(fajl)); --a fajl nevenek es eleresi utjanak lekerdezese
else put_line("nincs megnyitva a fajl");
end if;
new_line;
new_line;
------------------------------------iras a fajl-ba...
put(fajl,"Ulok a budin, log a frok, "); --igy irunk a fajl-ba string-et...
new_line(fajl); --sortores a fajl-ba
put(fajl,'s'); --|karakterek irasa a fajl-ba
put(fajl,'z'); --|
put(fajl,"arok");
close(fajl); --lezarjuk a fajl-t
open(fajl,append_file,"ujfajl.txt"); --megnyitjuk hozzairasra a fajl-t
put(fajl,fajlba_irando_sor(1..fajlba_irando_sor'last)); --legyen ilyen is...
put(fajl,"engem innen eluz, ");
new_line(fajl);
put(fajl,"a buz.");
close(fajl); --lezarjuk a fajl-t
open(fajl,in_file,"ujfajl.txt"); --|megnyitjuk a fajl-t olvasasra. (fajlleiro,megnyitasi mod,fajlnev)
--|(megnyitasi modok: in_file, out_file, append_file) = (olvasas, iras (torli a fajl tartalmat), hozzairas)
------------------------------------olvasas a fajl-bol soronkent
while not end_of_file(fajl) loop --ciklus, amig nincs vege a fajl-nak...
get_line(fajl,sor,sor_hossz); --kiolvasunk a fajl-bol egy sort, a sor string-be (ennek a sornak a hossza kerul a sor_hossz valtozoba)
put(sor(1..sor_hossz)); --kiirjuk a kepernyore a kiolvasott sort
new_line;
end loop;
reset(fajl,in_file); --"ujranyitjuk" a fajl-t olvasasra (az elejere pozicionalunk ujra!!!)
new_line(2); --erdekesseg: kiirunk a kepernyore 2 sortorest (vagy new_line(fajl,2); eseten a fajlba)
------------------------------------olvasas a fajl-bol karakterenkent
while not end_of_file(fajl) loop --ciklus, amig nincs vege a fajl-nak...
while not end_of_line(fajl) loop --ciklus, amig nincs vege a fajl egy (,az aktualis) soranak...
get(fajl,ch); --kiolvasunk egy karaktert a fajl-bol a ch valtozoba
put(ch); --kiirjuk a kepernyore
end loop;
if not end_of_file(fajl) then
skip_line(fajl); --a kovetkezo sorra ugrunk a fajl-ban (, ha nincs vege a fajl-nak)
new_line;
end if;
end loop;
close(fajl); --lezarjuk a fajl-t
new_line;
new_line;
put_line("program vege");
end;