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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

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


    • Баллы

      6

    • Постов

      2 124


  2. xenon54

    xenon54

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


    • Баллы

      2

    • Постов

      385


  3. ruslan

    ruslan

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


    • Баллы

      2

    • Постов

      160


  4. Streletz

    Streletz

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


    • Баллы

      2

    • Постов

      17


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

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

  1. Рисовать средствами iOSapiVoreGraphics можно только на нативном UIView. Поэтому для начала нужно создать на форме нативный UIView. Рисование возможно только в перекрытом методу UIView.drawRect. Поэтому создаем отдельный класс UIView и перекрываем метод DrawRect. Ниже приведен код, оболочки UIView, который выполняет отрисовку, через событие OnPaint. unit FMX.DrawableView; interface uses System.Types, System.TypInfo, iOSapi.CoreGraphics, iOSapi.UIKit, Macapi.ObjectiveC; type IMyView = interface(UIVIew) ['{A7145466-B0FA-42C1-A588-E73D03FFEBF1}'] procedure drawRect(rect: CGRect); cdecl; end; TOnPaint = procedure (Sender: UIView; Context: CGContextRef; const Rect: CGRect) of object; TDrawableView = class(TOCLocal) private FOnPaint: TOnPaint; function GetView: UIView; protected function GetObjectiveCClass: PTypeInfo; override; public constructor Create(const AFrame: TRectF); procedure drawRect(rect: CGRect); cdecl; public property View: UIView read GetView; property OnPaint: TOnPaint read FOnPaint write FOnPaint; end; implementation { TMyView } constructor TDrawableView.Create(const AFrame: TRectF); var V: Pointer; begin inherited Create; V := View.initWithFrame(CGRectMake(AFrame.Left, AFrame.Top, AFrame.Width, AFrame.Height)); if GetObjectID <> V then UpdateObjectID(V); end; procedure TDrawableView.drawRect(rect: CGRect); var context: CGContextRef; begin context := UIGraphicsGetCurrentContext(); try if Assigned(FOnPaint) then FOnPaint(View, context, rect); finally CGContextClearRect(context, rect); end; end; function TDrawableView.GetObjectiveCClass: PTypeInfo; begin Result := TypeInfo(IMyView); end; function TDrawableView.GetView: UIView; begin Result := UIView(Super); end; end. После того, как у нас есть нативное UIView, мы должны его создать и повесить на наше введенное событие OnPaint обработчик отрисовки: private FView: TDrawableView; protected // Декларация обработчика рисования procedure DoPaint(Sender: UIView; Context: CGContextRef; const Rect: CGRect); uses FMX.Platform.iOS; constructor TForm1.Create(AOwner: TComponent); var iOSHandle: TiOSWindowHandle; begin inherited; FView := TDrawableView.Create(TRectF.Create(0, 0, 200, 200)); FView.OnPaint := DoPaint; iOSHandle := WindowHandleToPlatform(Handle); iOSHandle.View.addSubview(FView.View); end; // Пример отрисовки красного прямоугольника procedure TForm1.DoPaint(Sender: UIView; Context: CGContextRef; const Rect: CGRect); begin CGContextSetRGBFillColor(context, 255, 0, 0, 1); CGContextFillRect(context, CGRectMake(20, 20, 100, 100)); end; В итоге получаем встроенное представление в форму, с отрисованным красным квадратом: Демо проект: iOS_Draw_Rect.zip Подробности отрисовки: Введение в Core Graphics на iOS
    3 балла
  2. Добрый день, Стандартный эмулятор поддерживает указание гео координат. Но для этого нужно подключиться к симулятору через telnet и прописать ему ручками местоположение. 1. Включаем поддержку клиента Telnet для Windows 7-8 Пуск - Панель управления - Программы и компоненты - Включение или отключение компонентов windows - Клиент Telnet (ставим галочку) 2. Подключаем к эмулятору через telnet Запускаем командную строку cmd: 3. Задаем координаты эмулятора задаем координаты и смотрим, как в сенсоре срабатывает событие смены геопозиции: Подробности тут: Using the Emulator Console Geo Location Provider Emulation
    2 балла
  3. Код рабочий. Обычно, требуется некоторое время для получения координат и данных из GoogleMaps. Координаты на устройстве определяются?
    2 балла
  4. можно куда проще ip:= IdHttp.get('http://icanhazip.com/');
    2 балла
  5. Посмотрите вот эту страничку http://stackoverflow.com/questions/6064510/how-to-get-ip-address-of-the-device
    1 балл
  6. Завел багу на девелопера в трекере. TBitmapListAnimation вам тут точно не помощник.
    1 балл
  7. Ну, как говорится, сам спросил - сам ответил. Оказывается очень просто: (код на c++) #include <FMX.Platform.mac.hpp> #include <Macapi.AppKit.hpp> ... NSWindow *Wnd = WindowHandleToPlatform(Form1->Handle)->Wnd; Wnd->setAlphaValue(0.5); // диапазон: 0 .. 1.0 Узнать значение текущего альфа-канала: float v = Wnd->alphaValue();
    1 балл
  8. xenon54

    [Android] Как узнать мой IP адрес?

    Там же список возвращается? в нем только 127.0.0.1? Других значений нет? #include <linux/if.h> #include <linux/if_arp.h> #include <arpa/inet.h> #include <sys/socket.h> String strGetSocketAddressProperty(String strInterface, int iProperty) { int fd(0); int rv; struct ifreq ifr; char buffer[128]; String strProperty = "" , IPAddr ; try { fd = socket(AF_INET, SOCK_DGRAM, 0); } catch (...) { ShowMessage("Error here"); } ifr.ifr_addr.sa_family = AF_INET; memset(ifr.ifr_name,0,IFNAMSIZ); memcpy(ifr.ifr_name,AnsiString(strInterface).c_str(),AnsiString(strInterface).Length()); rv = ioctl(fd, iProperty, &ifr); if (rv == 0) { /* display result */ IPAddr = inet_ntoa(((struct sockaddr_in *)&ifr.ifr_addr)->sin_addr) ; strProperty = IPAddr ;//buffer; strProperty = Trim(strProperty); } else { strProperty = (IntToStr(rv)); //DEBUG_MESSAGE(std::string("rv: ") + itoa(rv) ); } close(fd); return strProperty; } void __fastcall TForm1::btn1Click(TObject *Sender) { mmo1->Lines->Clear(); mmo1->Lines->Add( strGetSocketAddressProperty(L"wlan0",SIOCGIFADDR) );//ip address mmo1->Lines->Add( strGetSocketAddressProperty(L"wlan0",SIOCGIFNETMASK) );//net mask mmo1->Lines->Add( strGetSocketAddressProperty(L"wlan0",SIOCGIFBRDADDR) );//broadcast address } Так пробовали?
    1 балл
  9. xenon54

    [Android] Как узнать мой IP адрес?

    Вот кстати, нашел: https://forums.embarcadero.com/thread.jspa?threadID=109341
    1 балл
  10. http://docwiki.embarcadero.com/CodeExamples/XE7/en/FMXGradient_(Delphi) Используй fill.Gradient.StartPosition.Y fill.Gradient.StartPosition.X fill.Gradient.StopPosition.X Gradient.zip
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...