Hirdetés

Új hozzászólás Aktív témák

  • VladimirR

    nagyúr

    válasz lamadou #531 üzenetére

    tipusok:
    text -> szoveges file, sorokat tudunk bele ini/olvasni (irni lehet stringet is, akar tobbet is egy sorba)
    file -> tipus nelkuli file, blokkokat irunk/olvasunk
    file of xxx -> tipusos file, ahol xxx lehet szinte barmely tipus

    eljarasok:

    assign(var f, name:string)
    f allomany tipusu valtozohoz (logikai allomanyhoz) hozzarendeli name fizikai allomanyt. a logikai allomanyra vonatkozo minden tovabbi muvelet name fizikai allomanyra vonatkozik. a kapcsolat a program vegeig tart, hacsak egy ujabb assign eljarassal nem rendelunk a logikai valtozohoz egy masik fizikai allomanyt. name tartalmazhat teljes utvonalleirast is, hossza maximalisan 79 karakter lehet. name azonosithat dos periferiat is: con, lpt1 (=prn), lpt2, lpt3, com1 (=aux), com2, nul. ha name ures karakterlanc, az eljaras f-hez a con periferiat rendeli
    *nyitott allomanyra nem szabad hasznalni

    append(var f: text) (A kettőspont és a ''t'' közé nem kell space, de a fórummotor smiley-vá alakította, ezért tettem. Bash)
    megnyitja irasra az f szoveges allomanyt es az allomany aktualis poziciojat az allomany vegere allitja - a kovetkezo irasok bovitik az allomanyt. ha az allomany nyitva volt, akkor az eljaras bezarja, majd ujranyitja azt. amennyiben az utolso 128 bajtos blokkban volt allomanyvegjel (^Z, vagyis #26 karakter), akkor az aktualis pozicio az elso ilyenre all. f allomanybaltozot elozoleg az assign eljarassal egy letrezo fizikai allopmanyhoz kell rendelni. ha f-hez az ures karakterlancot rendeljuk, akkor az iras a szabvanyos b/k eszkozre (con) tortenik. $I- eseten az ioresult figgvennyel a nyitas eredmenye lekerdezheto

    reset(var f [ :file; recsize:word)
    megnyitja az assign eljarassal elozoleg f-hez rendelt, letezo fizikai allomanyt es az allomanymutatot az allomany elejere allitja (filepos(f)=0). ha az allomany ures (0 hosszusagu, illetve szoveges allomany eseten az elso karakter a ^Z), akkor eof(f)=true. ha f szoveges tipusu, akkor csak olvasni lehet az allomanybol, mig tipusos es tipus nelkuli allomanyok irhatoak es olvashatoak is lesznek az eljaras hivasa utan. tipusnelkuli allomanyok eseteben megadhato a rekordmneret is recsize parameterben, ha nem adjuk, meg, 128bajt lesz. ha f allomanyvaltozohoz ures karakterlancot rendeltunk, akkor az input allomanyt nyitja meg - ez az inicializalo reszben automatikusan megtortenik a program inditasakor. ha az eljaras nyitott allomanyra alkalmazzuk, akkor azt automatikusan lezarja az ujranyitas elott. $I- eseten az ioresult fuggvennyel a nyitas eredmenyessege lekerdezheto

    rewrite(var f [ :file; recsize:word)
    ha az assign eljarassal elozoleg f allomanyvaltozohoz rendelt fizikai allomany meg nem letezik, letrehozza azt es szoveges allomany eseteben irasra, tipusos es tipus nelkuli allomany eseteben irsra es olvasasra megnyitja. ha a fizikai allomany mar letezik, akkor elobb torli annak tartalmat. az allomanymutato az allomany elejere all (filepos(f)=0) es az allomany ures lesz (filesize(f)=0). ha f allomanyvaltozohoz ures karakterlancot rendelunk, akkor az output allomanyt nyitja meg irasra - az az inicaializalo reszben automatikusan megtortenik a program indulasakor. tipus nelkuli allaomanyok eseten a recsize parameterret a rekordmeret adhato meg, egyebkent az 128 bajt lesz. $I- eseten az ioresult fuggvennyel a nyitas eredmenyessege lekerdezheto

    close(var f) lezarja az elozoleg reset, rewrite, vagy append eljarassal; megnyitott f logikai allomany. lezaras elott meg a pufferben maradt adatokat kiirja az allomanyba, a katalogust aktualizalja. vegul felszabaditja az allomanyhoz tartozo kezeloszamot (dos handle) tovabbi felhasznalas celjara. a muvelet eredmenyessege $I- mellett az ioresult fugvennyel lekerdezheto

    (volna meg legalabb ennyi, de most lusta vagyok begepelni, ha keritek beirom a tobbit is)

    forras: Angster Erzsébet - Kertész Lászóo: Turbo Pascal 6.0 'A' .. 'Z'

Új hozzászólás Aktív témák