![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Skrip |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 33 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код Uses Crt; Var FromF, ToF : File; NumRead, NumWritten : Word; Buf : array [1..64512] of char; i: integer; Begin clrscr; Assign(FromF, 'c:\new.exe'); Reset(FromF, 1); Assign(ToF, 'c:\copy_new.exe'); ReWrite(ToF, 1); WriteLn('Копирую: ', FileSize(FromF), ' байт...'); Repeat BlockRead(FromF, Buf, SizeOf(Buf), NumRead); BlockWrite(ToF, Buf, NumRead, NumWritten); Until (NumRead = 0); Close(FromF); Close(ToF); readln end. end. Почему размер буфера записи и чтения устанавливается по 1 байту (я очень сильно догадываюсь, но хочу узнать правильно или нет) |
![]() ![]() |
SKVOZNJAK |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: ![]() ![]() ![]() |
Гы. Reset(FromF, 1); Строка совершенно правильная. 1 обозначает, что третий параметр в процедурах чтения и записи будет умножаться на 1 а не на 128 как по умолчанию. У меня была похожая прога (где-то есть на форуме), только там всё через GOTO написано
![]() Код BlockRead(FromF, Buf, NumRead); BlockWrite(ToF, Buf, NumRead,); Никогда не пользовался четвёртым параметром. ИМХО счётчик вообще не нужен, выбрось четвёртую переменную ![]() ![]() Сообщение отредактировано: SKVOZNJAK - 16.12.2004 18:43 |
![]() ![]() |
![]() |
Текстовая версия | 23.07.2025 9:35 |