Доска почета


Popular Content

Showing most liked content on 07.01.2017 Во всех областях

  1. 7 likes
    Описание Назначение: Компонент предназначен для отображения и ввода голоса. Поддерживает стилизацию. Поддерживаемые платформы: Windows, OSX, iOS, Android Демо проект: Samples\RatingBarDemo\RatingBarDemo.dproj Возможности Стилизация через указание двух картинок отображающих голос и пустой голос Общее количество "звезд" - TfgRatingBar.TotalCount Текущее значение голоса - TfgRatingBar.Rating Возможность указывать дробное значение голоса Возможность указать шаг изменения голоса TfgRatingBar.StepSize Поддержка Tint эффекта - TfgRatingBar.TintColor Автоматический размер - TfgRatingBar.AutoSize Режим только отображения - TfgRatingBar.ReadOnly Событие окончательного изменения рейтинга (отжатие пальца от экрана или кнопки мышки) - TfgRatingBar.OnChange Событие в процессе изменения рейтинга - TfgRatingBar.OnChanging
  2. 7 likes
    Ссылка: https://habrahabr.ru/post/318876/ Автор: Error Описание: Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов. Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент. И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере. Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно. Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда! ...
  3. 7 likes
    В рамках конкурса Device Lab от Google подготовил кейс «Маячки Eddystone для контроля расхода электроэнергии». Ознакомиться можно по ссылке — http://singro.ru/eddystone-beacons-electro-energy/ и в ближайшее время на «Хабрахабре». С помощью компонента TBeacon решены задачи: — поиск ближайших маячков; — работа с маячками в сервисе Android; — фильтрация маячков по технологии Eddystone, ссылкам, идентификаторам. — привязка маячков к геокоординатам и базе данных приборов учета электроэнергии. Черпайте идеи и задавайте вопросы. Буду рад ответить на них. UPD: Наша работа заняла второе место в конкурсе Google Device Lab. Прочитать об этом можно на хабре.
  4. 3 likes
    // uses FMX.Platform, FMX.PhoneDialer function DialerSupport: boolean; var FPhoneDialerService: IFMXPhoneDialerService; begin Result := false; if TPlatformServices.Current.SupportsPlatformService(IFMXPhoneDialerService, FPhoneDialerService) then Result := true; end;
  5. 3 likes
    1. Создайте свой стиль для ListBoxItem, например 'listboxitemMystyle', скопировав стандартный и переобозвав его. В своем стиле Итемов просто сделайте невидимым Detail. Или, что еще лучше, - храните Ваши ссылки в TagString Итема. 2. В Style Designer, при редактировании Вашего listboxitemMystyle, вставьте TImage задайте ему необходимые свойства: выравнивание, размеры, отступы и т.д. (не забудьте сделать "растягивание" или что там Вам требуется - просто проверьте в дизайнере). И задайте Вашему TImage имя, например, 'myimagestyle'. 3. При загрузке изображения я бы рекомендовал сначала загрузить изображение в созданный TBitmap, а потом уже грузить его в наш 'myimagestyle'. А самое оптимальное решение - загрузка изображений в "контейнер", в фоновом режиме, а при окончании загрузки, по событию, - отрисовка уже в самом итеме. В любом случае - сначала в битмап, а потом этот битмап в Итем. Иначе, вероятность того что битмап отрисуется в вашем случае - практически нулевая. 4. Далее, при создании итемов: procedure ContactList_AddItem(Sender: TObject); var newItem : TListBoxItem; newBitmap : TBitmap; begin newItem := TListBoxItem.Create(nil); newItem.StyleLooup := 'listboxitemMystyle'; // хотя будет проще не писать этого, а прописать в ListBox1.DefaultItemStyles.ItemStyle newItem.Text := 'текст'; newItem.TagString := тут может быть Ваша ссылка newBitmap := TBitmap.Create; newBitmap.LoadFrom ....... // грузим картинку newItem.TagObject := newBitmap; newItem.OnApplyStyleLookup := MyItemApplyStyle; ListBox1.AddObject(newItem); end; procedure MyItemApplyStyle(Sender: TObject); var LI : TListBoxItem; tmpBitmap : TBitmap; begin LI := Sender as TListBoxItem; if Assigned(LI) then try LI.BeginUpdate; tmpBitmap := LI.TagObject as TBitmap; if Assigned(tmpBitmap) then LI.StylesData['myimagestyle.bitmap'] := tmpBitmap; // тут вообще можно обновлять все что угодно в этом Итеме finally LI.EndUpdate; end; end; Собственно все. Сорри если что не понятно - писал "от руки", без проверки. Но вроде все просто.
  6. 2 likes
    Не в новых проектах, а в текущем проекте все тулбары будут иметь одинаковый вид.
  7. 2 likes
    К сожалению, тоже нет, они всего лишь делают redirect туда, где твой apk залит К тому же, тебе нужно интегрировать SDK контакта и реализовать взаимодействие с ВК (приложение для ВК же). По ссылке, что я скинул, все кратко описано Если хочешь взглянуть на эту платформу, то в мобильном приложении контакта нажми кнопку "Игры". P.S. Не нашел, пробегая глазами документацию, что должно быть обязательно залито в Google Play или App Store.
  8. 1 like
    Default Style - при размещении компонентов на форме все, например TButton, будут иметь одинаковый стиль. Custom Style - только те компоненты, например TButton, у которых указан текущий созданный стиль в соответствующем свойстве, будут иметь созданный Вами стиль.
  9. 1 like
    В данном случае под сервером понимается серверный сокет с необходимыми обработчиками событий. Смотрите индейцев и выбирайте любой понравившийся. Но гораздо проще взять готовую технологию - AppTethering. С самостоятельной реализацией вы рискуете погрязнуть в энтомологоии, особенно - если возьмете минималистичный протокол (TCP/IP). Обратите внимание, что в любом случае устройства сконнектятся друг с другом только если они находятся в одной подсети.
This leaderboard is set to Москва/GMT+03:00