IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> Ошибки
gamecreator
сообщение 23 May 2009, 21:44
Сообщение #1

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




где ошибка?
http://d.lsass.us/1665
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 23 May 2009, 23:46
Сообщение #2

😸🧡✊✌️
Сообщений: 16 594
Спасибо сказали: 3575 раз




например в функции 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:=<значение>;
Уже поэтому программа работать не должна.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 24 May 2009, 00:29
Сообщение #3

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




во-1, в паскале это необязательно sad.gif
тем более что я о другом, а именно об установке перехватчика сообщений мыши
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 24 May 2009, 01:10
Сообщение #4

😸🧡✊✌️
Сообщений: 16 594
Спасибо сказали: 3575 раз




обязательно, написал тестик - все время возвращает один и тот же мусор.
Код
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;


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 24 May 2009, 02:02
Сообщение #5

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Цитата(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)
А пока, навскидку только маленький совет...
а разница? тем более, в такой форме нужно возиться с приемом параметров и переменные по-видимому нельзя создавать
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 24 May 2009, 14:17
Сообщение #6

😸🧡✊✌️
Сообщений: 16 594
Спасибо сказали: 3575 раз




Цитата(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)
А пока, навскидку только маленький совет...
а разница? тем более, в такой форме нужно возиться с приемом параметров и переменные по-видимому нельзя создавать.

А вот тут все ОК, фрейм стека при наличии параметров и/или временных переменных создается. Короче текст, вроде немного короче код.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 24 May 2009, 15:15
Сообщение #7

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




Цитата(tolich @ 24 May 2009, 14:17)
довод не очень...

это не довод, а возмущения по поводу этого тупого турбо паскаля! все нормальные компиляторы выдают предупреждение (а многие и ошибку) если функция ничего не возвращает.
Go to the top of the pageAdd Nick
 
+Quote Post
Монца
сообщение 24 May 2009, 22:28
Сообщение #8

good news, everyone!
Сообщений: 918
Спасибо сказали: 93 раза




Не умеешь, не берись. Или напиши свой нормальный.


--------------------
этъя опять
Go to the top of the pageAdd Nick
 
+Quote Post
gamecreator
сообщение 24 May 2009, 22:36
Сообщение #9

Яблочный произвол!
Сообщений: 11 080
Спасибо сказали: 3988 раз




понимаешь, если бы в учебном процессе нормальные компиляторы использовались, то это другое дело.

зы. "не умеешь - не берись" через дефис smile.gif
ззы. и вообще, это уже холивар.
Go to the top of the pageAdd Nick
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 23 April 2026 - 15:30
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика