Перейти к содержанию
Муромский форум
Авторизация  
FreiDjaZzZz

Программирование

Рекомендуемые сообщения

Собственно програмистов у нас много и многие этим зарабатывают на хлеб, для кого-то это хобби, для ковото подспорье при решении каких-то своих задач, для кого-то способ самовыражения. Поэтому предлагаю товариши кодеры, прогеры и сочувствующие нам тут общатся =)

Меня к этому побудила игра слов ну все слышали "обьектно-ориентированное программирвоание" ... я как-то читал и по слепости прочел "обратно ориентированное программирование" и честно мне стало интересным а вобще может быть программирование обратноориентированным и как это.

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

Ну у меня тож знаете фантазии хоть отбавляй, и обьеснение "обратно ориентированному программирвоанию" в голове всплыло следуещее - это программирование направленное на улучшение и повышение творческих способностей программиста и повышение его способности к программированию ... вот мне интересно теперь - а такое возможно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возник такой вопрос.
В Buildere 6 C++ применяли в роли кнопок Button, при смене их на Image, соответственно заменив ButtoClick на ImageClick неожидано увеличилось время обработки события нажатия на компонент. Если на Button отклик происходит сразу, то на Image с задержкой. В чем может быть причина и как уменьшить время отклика для Image?
Просто очень хочется оставить рисованые кнопки, вместо скушных одноцветных Button.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(FreiDjaZzZz @ 23.3.2012, 8:51)
Возник такой вопрос.
В Buildere 6 C++ применяли в роли кнопок Button, при смене их на Image, соответственно заменив ButtoClick на ImageClick неожидано увеличилось время обработки события нажатия на компонент. Если на Button отклик происходит сразу, то на Image с задержкой. В чем может быть причина и как уменьшить время отклика для Image?
Просто очень хочется оставить рисованые кнопки, вместо скушных одноцветных Button.

Нормальное явление. Для отрисовки графики требуется больше ресурсов, чем на простенькие кнопочки. Да и плохая это привычка, совать графику всюду, где только можно.
Пс: билдер - зло smile.gif
Ппс: я правда на С# программирую, но разница не очень большая. Изменено пользователем Samael

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну тормоза с маленькими bmp-шками врятли должны быть, а именно с ними я работаю. Вот с многомегабайтными картинками конешно тормоза реальны)))

Помогли разобраться.
Причина была втом, что у Image помимо события onClick есть еще и OnDblClick(двойной щелчок мышью) и по этому когда быстро тыркаешь по кнопке, она воспринимает это как даблклик и онклик срабатывал через раз в этом случае.

Выход нашли применив событие MouseDown - нажатие левой кнопки мыши при нахождении курсора в области компонента Image, MouseUp - отжатие левой кнопки мыши при нахождении курсора в области компонента Image.

//------------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender, //событие нажатия кнопки мыши при нахождении в области компнента Image
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (Button==mbLeft)
{
Image1->Picture->LoadFromFile("picture/ЗАПЯТАЯ_о.bmp"); //загрузить в картинку изображение нажатой кнопки
//здесь же можно написать обработчик события нажатой кнопки
}
}
//----------------------------------------------------------------------------

void __fastcall TForm1::Image1MouseUp(TObject *Sender, //событие отжатия кнопки мыши при нахождении в области компнента Image
TMouseButton Button, TShiftState Shift, int X, int Y)
{
Image1->Picture->LoadFromFile("picture/ЗАПЯТАЯ.bmp"); //загрузить в картинку изображение отжатой клавиши
//здесь можно написать обработку этого события
}

PS: вот теперь думаю как картинки сразу к проекту прикрутить, чтобы не загружать их каждый раз и папку с картинками не таскать всюду.

Изменено пользователем FreiDjaZzZz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Придумал, разместил по две картинке сразу. Одну под другой, и при нажатии просто меняю Visible на противоположный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(FreiDjaZzZz @ 23.3.2012, 14:16)
Придумал, разместил по две картинке сразу. Одну под другой, и при нажатии просто меняю Visible на противоположный.

Вообще-то существуют для вашей задачи специализированные кнопки (TSpeedButton, TBitBtn). У этих компонент есть свойства, позволяющие указать файл с изображением, которое будет выводиться на поверхности кнопки. А Image для работы с изображениями. не кнопка это совсем. Хотя можно из чего угодно чего угодно сделать !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(abyrvalG @ 24.3.2012, 23:48)
Вообще-то существуют для вашей задачи специализированные кнопки (TSpeedButton, TBitBtn). У этих компонент есть свойства, позволяющие указать файл с изображением, которое будет выводиться на поверхности кнопки. А Image для работы с изображениями. не кнопка это совсем. Хотя можно из чего угодно чего угодно сделать !

У BitBtn и SpeedButton не нашол такого свойства как "подогнать рисунок под размер кнопки" - Stretch ... пришлось крутиться)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(FreiDjaZzZz @ 25.3.2012, 7:30)
У BitBtn и SpeedButton не нашол такого свойства как "подогнать рисунок под размер кнопки" - Stretch ... пришлось крутиться)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А кто с USB работал? Есть устройство, нужно к нему с компьюетра подключится через USB, через Lan получается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
Авторизация  

  • Последние посетители

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×