Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.08.2013, 03:08   #1
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию Выполнение по готовности системы

Есть код(содержание не имеет значения), задача:
выполняется код
как только выполнился, начинает выполнятся повторно(по сути: когда система будет готова еще раз все обработать).
Application.OnIdle - пробовал. Там примерно 60тиков в секунду держит, и ускорятся если начать более интенсивно телепать мышью.
По сути бесконечный цикл, только выполняющийся не по таймеру, а по возможности системы
gufon вне форума Ответить с цитированием
Старый 24.08.2013, 12:48   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
когда система будет готова еще раз все обработать. ... а по возможности системы
Чего это?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.08.2013, 13:15   #3
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Там зависит от положения мыши на элементе. Для такого приложения, мышь нужно вообще отключать.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 24.08.2013 в 15:03.
Smitt&Wesson вне форума Ответить с цитированием
Старый 24.08.2013, 14:31   #4
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Цитата:
Сообщение от Фортепьян Посмотреть сообщение
А если вывести в отдельный поток? Нехорошо циклить в одном потоке с формой.
По сути, этот цикл - самая весомая часть, лучше скажите как это в Delphi реализовать
gufon вне форума Ответить с цитированием
Старый 24.08.2013, 15:02   #5
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Цитата:
Сообщение от Фортепьян Посмотреть сообщение
Что именно Вас интересует? Потоки в Делфи можно 4 способами:
*напрямую вызывая Windows API;
*с помощью класса TThread;
*c помощью функции Beginthread;
*c помощью стороннего компонента.



Не понял. Какой же это бесконечный цикл, если вызывается по таймеру? Настоятельно рекомендую показать исходник целиком.
Я просто не знаю как это называется :P
Исходник
Перемещение - подвести мышь к краю окна
Сменить текстуру - f1,f2,f3,f4
Поставить - лкм
Сохранить,Открыть - кнопки вверху

А как мне поток в этом поможет? Мне же не нужна многопоточность

Последний раз редактировалось gufon; 24.08.2013 в 15:56.
gufon вне форума Ответить с цитированием
Старый 24.08.2013, 15:24   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от gufon Посмотреть сообщение
Application.OnIdle - пробовал. Там примерно 60тиков в секунду держит, и ускорятся если начать более интенсивно телепать мышью.
По сути бесконечный цикл, только выполняющийся не по таймеру, а по возможности системы
Вообще-то, OnIdle, это системный цикл сообщений Виндовс. Если мышку не трогать, то сообщения поступают в общем потоке сообщений и не очень часто. Если мы двигаем мышкой, то она формирует прерывания, которые и увеличивают скорость обмена сообщениями. Отсюда и кажущееся ускорение работы.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 24.08.2013, 15:56   #7
gufon
Форумчанин
 
Регистрация: 21.12.2010
Сообщений: 224
По умолчанию

Вчера перед переустановкой OC скопировал папку с исходниками на другой диск, сейчас поставил Delphi и во всех проектах этой папки вместо кода
Что это - понятия не имею,такого не было, другие проекты нормально работают. Мб проблемы с кодировкой

Цитата:
Сообщение от Шалом Посмотреть сообщение
Видимо, флешку неправильно извлек или комп перегрузился после сбоя.

добавлено.

А ну да, ты сам и пишешь, что скопировал на флешку.
не на флешку, на другой диск, только .dpr не работают, все остальное целое. Буду переписывать. Мб за ООП возьмусь

Цитата:
Сообщение от Шалом Посмотреть сообщение
Кстати, заготовка твоя мне очень понравилась. Я фортепьян, местный тролль. Просто меня забанили и я перелогинился. Можно было бы rpg простенькую написать.)
Я так сижу вечером, делать нечего, зашел - написал 5 строк, вышел :D
Так кое-что сделал. По сути это почти полноценный 2D движок под марио, только анимацию допилить и физ. двиг

ссылкаЕсли интересно, вот небольшая заготовка(не особо отличается от 1), но тут я сделал движение персонажа мышкой, только кривое, так как расчет не по вектору, а просто плюсуются координаты

Последний раз редактировалось Stilet; 24.08.2013 в 16:46.
gufon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прервать выполнение viktorina32 Общие вопросы Delphi 2 27.05.2011 15:24
Условия и их выполнение kta87 Помощь студентам 8 28.02.2010 15:37
выполнение файла DLev2 Общие вопросы Delphi 9 27.09.2009 13:32
Выполнение CGI prizrak1390 Работа с сетью в Delphi 10 23.02.2009 21:01