![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 16.01.2008
Сообщений: 288
|
![]()
Необходимо в зависимости от того, какой режим выбрал пользователь. Либо показывать графику на экране либо ничего не рисовать(что увеличивает скорости работы программы). Неужели, придется каждый раз проверять в месте где необходима графика: if x=true then рисуем. Получается тратится довольно много тактов. Или же сделать отдельную процедуру на выполнение алгоритма с выводом рисования. И отдельную процедуры для режима без вывода графики. Тогда получится, что процедурах будет содержаться почти один и тот же код, что тоже не желательно. Если какой-нибудь другой способ?
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
![]()
Можно и одной процедурой обойтись,
Код:
ну а при вызове процедуры подставляйте в параметры свой х Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 16.01.2008
Сообщений: 288
|
![]()
Ну да, но тогда придется проверять в теле процедуре каждый раз. А у меня там графика выводится раз 5 и в все разы в большом вложенном цикле.
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
вы считаете что вызов процедуры и одна проверка булевой переменной более ресурсоемка чем большой вложенный цикл ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 16.01.2008
Сообщений: 288
|
![]() Цитата:
for i:=1 to 3100 do begin // основной цикл .... for j:=1 to 32000 do begin //один из вложенных циклов if условие выполняется then if x=true then begin canvas.textout(x,y,'text'); canvas.textout(x,y+15,'text'); end; end; ... end; |
|
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 13.11.2007
Сообщений: 1
|
![]() Код:
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось rpy3uH; 15.10.2008 в 09:09. |
![]() |
![]() |
![]() |
#8 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Во первых внутри цикла каждый раз проверять не надо, как правильно заметили она не изменится, проверки лишние.
Во вторых проверка булевой переменной не идет ни в какое сравнение с процедурами вывода на экран, это капля в море, тут и говорить не о чем.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как проверить строку? | nikleb | PHP | 6 | 07.07.2008 22:04 |
Как обьявить переменную типа AnsiString глобально | Kocapb | Общие вопросы C/C++ | 6 | 19.12.2007 05:05 |
Как записать и прочитать переменную моего типа из реестра? | Никки | Общие вопросы Delphi | 2 | 09.12.2007 13:56 |
graph - Как в графическом режиме вывести переменную? | nikleb | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 12.04.2007 21:44 |
Как задать мнимую переменную | AlexVI | Общие вопросы Delphi | 2 | 21.01.2007 03:00 |