Barbanel

Пользователи
  • Публикаций

    128
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7

Barbanel стал победителем дня 25 июня

Barbanel имел наиболее популярный контент!

Информация о Barbanel

  • Звание
    Продвинутый пользователь

Посетители профиля

501 просмотр профиля
  1. Не стыдитесь) Мне как-то на собеседовании сказали: вы даже не знаете что такое дженерики, мы не будем с вами работать. После этого придя домой я сразу же полез искать что это. Каково же было мое разочарование, когда я узнал что это обертка над TList, не передать словами!!!
  2. По сути это TList, который возвращает вам не TObject, а сразу объект нужного типа. type TMobBaseObject = class(TBaseObject); ... var FItems : TObjectList<TMobBaseObject>; ... var myObj : TMobBaseObject; i : integer; begin FItems := TObjectList<TMobBaseObject>.Create; for i:=0 to 99 do begin myObj := TMobBaseObject.Create(); myObj.SetProperties(); FItems.add(myObj); end; end; ... var myObj : TMobBaseObject; i : integer; begin for i:=0 to 99 do myObj := FItems[i]; end;
  3. Я бы сам присоединился к такому вопросу. Советовать не стану, расскажу лишь как мы сделали. Иконки для кнопок, их цвета и прочее что относится к внешнему виду/интерфейсу мы вставили в стили, конкретнее - прямо на битмап темы приложения. Изображения же, типа там фоток, примеров из "что нового" вставили в imageList, причем все используемые imageList вынесены в отдельный DataModule. Мы получаем только текст и сразу парсим, соотв. храним в оперативке, нам нет смысла писать на диск. Тут можно разводить холивары. Мы перенесли опыт настольной разработки - создаем формы по мере необходимости. Плюс очевиден, но он же автоматически имеет и минус - когда вам эта форма понадобится, ее создание занимает время, и иногда это заметно. В целом у нас одна главная форма с табконтролом и отключенными вкладками, по мере необходимости мы переключаем табы и их порядок, это позволяет анимировать переходы с одной "формы" т.е. вкладки на другую. Ембаркадеро советует использовать object.DisposeOf() вместо object.Free() так и делаем. Минусов не обнаружили (или не заметили). Попробуйте поэкспериментировать с другими контролами, ListView или ListBox. Они все позволяют использовать стили для элементов списка (имхо, могу ошибаться). Мы используем TListBox (что не рекомендуется данным форумом) и кидаем стили на элементы списка (лид сказал оставляем так, потом будем решать). Ну, это не запрещено))) Попробуйте дженерики, удобная фича. Пример нужен? PS. это все имхо, я с удовольствием послушаю коллег.
  4. Помечайте правильный ответ! 😉 Удачи!
  5. Процедура Invalidate не перерисовывает форму немедленно, она лишь добавляет сообщение на перерисовку в очередь сообщений. Соотв. форма перерисуется когда не будет других событий в очереди, в данном случае - после всех длительных операций или после вызова .ProcessMessages
  6. -Прячете листбокс -Перерисовываете форму (точно процедуру не помню, попробуйте TForm.Refresh, TForm.RePaint, TForm.Update) -Выполняете долгое действие
  7. Посмотрите пример, о таком поведении я говорил в самом начале. В нем есть две формы, главная и второстепенная. На второстепенной я для наглядности отображаю гиф (по рецепту нашего китайского коллеги, да))) В главной форме я динамически создаю второстепенную и отключаю в ней реакцию на мышь, при этом гиф продолжает нормально крутиться во второй форме. Вы должны сами заботиться о координатах и видимости второстепенной формы. процедура SetMouse_Unsenitive - отключает реакцию на мышь, процедура SetMouse_Senitive- включает обратно реакцию на мышь. TransparentWindow.zip
  8. Именно это окно с видео и есть в данный момент второстепенное? То, на которое не нужно реагировать.
  9. И никаких координат не передается? Т.е. длл рисует кадр тупо на все окно?
  10. Это под виндовс или мобильные? Код воспроизведения в студию!
  11. Barbanel

    SendCommandWithResponse

    Ola! Guy, you are on Russian forum and almost nobody here understand your language. So please, i repeat: please, write on russian or on english. And yeach, have a nice day! 😃
  12. Barbanel

    Регулярное выражение для сайта...

    Отрендерьте текст в битмап ))))
  13. А можно подробнее? Что именно имеется в виду?
  14. Вы не можете через хелпер переопределить процедуры родителей. Хелперы лишь расширяют функционал, насколько я знаю. Чтобы переопределить поведение класса, нужно наследовать от него дочерний класс и уже в нем переопределять. Я не знаю, можно ли переопределить конкретно процедуру Activate, на вскидку есть еще два решения: -не труъ: при OnClick на дочернюю форму, программно возвращать фокус нужной форме. -чуть более труъ: прописать стили формы, при которых она не реагирует на щелчки мыши, т.е. становится "прозрачной" для мыши. Это работает только на VCL приложениях (насколько я знаю)
  15. Barbanel

    Фильтрация по датам полей ???

    As i understand, compare of two strings with date inside will work correctly, if date saved in format YYYY-MM-DD With Time in format HH:MM:SS it have to be similar.