Ребят, привет! Скажите где ошибка тут, у меня цикл зацикливается! Переменная i сама меняется ВНУТРИ цикла! for i:=1 to key.number do begin BlockRead(F,sts,1); BlockWrite(FNEW,sts,1); end; Цикл то простой, а глючит вроде !
Доброе время суток, cycle! Надо было тебе всю программку прислать. Откуда взялось твое key.number? Быть может вызов функций дает какой-то побочный эффект, скажем меняются значения аргументов, или меняется эта key.number? Ну и перед входом в цикл проверь аргументы этих функций на допустимость значений и также проверь типы самих аргументов. Без цикла функции нормально работают? Для того, что-бы хоть как-то разобраться наставь побольше Writeln со значениями твоих переменных. Удачи! Ответ отправлен: 30.05.2003, 12:29 Отправитель: Дмитрий Отвечает BOLT
Добрый день, cycle! Опиши структуру или класс Key.А так инчем не могу помочь, неизвестно что представляет собой эта структура/класс. Счастливо! Ответ отправлен: 30.05.2003, 19:39 Отправитель: BOLT Отвечает baldr
Добрый день, cycle! Я посоветую делать цикл для BlockRead не for, а repeat/until. То есть, читаем блок, например, по 1000 байт, а пишем - сколько смогли прочитать. Если прочитать не смогли, то выходим. Если же ты хочешь прочитать только ограниченное количество блоков, то поставь дополнительно условие.
Приложение: Ответ отправлен: 30.05.2003, 18:18 Отправитель: baldr Отвечает Tancho
Приветствую Вас, cycle! 1)Она не меняеться сама, ее меняеть кто то из твои процедури внутри цикла - это сигурно! Предполагаю( но ето только предположение) что i описана у главная программа(т.е. глобалная), а не описана у некоторой из процедур BlokRead(...) или BlokWrite(...), но ползуется у некоторой от них!; 2) Если хочешь поистине кто то тебе помочь - давай целою прогу, а не только отдельный пасаж!
Ответ отправлен: 30.05.2003, 09:26 Отправитель: Tancho Отвечает Bill
Здравствуйте, cycle! Для ответа нужно знать, как объявлены Ваши переменные. Вполне возможно, что BlockRead "затирает" i. Эта процедура пишет в память, начиная с sts. Если файл открыт с длиной записи больше 1, то такое вполне возможно То есть, ошибка не только тут, но и раньше Ответ отправлен: 30.05.2003, 08:24 Отправитель: Bill Отвечает [MozgC]
Такое бывает, сделай другой цикл, это глюк Паскаля. Ответ отправлен: 30.05.2003, 02:46 Отправитель: [MozgC] Отвечает Pin
Приветствую Вас, cycle! А у тебя что лежит в key.number, не нуль ли, а то может еще че поменьше? Ответ отправлен: 31.05.2003, 00:07 Отправитель: Pin
Форма отправки вопроса
Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+
или отправлять вопросы с сайта по адресу:
http://rusfaq.ru/cgi-bin/Message.cgi.