Перейти к содержанию
Fire Monkey от А до Я

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      1

    • Постов

      2 124


  2. rareMax

    rareMax

    Пользователи


    • Баллы

      1

    • Постов

      553


  3. Павел Алхимов

    Павел Алхимов

    Пользователи


    • Баллы

      1

    • Постов

      2


  4. dnekrasov

    dnekrasov

    Пользователи


    • Баллы

      1

    • Постов

      317


Популярный контент

Показан контент с высокой репутацией 21.12.2015 во всех областях

  1. Многие компоненты FGX - то, что просто недопортировано из VCL в FMX. Авторы, насколько можно видеть - разработчики из команды Embarcadero. Так почему FGX не входит в стандартную поставку Delphi? Каковы перспективы этого вопроса?
    1 балл
  2. rareMax

    Добавьте кнопку "Вверх"

    Просьба, добавьте кнопку "вверх", (пример - Хабр). Очень неудобно с середины или даже ниже в теме подниматься вверх
    1 балл
  3. C недавних пор мой старый метод открытия файлов в другом приложении перестал работать на ipad mini и iphone6. Оказалось что Apple ещё с ios 7 представил свой способ передачи файлов Airdrop, он же предоставляет возможность открывать файл в различных приложениях аналогично кнопке Open in. Итак код: uses {$IFDEF IOS} iOSapi.UIKit, iOSapi.Foundation, iOSapi.CoreGraphics, FMX.Helpers.iOS, Macapi.Helpers, Macapi.ObjectiveC {$ENDIF}; procedure Share(const AControl: TControl; filepath: string); var objects: NSMutableArray; controller : UIActivityViewController; popoverController: UIPopoverController; url: NSURL; procedure ShowForPhone; var Window: UIWindow; begin Window := SharedApplication.keyWindow; if (Window <> nil) and (Window.rootViewController <> nil) then Window.rootViewController.presentModalViewController(controller, True); end; procedure ShowForPad; var Window: UIWindow; PopoverRect: CGRect; AbsolutePos: TPointF; begin Window := SharedApplication.keyWindow; if AControl <> nil then begin AbsolutePos := AControl.LocalToAbsolute(PointF(0, 0)); if AControl.Scene <> nil then AbsolutePos := AControl.Scene.LocalToScreen(AbsolutePos); PopoverRect := CGRectMake(AbsolutePos.X, AbsolutePos.Y, AControl.Width, AControl.Height); end else PopoverRect := CGRectMake(0, 0, 0, 0); popoverController := TUIPopoverController.Alloc; popoverController.initWithContentViewController(controller); popoverController.presentPopoverFromRect(PopoverRect, Window.rootViewController.View, UIPopoverArrowDirectionAny, True); end; procedure ShowActionsSheet; begin if IsPad then ShowForPad else ShowForPhone; end; begin url := TNSURL.Wrap(TNSURL.OCClass.fileURLWithPath(StrToNSStr(filepath))); objects := TNSMutableArray.Create; objects.addObject((url as ILocalObject).GetObjectID); try if objects.count > 0 then begin controller := TUIActivityViewController.alloc; controller.initWithActivityItems(objects , nil); ShowActionsSheet; end; finally objects.release; objects := nil; end; end; Возможно Вы найдёт для себя что-то лишнее или нагромождённое, но заметьте, этот код подходит и для телефона и для планшета и сделан для быстрого понимания происходящего. Он был "заимствован" и модифицирован из самой RAD Studio из модуля FMX.MediaLibrary.IOS 395 строка. Оригинал же позволял передавать лишь String и TBitmap. Если же Вам нужно передавать именно их, Вы можете открыть этот модуль "C:\Program Files\Embarcadero\Studio\17.0\source\fmx\FMX.MediaLibrary.iOS.pas" и найти в оригинале как это делается.
    1 балл
  4. лучше не пользуйся TImageList. у меня на моем телефоне нормально отображалась картинка на кнопке, на планшете нормально, а вот на Sony Xperia L, вместо картинки были различные черточки даже отдаленно не напоминающие картинку. кинул на кнопку обычный TImage и все заработало.
    1 балл
  5. В Seattle поменялся путь к документам, и то что в GetDocumentsPath не видно - ибо не Shared теперь, в файловом менеджере не видно, однако файлы пишутся, проверяли их на чтение? В XE7 GetSharedDocumentsPath выводил в Android/data/com.embarcadero.имя, в Seattle путь в папку Documents в корне. GetDocumentsPath в Seattle указывает в Android/data/com.embarcadero.имя и файлы скрытые. Еще момент, были проблемы с файлами после перехода с XE7, если работа с файлами в конструкторе формы, помог вынос в OnCreate, что-то там поменялось.
    1 балл
  6. При работе с буферами надо задать сначала длину буферов установкой Length: Mesh1.Data.IndexBuffer.Length:= Mesh1.Data.VertexBuffer.Length:=
    1 балл
  7. У TImage есть свойство MultiResBitmap. В него и грузите разные версии одной картинки под разные скейлы экранов. А еще у кнопки теперь есть поддержка TImageList. Так что вы можете загрузить весь ваш пакет картинок в TImageList, подключить его к кнопкам через свойство TButton.Images и при помощи свойства ImageIndex выбирать требуемую картинку.
    1 балл
  8. Было нечто похожее Может быть дело в том, что в XE8 путь к документам это "GetSharedDocumentsPath", а в Seattle уже "GetDocumentsPath"
    1 балл
  9. dnekrasov

    Системная информация в OSX

    function GetHDDSerialID: String; Const kIOPlatformSerialNumberKey = 'IOPlatformSerialNumber'; var PlatformExpert: io_service_t; M: CFMutableDictionaryRef; CFTR: CFTypeRef; pac: PAnsiChar; begin M := IOServiceMatching('IOPlatformExpertDevice'); PlatformExpert := IOServiceGetMatchingService(kIOMasterPortDefault, CFDictionaryRef(M)); try CFTR := IORegistryEntryCreateCFProperty(PlatformExpert, CFSTR(kIOPlatformSerialNumberKey), kCFAllocatorDefault, 0); pac := CFStringGetCStringPtr(CFTR, 0); Result := String(AnsiString(pac)); finally IOObjectRelease(PlatformExpert); end; end;
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...