Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизIF не работает Найти похожие ветки
← →
dimon_programmer © (2004-08-09 08:46) [0]Пишу просмотрщик PCX. Код вот такой:
While not EOF(f)
do
begin
blockread(f,data,1);//читаем по одному байту
//самое интересное
IF (((data shr 6)and 3)=3) then//если старшие два бита-1
x:=(data shl 2) shr 2;
end;
В дебаге выражение после IF -true, а инструкция не выполняется, даже если else сделать.
← →
Sergey Kaminski © (2004-08-09 08:48) [1]какая "инструкция" не работает?
← →
Anatoly Podgoretsky © (2004-08-09 09:15) [2]Как проверяешь, что не работает, могу предположить только единственное, что переменная нигде не используется.
← →
TUser © (2004-08-09 09:17) [3]Так ее наверное оптимизатор пропустил. Этот x нигде не используется, поэтому - чего его считать?
← →
Digitman © (2004-08-09 11:06) [4]
> IF (((data shr 6)and 3)=3) then//если старшие два бита-1
зачем "двигать" операнд, делая лишнее действие, если для данной проверки достаточно наложить маску ?
IF (data and $C0)= $C0 then ..
← →
dimon_programmer © (2004-08-09 12:17) [5]Спасибо, просто не доперло как сделать.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c