BLOCKREAD(<файл аты>,<айнымалы>,<компоненттер саны>
[,<нақты саны>]);
бұл процедура файлдан блок оқу үшін қолданылады.
BLOCKWRITE(<файл аты>,<айнымалы>,<компоненттер саны>
[,<нақты саны>]);
287
– файлға блок жазу үшін қажет. Мұндағы:
<файл аты> - типсіз файл аты; <айнымалы> - оқу немесе жазу үшін қолданылатын айнымалы аты;
<компоненттер саны> - бір мəлімет алмасу кезінде тасымалдана-тын компоненттер саны; <нақты саны > - нақты түрде тасымалданған ұзындығы 128 байт жазбалар саны.
Блоктар арқылы енгізу-шығаруға арналған файл FILE типімен сипатталады. Типсіз файлдар үшін READ жəне WRITE процеду-ралары қолданылмайды.
VAR <файл аты>: FILE;
Типсіз файл ашқанда, файл жазбаларының ұзындығын байт-пен көрсетуге болады. Ол RESET немесе REWRITE процедура-ларын пайдаланғанда, WORD типіндегі екінші параметр түрінде жазылады. Егер жазба ұзындығы көрсетілмесе, ол 128 байтқа тең болып саналады.
Блоктар арқылы енгізу-шығарудан бір мысал келтірейік. FROMF файлы мəліметтерін TOF файлына көшіру керек болсын делік.
VAR
FROMF, TOF: FILE;
NR, NWR: WORD; NAME:STRING[12];
BUF: ARRAY[1..2048] OF CHAR;
BEGIN
WRITE(‘ОҚЫЛАТЫН ФАЙЛ АТЫ’); READLN(NAME);
ASSIGN(FROMF, NAME); WRITE(‘ЖАЗЫЛАТЫН ФАЙЛ Аты‘)$ READLN(NAME);
ASSIGN(TOF,NAME); RESET(FROMF, 1); REWRITE(TOF, 1);
REPEAT
BLOCKREAD(FROMF, BUF, SIZEOF(BUF), NR);
288
BLOCKWRITE(TOF, BUF, NR, NWR);
UNTIL (NR = 0) OR (NWR <> NR);
CLOSE(FROMF);
CLOSE(TOF);
END.
Программада типсіз файлды ашу кезінде RESET процеду-расында жазба ұзындығы 1 болып көрсетілген. Мұнда көшіру кезінде жаңа файлға артық символдар жазылмайды.
Достарыңызбен бөлісу: |