Доска почета


Popular Content

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

  1. 9 likes
    Ссылка на статью. Автор: Александр Бирюков В статья я максимально подробно попытался описать работу с PHP скриптом для рассылки Push сообщений из любой программы вне зависимости от платформы. Затрагивается вопроса от экспорта скриптов до кода программы: отправка и получение Push, регистрация устройств. Надеюсь кому-нибудь пригодится. Буду рад комментариям, обоснованной критике и доработкам.
  2. 6 likes
  3. 5 likes
    Моя работа По просьбе трудящихся на этом форуме сделал эту задачу. А еще добавил настройки, чтобы можно было линию убирать.
  4. 4 likes
    В папке C:\Users\Public\Documents\Embarcadero\Studio\<версия>\Styles лежат файлы стилей. Вам надо смотреть в этой папке файлы *.style. Загрузите любой из них в StyleBook. Обычно стиль контрола имеет название <имя класса без Т>+'style'. Например editstyle, buttonstyle. Но есть и исключения из правил, как например <menu...>, но их тоже не сложно найти. Прямо в StyleBook вы можете менять параметры объектов стиля и смотреть, как они влияют на внешний вид контролов. И кстати, если делаете кроссплатформенный проект, учтите что TPopupMenu используется только в десктопных приложениях.
  5. 4 likes
    Права дали точно? Вот вам мой класс для работы с вибрацией, там есть код проверки прав - https://github.com/AndrewEfimov/Android-API/blob/master/Vibrator/class/Vibrator.Android.pas (https://github.com/AndrewEfimov/Android-API/tree/master/Vibrator, класс и тестовое приложение) либо посмотрите в настройках приложения, раздел с правами.
  6. 3 likes
  7. 3 likes
    Через стиль. Отредактировать стиль и убрать эту линию
  8. 2 likes
    Я так понимаю, Вы имели ввиду FindAndCloneStyleResource? Этот метод не возвращает копию стиля. Он возвращает копию объекта(элемента) стиля. Например, если Вы хотите напрямую изменить элемент стиля (например цвет фона кнопки), то делаете: AObject := Button1.FindStyleResource('background'); if (AObject is TRectangle) then TRectangle(AObject).Fill.Color := TAlphaColorRec.Aqua; И Button1 изменит цвет. Но, если после этого сделать Layout1.AddObject(AObject); то кнопка Button1 не будет больше иметь элемент 'background', родителем этого объекта станет Layout1. Что касается AObject := Button1.FindStyleResource('background', True); if AObject <> nil then Layout1.AddObject(AObject); или if Button1.FindAndCloneStyleResource('background', AObject) then Layout1.AddObject(AObject); то вы просто создаете новый объект AObject типа TRectangle со всеми свойствами как у стилевого элемента 'background', за исключением StyleName (у вновь созданного AObject будет StyleName = ''). В нашем примере этот новый объект (TRectangle) будет помещен на Layout1. При этом 'background' кнопки не изменится.
  9. 2 likes
  10. 2 likes
    В Токио в TMultiView имеет специальное свойство, которое позволяет настроить цвет этой линии или скрыть ее совсем. TMultiView.BorderOptions
  11. 2 likes
  12. 2 likes
    При расчете высоты TListItemText приходилось использовать костыль - указывать размер шрифта отличный от 12 (например 12.01 и т.д.), если эти пренебречь, то расчет высоты не работал и текст или резался или высота итема оказывалась гораздо больше текста. Проблема в том, что на стадиях расчета высоты, к TListItemText еще не применен стиль, и параметры шрифта не соответствуют тому как будет выглядеть окончательный вариант на экране. Для правильного расчета высоты нужно выдернуть шрифт из стиля, делается это вот так: Var AFontObject : TFontObject; AListItemText : TListItemText; ... AListItemText:=TListItemText(AItem.View.FindDrawable(AName)); if AListItemText=Nil then AListItemText:=TListItemText.Create(AItem); AFontObject:=(AListView.FindStyleResource('font') as TFontObject); if Assigned(AFontObject) then AListItemText.Font.Assign(AFontObject.Font); //Теперь вычисление высоты имеет смысл и не нужно задавать размер шрифта - он берется из стиля. AListItemText.Height:=CalculateHeight(AListItemText, AListView, FTextLayout); Или можно затолкать это действие в функцию вычисления высоты: function CalculateHeight(const AListItemText : TListItemText; const AListView : TListView; const FTextLayout : TTextLayout) : Single; Var AFontObject : TFontObject; begin FTextLayout.BeginUpdate; try FTextLayout.Text:=AListItemText.Text; FTextLayout.MaxSize:=TPointF.Create(AListItemText.Width, TTextLayout.MaxLayoutSize.Y); AFontObject:=(AListView.FindStyleResource('font') as TFontObject); if Assigned(AFontObject) then FTextLayout.Font.Assign(AFontObject.Font) else FTextLayout.Font.Assign(AListItemText.Font); FTextLayout.WordWrap:=AListItemText.WordWrap; FTextLayout.Trimming:=AListItemText.Trimming; FTextLayout.HorizontalAlign:=AListItemText.TextAlign; FTextLayout.VerticalAlign:=AListItemText.TextVertAlign; finally FTextLayout.EndUpdate; end; // Result:=FTextLayout.Height * 1.4; // Теперь этот костыль не нужен Result:=FTextLayout.Height; end; Внимание! Если вы заполняете еще невидимый на экране ListView, не забудьте выполнить ListView.ApplyStyleLookup перед добавлением Items, иначе не получите правильный размер шрифта из стиля.
  13. 2 likes
    То, что "жирность" шрифта в этом блоке скачет как хочет - это, по большому счету, ерунда. Но вот то, что "последнее сообщение" в теме не соответствует реальному - это уже плохо. В качестве примера: 1 - скрин главной страницы после нажатия Ctrl+F5 (полное обновление, минуя кеш) 2 - скрин темы. Самое интересное - что цифра 4 на главной странице действительно соответствует количеству ответов в теме. Вот только последний - не от того пользователя.
  14. 2 likes
    У TBitmap есть такой метод, посмотрите его function TBitmap.EqualsBitmap(const Bitmap: TBitmap): Boolean; var MyMap, BitmapMap: TBitmapData; I: Integer; begin if IsEmpty or Bitmap.IsEmpty then begin Result := IsEmpty and Bitmap.IsEmpty; Exit; end; Result := (Width = Bitmap.Width) and (Height = Bitmap.Height) and (PixelFormat = Bitmap.PixelFormat); if Result then begin if Map(TMapAccess.Read, MyMap) then try if Bitmap.Map(TMapAccess.Read, BitmapMap) then try for I := 0 to Height - 1 do if not CompareMem(MyMap.GetScanline(I), BitmapMap.GetScanline(I), MyMap.BytesPerLine) then begin Result := False; Exit; end; finally Bitmap.Unmap(BitmapMap); end; finally Unmap(MyMap); end; end; end;
  15. 2 likes
    Сделал вот так : if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(KeyboardService)) then begin KeyboardService.HideVirtualKeyboard; KeyboardService.ShowVirtualKeyboard(ClearingEdit2); end; Работает. Правда не радует "моргание" клавиатурой, но ... хоть что-то. Спасибо ! Возможно лучше будет разделить сокрытие клавы и ее повторный показ по двум edit-ам. Разделил. Получается вполне нормально. Еще раз - СПАСИБО !
  16. 2 likes
    private .... procedure DragOver(const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation); override; procedure DragDrop(const Data: TDragObject; const Point: TPointF); override; .... procedure TMainForm.DragOver(const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation); begin inherited; Operation:=TDragOperation.Link; end; procedure TMainForm.DragDrop(const Data: TDragObject; const Point: TPointF); begin ... свой код... inherited; end;
  17. 1 like
    Проблема в стиле. Если его удалить, или загрузить другой то все работает. Загрузите любой стиль например c:\Users\Public\Documents\Embarcadero\Studio\18.0\Styles\Win10Modern.Style и используйте его или если нужен свой, то посмотрите как там делается menuitemstyle. Там TLayout - со Stylename = glyph и на нем лежит TGlyph с Stylename - glyphstyle.
  18. 1 like
    Во-первых RoschinSpb попросит передать горячий и пламенный привет в QC. Во-вторых, если Вы создаете свой собственный стиль, то лучше бы соблюдать стандартную структуру стилевых объектов FGlyphObject это, как не сложно догадаться, стилевой элемент 'glyph'. Он содержит галочку и картинку. Возможно также что картинка будет располагаться не поверх галочки (как в Windows), а рядом с галочкой как в Mac. В этом случае glyphstyle будет расположена не внутри glyph, а рядом. В-третьих, если Вам просто требуется использовать ImageList, то нет смысла создавать свой стиль. Если Вы тренируетесь в создании стилей, то надо изучать соответствующий раздел и, скорее всего, исходники тоже.
  19. 1 like
  20. 1 like
    вот. один компонент на форме. граница есть никто вас не заставляет использовать dropTarget но реализация перетаскивания из explorer полностью ляжет на вас, как и было раньше
  21. 1 like
    Наткнулся на еще один нюанс - подсчет высоты текста будет неверным для невидимого ListView. Т.е. если ListView еще не разу не был показан на экране (находится на другой форме, в другом табе), то AFontObject:=(AListView.FindStyleResource('font') as TFontObject) вернет хрен знает что. Для того чтоб заработало для еще невидимого ListView, необходимо перед добавлением Item, вернее перед AItem.Adapter.ResetView(AItem), выполнить ListView.ApplyStyleLookup; Добавлю в первую тему.
  22. 1 like
    Версия fgx_0.7.1.118.zip нормально работает в Токио. Досконально не проверял, но явных глюков не замечено.
  23. 1 like
    незнаю как на плюсах будет, в uses добавлены? System.PushNotification {$IFDEF ANDROID}, FMX.PushNotification.Android {$ENDIF} {$IFDEF IOS}, FMX.PushNotification.iOS{$ENDIF}
This leaderboard is set to Москва/GMT+03:00