Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на языке Pascal

Выпуск № 151
от 02.06.2003, 02:40

Администратор:
Имя: Sensey
URL: Информационный ресурс
ICQ: 105679124
Украина, Харьков
О рассылке:
Задано вопросов: 264
Отправлено ответов: 904
Активность: 342.4 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Дмитрий
Статус: Доверительный
Общий рейтинг: 132.52
[Подробней >>]
BOLT
Статус: Профессиональный
Общий рейтинг: 168.63
URL: В помощь начинающему программитсу Assembler, C/C++
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 112.42
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
 
Tancho
Статус: Опытный
Общий рейтинг: 150.25
[Подробней >>]
Bill
Статус: Доверительный
Общий рейтинг: 175
[Подробней >>]
[MozgC]
Статус: Опытный
Общий рейтинг: 170.11
[Подробней >>]
 
Pin
Статус: Опытный
Общий рейтинг: 122.09
URL: My HOMEPAGE
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 258. Ребят, привет! Скажите где ошибка тут, у меня цикл зацикливается! Переменная i сама меняется ВНУТРИ ... (ответов: 7)

Вопросов: 1, ответов: 7


 Вопрос № 258

Ребят, привет! Скажите где ошибка тут, у меня цикл зацикливается! Переменная i сама меняется ВНУТРИ цикла!
for i:=1 to key.number do begin
BlockRead(F,sts,1);
BlockWrite(FNEW,sts,1);
end;
Цикл то простой, а глючит вроде !



Вопрос отправлен: 30.05.2003, 02:38
Отправитель: cycle

[Следующий вопрос >>] [Список вопросов]

Отвечает Дмитрий

Доброе время суток, 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.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (40)
C / C++ (31)
Perl (5)
Builder / Delphi (15)
Pascal (29)
Basic / VBA (12)
Java / JavaScript (11)
PHP (7)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (36)
Windows NT/2000/XP (29)
"Железо" (28)
Поиск информации (14)
Администратору
Windows NT/2000/XP (15)
Linux / Unix (9)
Юристу
Гражданское право (5)
Семейное право (2)
Трудовое право (3)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное