TYPE TEXT = FILE OF CHAR;
Жалпы Паскаль программалау жүйесінде файлдардың 3 түрі
қолданылады:
•
жазбалар типіндегі файлдар (типтелген файлдар);
256
•
ұзындықтары белгісіз сөз тіркестерінен тұратын мəтіндік
файлдар;
•
жазбалар блоктары түріндегі мəліметтерді тасымалдау
(жазу немесе оқу) үшін қолданылатын типсіз файлдар.
Файлдармен жұмыс істеу барысында төмендегі ережелерді
есте сақтаған жөн:
•
қолданылатын барлық файл аттары программа тақыры-
бында көрсетілуі мүмкін;
•
мəтіндік файлдар TEXT типімен сипатталуы тиіс;
•
программадағы əрбір файл сыртқы құрылғыда орналасқан
нақты бір файлмен сəйкес келуі керек, олардың сəйкестігі
ASSIGN процедурасы арқылы тағайын далуы тиіс;
•
белгілі бір файлда бұрын жазылған мəліметті оқу, түзету не-
месе толықтыру үшін RESET процедурасы қолданылады,
мəлімет жазу үшін жаңадан файл ашу ісі – REWRITE
процедурасы арқылы орындалады;
•
файлмен жұмыс істеу аяқталған соң, оны CLOSE проце-
дурасымен жабу қажет.
Файл деп көбінесе компьютердің сыртқы жадында – дис-
кеттерде, винчестерлерде, CD-лерде немесе олардан басқа есте
сақтау құрылғыларында жəне де енгізу-шығару құрылғыларында
орналасқан белгілі бір ат қойылған мəліметтер тізбегін (файл
компо
нент
терін) айтады. Файлдарда мəтін, программа, сандық
мəліметтер, графикалық бейне лер жəне т.с.с. ақпараттар түрлері
сақталады. Файлдарды пайдадалану ісін ұйымдастыру барысын-
да Паскаль программалары MS DOS операциялық жүйесімен
бірігіп отырып жұмыс жасайды.
MS DOS файлдық жүйесі
Мəтіндер мен программаларды тұрақты сақтауға арналған
дискідегі мəліметтер жиыны файл деп аталады. Операциялық
жүйе жұмысы үшін керекті мəліметтер рөлін əртүрлі типтегі
файлдар атқарады. Дискіде аттары əртүрлі көптеген файлдар
сақталады.
Файлдар аттары MS DOS жүйесінде төмендегі талаптарға
сəйкес келуі тиіс:
257
•
файл аты – бірден сегіз таңбаға дейінгі латын əрпінен
баста латын сандар мен латын əріптері жиыны;
•
файл атының үш таңбадан аспайтын екінші бөлігі типі бо-
лып саналады, ол файл атынан нүктемен бөлінеді. Типті
файл атының кеңей тілуі деп те айтады, тип кейде болмауы
да мүмкін;
•
файл аты мен типін жазу үшін латынның бас жəне кіші
əріптері, араб цифрлары, кейбір арнайы символдар, мы-
салы, астын сызу таңбасы «_» немесе доллар белгісі «$»
пайдаланылуы мүмкін;
•
файл аты ретінде MS DOS операциялық жүйесінде
кейбір құрылғылар аттары ретінде пайдаланылатын сөз
тіркестерін пайдалануға болмайды, олар: PRN, CON, NUL,
COM1, COM2, AUX, LPT1, LPT2, LPT3.
Windows типтес операциялық жүйелерде бұл заңдылықтар
сақталмайды, мысалы, файл аты 255 символға дейін ұзартылған
жəне орыс, қазақ əріптері де қолданыла береді. Бірақ Паскаль
программалау тілінде MS DOS ережелерін толық сақтаған жөн.
Əдетте, файл аты оның мазмұнымен сəйкес етіп құрылады,
ал оның 3 таңбадан аспайтын кеңейтілуі сақталатын мəліметтер
типін (Windows-те суреті, белгішесі) көрсетеді. Файлдарды
кеңейтілуі бойынша айырып тануға мүмкіндік беретін MS DOS
операциялық жүйесінің мына төмендегідей стандартты типтері
бар:
.СОМ, .ЕХЕ - тікелей атқарылуға арналған командалық файл-
дар;
.DАТ - мəліметтер файлы;
.DОС - Word программасында дайындалған құжаттық файл;
.РАS .BAS .СРР – Паскаль, Бейсик, С++ тілдерінде жазылған
программалық файлдар;
.ТХТ - Блокнот программасында дайындалған мəтіндік
(текстік) файл.
Файлдың толық атының мысалдары:
СОММАND.СОМ
NORTON.ЕХЕ
TANIA7.DOC Arman2.txt
START Game.BAS
AIGUL.СРР MARAT.doc ТЕХТ1
258
Файлды дискіге жазғанда немесе өзгерткенде оның көлемі,
жазылған уақыты, мерзімі де тіркеледі. Файлдың аты, типі,
байт пен берілген көле мі, операциялық жүйенің календары мен
сағатынан алынып жазылған күні, айы, сағаты файлдың атри-
буттары (көрсеткіштері) деп аталады. Олар файл жазылғанда,
өзгертілгенде немесе көшірілгенде тіркеліп отырады.
Кейбір командаларды орындау барысында файлдардың атын
толық көрсетпеуге болады, мұндайда MS DOS жүйесі файлдар
тобын іздейді.
Кейде файлдардың біреуін ғана емес, қатар орналасқан
бірнешеуін топтауға тура келеді. Мұны файлдың атына шаблон-
дарды немесе нұсқа
ларды, яғни «*» жəне «?» белгілерін қою
арқылы істеуге болады.
* - файлдың атындағы кез келген сөз тіркестерін білдіреді;
? - файлдың атындағы болуы мүмкін кез келген таңбаны не-
месе оның болмауын да көрсетеді.
Мысалы:
1 KOL* - аты КОL əріптерінен басталатын барлық файлдар
тобын көрсетеді (kolia.txt, kolem.doc, kol7.bas, KOL.PAS,
KOLKA, т с.с.);
2 *.EXE - типі EXE болып келген барлық файлдар тобы
(alma.exe, talon.exe, kolia.e, a141.exe, beta.exe ...);
3 *.* - жұмыс істеп отырған ағымдағы (үстіміздегі)
каталогтағы бар лық файлдарды көрсетеді;
4 * - типі көрсетілмеген файлдар тобын көрсетеді (yakitsha,
alia, ...);
5 ???.BAS - типіBAS болып келген аты бір, екі жəне үш
таңбадан тұратын файлдар тобы (ali.bas, a.bas, t1.bas, tor.
bas, olia.bas ...);
6 А?.* - аты А таңбасынан тұратын жəне А əрпінен басталып
екі таңбадан тұратын типі кез келген сөз болатын файлдар
тобы (a.txt, a.com, as.doc, a2.bas, ad.pas ...).
MS DOS дискетке (винчестерге де) мəліметтер жазардан
бұрын ол арнайы тəсілмені белгіленуі (форматталуы) керек. Бел-
гілеу операциялық жүйенің арнайы командасымен орындалады.
Бұрын пайдаланылған диск форматталса, ондағы барлық мəлімет
толығымен өшіріледі де, кейіннен қалпына келтірілмейді.
259
Дискілерде көптеген файлдар сақталады, мысалы, винчес-
терде мыңдаған файлдар болады. Оларды кітапханадағы тəрізді
каталогтарға (бумаларға) бөліп, бірінің ішіне бірі орналасқан
каталогтар бұтақ тəрізді көп сатылы (иерархиялы) файл дар
жүйесін құрайды. Дискіні форматтағанда, онда мəліметтер жа-
зылатын басты немесе түпкі каталогы ашылады, оның аты бол-
майды. Келесі деңгей каталогы міндетті түрде белгілі бір атаумен
белгіленеді.
Бір каталогқа аттары бірдей екі файлды орналастыруға бол-
майды, оның соңғысы жазыларда алдыңғысы бірден жойылып
кетеді, бірақ аттас файлдар əртүрлі каталогтарда орналаса береді.
Бір каталог екінші бір каталогтың ішінде орналаса береді,
мұндайда ол бағынышты атанып, сатылы түрде бұл каталогқа
басқа бір каталог бағынышты болып орналасуы мүмкін. Осындай
түрде бұтақ тəрізді файл дар жүйесі құралады. Каталогтарды құру
жəне өшіру арнайы командалар арқылы орындалады.
Файлдар бұтақ тəрізді күрделі түрде құрылса, онда оның тек
өз атын ғана емес, сонымен қатар орналасқан каталогын, оның
түпкі каталогпен байланысын, диск атын көрсету қажет. Мұндай
файлдың нақты тұрағын (адресін) көрсететін ката логтар тізбегін -
маршрут немесе жол деп те атайды. Сонымен, файл толық түрде
мынадай элементтермен беріледі:
1) дискінің аты, ол бірақ кейде көрсетілмей де кетеді;
2) бірінің ішіне бірі кіретін каталогтар тізбегінің аттарынан
тұратын маршрут (ол да кейде көрсетілмей кетеді);
3) тізбекті аяқтайтын файлдың өз аты (файл тізімдегі ең соңғы
ката логта орналасады).
Уақыттың əрбір мезетінде бір диск ағымдағы екпінді күйде
болады, оның айғағы MS DOS шақыруы, яғни жұмыс істеп тұрған
диск мен файл дар маршруты атының көрсетілуі.
Бағынышты каталогтар тізбегі бір-бірінен «\» таңбасымен
бөлініп жазылады, мысалы,
С:\DEMO> - DEMO С: дискісіндегі 1-деңгейлі каталог;
С:\DEMO\SYSTEM> - SYSTEM С: дискісіндегі 2-деңгейдегі
каталог. Əрбір мезетте бір ката
лог жұмыс атқарады да, ол
екпінді немесе активті (ағымдағы) деп аталады. Компьютер іске
қосылғанда мұндай каталог рөлін түпкі каталог атқарады неме-
260
се компьютер өшірілер кездегі екпінді болған каталог атқарады,
программалаушы өз қалауынша командалар көмегімен басқа ка-
талогты екпінді ете алады.
Мысалы:
А:> немесе С:\>
С:\DEMO\VICTOR> немесе С:\SYS\AZAT \ALMA>
Сонымен файлдың маршрутын немесе адресін толық көрсету
үшін дискінің атын, каталог аттарының тізбегін, ең соңында
файлдың атын жəне типін толық көрсету қажет. Жалпы ереже
бойынша файлдың толық аты төмендегідей болады.
[дискінің аты:\] [маршрут\] файлдың аты[.типі]
Тік (квадрат) жақшаның ішіндегі сөздер көрсетілмеуі де
мүмкін.
9.1-сурет. Файл құрылымынан мысал
9.2 Файлдармен жұмыс істеуге арналған процедуралар мен
функциялар
Файлдармен жұмыс істеу үшін төменде көрсетілген стандарт-
ты функциялар мен процедуралар қолданылады.
ASSIGN (<файл аты>,<сыртқы құрылғыдағы файл аты>) – бұл
процедура файлдық айнымалы мен сыртқы құрылғыдағы файл
атын байланыстырады. Мұндағы <файл аты> – бұл файлдық ай-
нымалы, яғни программада файлдық типте жарияланған дұрыс
идентификатор. <Сыртқы құрылғыдағы файл аты> – файл аты
болып табылатын мəтіндік өрнек немесе логикалық құрылғы
261
аты. Құрылғыдағы файл аты алдына сол файлдың тұрған орнын
бейнелейтін жолы, яғни маршруты – диск аты жəне (немесе)
ағымдағы каталог аты жəне оның жоғарғы деңгейіндегі каталог-
тар аттары көрсетілуі мүмкін.
Мысалы, assіgn(F,'А:\GF') процедурасы – А: дис-
кісіндегі GF файлын программадағы файл аты болып саналатын
F
айнымалысымен байланыстырады, программада ары қарай бұл
файлды пайдалану үшін жай ғана F деп көрсетсе жеткілікті.
RESET(<файл аты >) – тізбекті қатынасу кезінде мəлімет
оқу үшін бұрыннан бар файлды ашу процедурасы, ал тікелей
қатынасу кезінде бұрыннан бар файлдан мəлімет оқу, əрі оған
мəлімет жазу процедурасы. Мұнда файл көрсеткіші бірінші
жазбаға орналасады (оның нөмірі – 0). Басқаша айтқанда, мысалы,
RESET(F) – файлды бастапқы жағдайға келтіру болып табылады.
Бұл процедура F айнымалысына сəйкес келетін файл көрсеткішін
оның ең басына алып келеді. Файл бұдан бұрын ашылуы тиіс.
REWRITE(<файл аты >) – мəлімет жазылатын жаңа файл ашу
процедурасы. Егер осындай атты файл бұрыннан бар болса, онда
ол өшіріледі. Файл көрсеткіші бірінші жазба алдына орналасады.
Мысалы, rewrіte(F) процедурасы бойынша дискіде F деген атпен
құрамында ешбір компоненті болмайтын жаңа бос файл ашыла-
ды да, файл көрсеткіші оның алғашқы компоненті болатын орын-
ды көрсетіп тұрады.
READ(<файл аты>, <айнымалы>) – типі файл ком
по
нент-
терінің типімен сəйкес келетін айнымалыға файлдың келесі ком-
поненттерін оқу процедурасы. Мұнда файл көрсеткіші оқылған
компоненттер санына байланысты ары қарай ығысады. Мысалы,
READ(F, v
1
, v
2
, …, v
n
) – мұндағы F – файлдық айнымалының аты,
v
i
– файл компоненттерінің типіне сəйкес келетін айнымалылар
атауларының тізімі. Əрбір айнымалының мəні F файлының соған
сəйкес компонентіне тең болады да, əрбір мəнді оқығаннан кейін
көрсеткіш келесі компонентке ауысады.
WRITE(<файл аты>, <айнымалы>) – айнымалы мəндерін
файлдың ішкі көрсеткіші не сəйкес аты көрсетілген файлға жазу
процедурасы. Мұнда да файл көрсеткіші жазылған компоненттер
санына байланысты ары қарай ығысады. Мысалы, wrіte (F, v
1
, v
2
,
…, v
n
) арқылы файлға жазу кезінде əрбір айнымалының мəндері
262
(v
1
, v
2
, …, v
n
) файлдың компоненті түрінде тізбектеле жазылады,
одан кейін файлдың көрсеткіші келесі компонентке ауысады.
SEEK(<файл аты >, < компонент нөмірі >) – файлдың ағымдағы
ішкі көрсеткіші н керекті файл компонентіне орналастыру проце-
дурасы. Файл жазбаларымен тікелей қатынасу ісін ұйымдастыру
кезінде қолданылады. Мысалы, SEEK(F, N) – F файлының ішіндегі
N-нөмірлі компонентін іздеп табу. Файл көрсеткіші F файлының
N-нөмірлі компонентіне ауысады, мұндағы N – бүтін сан түріндегі
өрнек. Бұл процедура мəтіндік файлдар үшін қолданылмайды.
CLOSE(<файл аты >) – файлды жабу процедурасы. Жаңа
файл ашылған соң, міндетті түрде пайдаланылуы тиіс, əйтпесе
мəліметтер жоғалып кетуі мүмкін. Мысалы, CLOSE(F) проце-
дурасы F файлымен программаның мəлімет алмасу мүмкіндігін
тоқтатады.
ERASE(<файл аты >) – файлды өшіру процедурасы. Ашылған
файл бұған дейін жабылуы тиіс. Мысалы, ERASE(F) процедура-
сы дискідегі F файлын өшіреді. Өшірместен бұрын ол файлды
жабу керек.
RENAME(<ескі файл аты >, <жаңа файл аты >) – файл атын
өзгерту процедурасы. Файл жабылған соң қолданылады.
IORESULT – соңғы енгізу-шығару операциясының шартты
белгісін қайтару функциясы. Егер операция дұрыс аяқталса, функ-
ция нөл мəнін қайтарады. Бұл функция енгізу-шығару қателерін
автоматты түрде бақылауды алып тастағанда ғана жұмыс істейді.
Компилятордың {$I-} директивасы оны алып тастайды, ал {$I+} –
қателерді автобақылау амалын іске қосады. Егер автобақылау іске
қосылмай тұрғанда, енгізу-шығару операциясы қате шығуына
себепші болса, онда қате жалаушасы орнатылады да, одан кейінгі
барлық енгізу-шығару операциялары IORESULT функциясы
шақырылмағанша, орындалмайды.
EOF(<файл аты >) – end of fіle «файлдың соңы» функциясы,
ол аты көрсетілген файлдың (мысалы, F) ең соңына жеткеніміздің
көрсеткіші болады. Егер файл көрсеткіші оның ең соңында тұрса,
яғни ең соңғы компонент пайдаланылған болса, EOF логика-
лық функциясының мəні – true, ал файл соңына жетпесек, false
болады.
263
EOLN(<файл аты >) – мəтіндік файлдағы бір жолдың, яғни
қатардың соңын анық тайтын функция. Жолдың соңына жетсек,
оның мəні – TRUE, əйтпесе FALSE болады.
FILEPOS(<файл аты >) – файлдың ағымдағы жазбасы-
ның (компонентінің) нөмірін анықтау функциясы. Мысалы,
FІLEPOS(F) – F файлының көрсеткішінің нөмірін анықтайды.
FILESIZE(<файл аты >) – файлдың көлемін, яғни ондағы
компоненттер санын анықтайтын функция. FІLESІZE(F) –
ағымдағы F файлының көлемін, яғни ондағы компоненттер са-
нын анықтайды.
Жұмыс істеу барысында файлды қолданбастан бұрын
ASSІGN процедурасы арқылы оған белгілі бір айнымалы түрінде
ат беріледі. Файлға мəлімет жазбастан немесе одан оқымастан
бұрын міндетті түрде оны REWRІTE немесе RESET проце-
дуралары арқылы құру немесе ашу қажет. Бұл процедуралар-
мен жұмыс істеудің нəтижесінде файлдың көрсеткіші оның
бірінші компонентіне орналасады, яғни FІLEPOS(F)=0. Дискілік
файлдың көлемін тек оның соңына компонент қосу жолымен ғана
кеңейтуге болады. Көрсеткішті файлдың соңына қарай SEEK(F,
FІLESІZE(F)) процедурасының көмегімен жылжытуға бола-
ды. Файлмен жұмыс істеп болғаннан кейін оны міндетті түрде
CLOSE процедурасымен жабу керек.
Турбо Паскаль файлдары
Турбо Паскаль тілінде файл бір типке жататын компоненттер
тізбегі ретінде анықта лады, олар: жазбалар файлы, бүтін сандар
файлы, сөз тіркестері файлы жəне т.с.с. Файл дың мəліметтердің
басқа құрылымдық типтерімен салыстырып қарағандағы
ерекшелігі – оның кез келген сəтте тек бір ғана компонентіне
қол жеткізуге болатындығы жатады. Файл компоненттерінің
саны алдын ала анықталмайды. Компьютердің сыртқы жадында
орналасқан файл көлемінің ең үлкен (максимальды) шамасы тек
есептеу жүйесінің техникалық мүмкіндіктерімен ғана шектеледі.
Жалпы дискілік файлдар жəне логикалық құрылғылар пайда-
ланылады.
Дискілік файл компьютердің сыртқы жадының, мысалы,
дискеттің немесе винчес тердің белгілі бір ат қойылған аймағы
болып табылады. Файлдармен орындалатын енгізу-шығару опе-
264
рациялары, физикалық тұрғыдан алғанда, арнайы буферді пайда-
ланады. Мысалы, файлға жазылатын мəліметтер алдымен буфер-
ге орналасады да, ол толған кезде барып файлға жазылады. Ал
файлдан оқылған жазбалар да алдымен буферге орналасады да,
кейіннен сол буферден алынып пайдаланылады. Буферді пайдала-
ну – файлдармен орындалатын енгізу-шығару операцияларының
жылдамдығын əжептеуір арттыруға мүмкіндік береді, өйткені
жай жұмыс істейтін дискімен бір рет мəлімет алмасу орнына
буфермен оншақты рет мəлімет алмасу (оқу/жазу) операциясын
орындауға болады. Дискілік файлдағы мəліметтерді тек тізбекті
түрде біртіндеп оқымай, керекті мəліметті оның көрсетілген
нөмірі бойынша кез келген жерінен ала беруге болады.
Дисплей, пернетақта, т.б. негізгі енгізу-шығару құрыл
ғы-
ларымен ақпарат алмасу кезінде логикалық құрылғылар пайда-
ланылады. Логикалық құрылғылардың стандартты аттары бар,
олар:
•
CON – консоль: мəлімет шығару кезінде – экран, ал мəлімет
енгізуде – пернетақта;
•
PRN – принтер;
•
NUL – «бос құрылғы», программа қателері түзетілгеннен
кейін оның жұмысын тек серу кезінде мəлімет шығару құрылғысы
ретінде пайдаланылады.
Дискілік файлдардағыдай емес, логикалық құрылғылар ар-
қылы енгізу-шығару опе ра цияларын орындау тек тізбекті түрде
жүргізіледі, өйткені файлға жазу кезінде мəлімет құрылғыға бір-
тіндеп, бір компоненттен соң келесі компонент тізбекті түрде
беріліп отырады жəне файлдан мəлімет аларда да оның ком-
поненттері одан бір-бірлеп оқылады.
Файл компонентін анықтау (пайдалану) файл көрсеткіші
бойынша жүргізіледі. Оқу немесе жазу операцияларын орындау
кезінде көрсеткіш автоматты түрде келесі компо нент ке жылжы-
тылып отырады (9.2-сурет).
Турбо Паскаль тілінде файлдарды бір-бірінен ажырату (иден-
тификациялау) үшін файлдық айнымалылар пайдаланылады.
Информацияны бейнелеу тəсіліне байланысты файлдардың үш
типі болады, соған сəйкес файлдық айнымалыларды сипаттау
тəсілдері де болады (9.3-сурет).
265
Типтелген файлдар. Типтелген файлдың файлдық айнымалысы
былай сипатталады
Туре < файлдық айнымалы идентификаторы > = fi le of <
компонент типі >; ...
мұндағы < компонент типі > – файлдық типтен басқа кез келген
мəліметтер типі.
9.2-сурет. Файлды ұйымдастыру
9.3-сурет. Файлдық типтің синтаксистік диаграммасы
Файлда сақталатын немесе құрылғыдан құрылғыға тасы-
малданатын ұзындықтары бірдей компоненттер тізбегін (сан-
дар ды, жазбаларды, т.б.) өңдеу кезінде типтелген файлдар пай-
даланылады.
Файлдық айнымалы типі болып табылатын мəтіндік файлдар
былай сипатталады: Туре <Файлдық айнымалы идентификаторы>
= text; ...
Мəтіндік файлдар ұзындықтары əр түрлі болып келетін
сөз тіркестері түріндегі мəтіндермен жұмыс істеу кезінде қол-
данылады.
18–1618
266
Типтелмеген файлдар сипатталуы:
Туре <Файлдық айнымалы идентификаторы> - fi le; ...
Сыртқы есте сақтау құрылғысы мен жедел жады арасында
ұзындықтары көрсетілген физикалық жазбаларды жоғары жыл-
дамдықта тасымалдау кезінде типтелмеген файлдар пайда
ла-
нылады, олар тасымалдау кезінде түрлендірілмейді.
Файлдық айнымалылар Pascal тілінің кез келген айнымалысы
тəрізді сипаттау бөлімінде де жариялана береді, мысалы:
Var F1:fi le of real;
F2:fi le;
F3:text; ...
немесе типтерді алдын ала сипаттау арқылы да көрсетіледі:
Type FF = fi le of integer;
Var F1:FF; ...
Қажет болса, файлдық айнымалыны ішкі программаға
параметрлер арқылы беруге болады. Бірақ бұл мақсатта тек
параметр-айнымалыларды ғана пайдалануға болады, мысалы:
Type FF = fi le of integer;
Procedure Print(Var F1:FF); ...
Файлдармен жұмыс істеу кезінде мынадай əрекеттер атқа-
рылады:
•
файлдық айнымалыны инициалдау, яғни файлдық айны-
малының файлмен байланысын орнату;
•
файлды ашу - файлды енгізу/шығару операцияларын ат-
қаруға дайындау;
•
файл компоненттерін өңдеу – енгізу/шығару операцияларын
атқару;
•
файлды жабу (қайталап ашылған файл автоматты түрде
жабылады).
Файлдық айнымалыны инициалдау. Физикалық құрылғы
(дискіжетек немесе сыртқы құрылғы) мен файлдық айнымалы
арасындағы байланыс арнайы процедура арқылы орнатылады.
Assign (Var f; st:string) процедурасы f файлдық айнымалысын
st тіркесімен анықталатын файлмен немесе логикалық құ-
рылғымен байланыстыра отырып, оны инициалдайды.
Егер файл ағымдағы каталогта болса, онда тек файл мен оның
267
типін көрсету жеткілікті, əйтпесе файлдың толық атын көрсету
керек, мысалы:
Type FI1 = fi le of integer;
Var f1,f2,f3:FI1;
...
Assign (f1,’F1.dat’); {файлдық айнымалыны
ағымдағы каталог ішіндегі файлмен
байланыстыру}
Assign (f2,’d:\iva\a.dat’); {файлдық
айнымалыны көрсетілген каталогтағы файлмен
байланыстыру }
Assign (f3,’CON’); {файлдық айнымалыны
консольмен байланыстыру}
Файлды ашу кезінде мəліметті тасымалдау бағыты көр-
се тіледі, мұнда файл мəлімет оқу немесе жазу үшін ашылады.
Мəтіндік файл сөз тіркестерін қосу үшін де ашылуы мүмкін.
Мəлімет оқу үшін ашылған типтелген файлға жаңа жазбалар
қосуға немесе ескі жазбалар үстіне жаңаларын жазуға болады.
1. ReSet(Var f) процедурасы - f файлдық айнымалысымен
анықталған файлды мəлі
мет оқу үшін ашады. Бұл
процедура орындалар кезде файл көрсеткіші бірінші
компонентке орна
ласады (жазбалардың бірінші блогы
буферге оқылады). Мұнда логикалық құрылғы енгізу
операциясын орындауға даярланады. Егер бұрын болма ған
файлды ашу көрсетілсе, онда қате болғаны тіркеліп, Word
типтес lOResult фун
к
циясы 0-ден басқа мəн қайтарады
(төмендегі функция сипатталуын қараңыз). Енгізу-шыға-
ру операцияларын бақылауды алып тастап, lOResult функ-
циясын пайдалана отырып, аты көрсетілген файлдың
бұрын дискіде болғанын-болмағанын тексеруге болады:
Var f:fi le of char;
Begin
Assign(f, ‘a.dat’); {файлдық айнымалыны
инициалдау}
{$ I-} {енгізу-шығару қателерін бақылауды алып
тастау}
ReSet(f); {файлды оқу үшін ашу}
|