Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1



бет179/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   175   176   177   178   179   180   181   182   ...   210
Байланысты:
boribaev-algoritmdeu

    Бұл бет үшін навигация:
  • VAR <
  • FROMF
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 болып көрсетілген. Мұнда көшіру кезінде жаңа файлға артық символдар жазылмайды.





Достарыңызбен бөлісу:
1   ...   175   176   177   178   179   180   181   182   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет