![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте подскажите пожалуйста в чем проблема...
Время от времени появляется Random числа вне диапазона... Описание программы: Программа использует canvas и рисует шары которые отталкиваются по диагонали от стенок... Кнопка Больше увеличивает на 1 количество шаров и задаёт каждому новому шару случайные параметры в заданном диапазоне... Параметры каждого шара заносятся в массив... так же движения шаров обрабатывает созданный модуль 'mod1'... |
|
#2
|
||||
|
||||
|
Все верно, у тебя случайно вычисляются координаты центра окружности, т.о. получается что до центра она может заползать за пределы рамки.
|
|
#3
|
|||
|
|||
|
Но я в Random'e делал поправку на это...
По идее ничего не должно вылезать... да и еще так сильно... |
|
#4
|
||||
|
||||
|
Цитата:
Код:
If (y<27) or (y>477) then yy:=-yy;
If (x<27) or (x>621) then xx:=-xx;Код:
x := 27 + Random(621 - 27 + 1); y := 27 + Random(477 - 27 + 1); Код:
mass[m1,0,0,1]:=27+random(477);
mass[m1,0,1,1]:=27+random(621);Последний раз редактировалось poli-smen, 29.11.2012 в 18:24. |
|
#5
|
|||
|
|||
|
Спасибо разобрался))
К сожаление у меня довольно часто возникают проблемы с установкой диапазона(( |
|
#6
|
||||
|
||||
|
Цитата:
Код:
function Random2(A, B: Integer): Integer; begin Result := A + Random(B - A + 1); end; Код:
function Random2(A, B: Integer): Integer; begin Result := Min(A, B) + Random(Abs(A - B) + 1); end; Код:
x := 27 + Random(621 - 27 + 1); Код:
x := Random2(27, 621); Код:
x := Random2(621, 27); |
| Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
OTVET2 (18.01.2013)
| ||
|
#7
|
|||
|
|||
|
Спасиб)
Есть еще один вопрос только из другой темы... Мне в label нужно вывести символ "█" из таблицы ascii... или аналогичный ему... возможно ли это?... Если просто скопировать его то он отображается как точка... а если использовать его код "219" то он выводится как буква "Ы" |
|
#8
|
|||
|
|||
|
Цитата:
В Винде есть такая программка - CharacterMap. Согласно ей, твой символ - 2588 (█). |
|
#9
|
||||
|
||||
|
Цитата:
Если же тебе нужно чтобы в TLabel можно было применять любое разнообразие символов, то тебе нужно установить TLabel с поддержкой юникода, вот например последняя бесплатная версия компонент TNT. |
|
#10
|
|||
|
|||
|
Спасиб еще раз) всё работает))
|