Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибки
DF2 :: ФОРУМЫ > Основные форумы > Софт и железо > Программирование / Coding
gamecreator
где ошибка?
http://d.lsass.us/1665
tolich
например в функции menu
Код
function menu:byte;
var btn,x,y:word;
begin
    repeat
 getmsg(btn,x,y);
 setfillstyle(1,4);
 bar(0,0,1023,31);
    until btn=2;
end;
отсутствует хотя бы один оператор установки значения функции вида
Код
menu:=<значение>;
Уже поэтому программа работать не должна.
gamecreator
во-1, в паскале это необязательно sad.gif
тем более что я о другом, а именно об установке перехватчика сообщений мыши
tolich
обязательно, написал тестик - все время возвращает один и тот же мусор.
Код
function f: integer;
var
 r: integer;
begin
 repeat
   r:=random(3);
 until r=2;
end;

var i: integer;

begin
 for i:=1 to 10 do
   write(f,' ');
end.




Добавлено ([mergetime]1243116348[/mergetime]):
Кстати, возвращаемое из menu значение ты используешь в run.

Утречком гляну пристальнее, может попробую перепаять под egavga (svga256.bgi у меня нет smile.gif), а может и теоретически что накопаю...

Добавлено ([mergetime]1243116624[/mergetime]):
А пока, навскидку только маленький совет: вместо
Код
procedure ShowMouseCursor;
begin
    asm
 mov ax,01h;
 int 33h;
    end;
end;
лучше писать
Код
procedure ShowMouseCursor; assembler;
asm
    mov ax,01h;
    int 33h;
end;
gamecreator
Цитата(tolich @ 24 May 2009, 01:10)
обязательно
нет, компилятор, к сожалению, не ругается.
Цитата(tolich @ 24 May 2009, 01:10)
написал тестик - все время возвращает один и тот же мусор.
конечно мусор. а ты чего ожидал?
Цитата(tolich @ 24 May 2009, 01:10)
Кстати, возвращаемое из menu значение ты используешь в run.
но это не относится к ошибке.
Цитата(tolich @ 24 May 2009, 01:10)
Утречком гляну пристальнее, может попробую перепаять под egavga
можешь не глядеть. очепятка в книге, с которой я писал. в функции установки обработчика мыши должно быть dx вместо di.
Цитата(tolich @ 24 May 2009, 01:10)
А пока, навскидку только маленький совет...
а разница? тем более, в такой форме нужно возиться с приемом параметров и переменные по-видимому нельзя создавать
tolich
Цитата(gamecreator @ 24 May 2009, 02:02)
нет, компилятор, к сожалению, не ругается.

довод не очень...

Цитата(gamecreator @ 24 May 2009, 02:02)
в функции установки обработчика мыши должно быть dx вместо di
компилятор ведь тоже не ругается? wink.gif так что это не критерий. Компилятор турбо паскаля не умеет выявлять такие ошибки, рантайм - тоже.

Цитата(gamecreator @ 24 May 2009, 02:02)
конечно мусор. а ты чего ожидал?
Подозревал, будет 2 (потому, что цикл должен завершиться после успешного сравнения AX с двойкой, но возращаемое значение не в AX). smile.gif Мусор был другой.

Цитата(gamecreator @ 24 May 2009, 02:02)
Цитата(tolich @ 24 May 2009, 01:10)
А пока, навскидку только маленький совет...
а разница? тем более, в такой форме нужно возиться с приемом параметров и переменные по-видимому нельзя создавать.

А вот тут все ОК, фрейм стека при наличии параметров и/или временных переменных создается. Короче текст, вроде немного короче код.
gamecreator
Цитата(tolich @ 24 May 2009, 14:17)
довод не очень...

это не довод, а возмущения по поводу этого тупого турбо паскаля! все нормальные компиляторы выдают предупреждение (а многие и ошибку) если функция ничего не возвращает.
Монца
Не умеешь, не берись. Или напиши свой нормальный.
gamecreator
понимаешь, если бы в учебном процессе нормальные компиляторы использовались, то это другое дело.

зы. "не умеешь - не берись" через дефис smile.gif
ззы. и вообще, это уже холивар.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.