Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2016, 15:50   #11
Василий15
Пользователь
 
Регистрация: 07.05.2016
Сообщений: 27
По умолчанию

Спасибо, на ресет-рерайт не ругается. Но какие-то нелады с blockread(f,s,q) - ошибка чтения с диска.
Василий15 вне форума Ответить с цитированием
Старый 11.05.2016, 16:08   #12
Василий15
Пользователь
 
Регистрация: 07.05.2016
Сообщений: 27
По умолчанию

Спасибо, на ресет-рерайт теперь не ругается. Но в строке с blockread(f,s,1) выдает ошибку 100 - ошибка чтения с диска.
Василий15 вне форума Ответить с цитированием
Старый 11.05.2016, 16:13   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Василий15 Посмотреть сообщение
Спасибо, на ресет-рерайт не ругается. Но какие-то нелады с blockread(f,s,q) - ошибка чтения с диска.
Не удивительно.
Кто Вас надоумил сделать размер одной записи равным 2-м символам?
Если в файле будет нечётное число символов - то и получите ошибку чтения с диска.
Сделайте размер записи равным 1 байт (1 char)
и буфер сделайте такой, какой надо (ну, например, array[1..8*1024] of char)
и туда читайте. если в файле не хватит - процедура BlockRead вернёт число фактически прочитанных байт.

Рекомендую посмотреть встроенный в Help TurboPascal'я пример,
там это отражено.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.05.2016, 16:33   #14
Василий15
Пользователь
 
Регистрация: 07.05.2016
Сообщений: 27
По умолчанию

Может быть я неправильно понял задание? Имеется нетипизированный файл длиной 50 байт. Вывести его содержимое на экран. Скопировать его содержимое в другой файл с помощью оператора WHILE. Длина блоков 2 байта. В цикле выводить содержимое каждого скопированного блока.
Василий15 вне форума Ответить с цитированием
Старый 11.05.2016, 16:41   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Имеется нетипизированный файл длиной 50 байт
А покажите скриншот, где видно размер вашего файла!

ну или напишите маленькую программку на Pascal, которая выведет размер файла f.txt в байтах (см. FileSize(f) )
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.05.2016, 16:53   #16
Василий15
Пользователь
 
Регистрация: 07.05.2016
Сообщений: 27
По умолчанию

СКРИНШОТ
Изображения
Тип файла: jpg скрин.jpg (32.5 Кб, 138 просмотров)
Василий15 вне форума Ответить с цитированием
Старый 11.05.2016, 17:19   #17
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Мда, на мой взгляд, Вы всё делаете правильно.
сегодня вечером (примерно 21:00 по Мск) я постараюсь проверить ваш пример у себя.
Возможно, что это ваш SchoolPak подглючивает.
А может, я что-то забыл и/или не учитываю.
Проверю, отпишусь.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.05.2016, 00:14   #18
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

проверил. всё работает, как часы.
Код:
const bufsize=2;
var f, g: file;
    s: array[1..bufSize] of char;
begin
 assign(f, 'f.txt'); 
 reset(f, bufsize);
 assign(g, 'g.txt'); 
 rewrite(g, bufsize);
  while not(eof(f)) do
   begin
    blockread(f, s, 1);
    blockwrite(g, s, 1);
    write(s);
   end;
 close(f); 
 close(g);
end.
Turbo Pascal 7.0 через DOSBox 0.74

Рискну предположить одно из двух: либо у Вас компилятор Паскаля "кривой", либо файлик f.txt лежит где-то в другом месте, а не там, где Вы предполагаете.
Других причин я не вижу.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание на проверку.Задание:Изменить порядок следования элементов массива на обратный. Valiev1 Помощь студентам 1 26.10.2015 20:06
Задание с RadioButton, взаимодействия с файлом ... Andr1055 Общие вопросы Delphi 2 27.12.2014 09:18
Вектор с нетипизированным параметром. Nilip 777 Помощь студентам 0 15.12.2013 15:39
Запутаное задание задание с массивом.Буду очень благодарен. Riko1 Общие вопросы C/C++ 2 22.10.2011 10:23
Работа с файлом.. dimorik Win Api 2 23.03.2010 21:26