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

Kitty

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

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

  • Посещение

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

    16

Активность репутации

  1. Like
    Kitty получил реакцию от Равиль Зарипов (ZuBy) в TMapsEngine   
    Тут есть пару слайдов: http://www.slideshare.net/DenisVasilyev1/tmapview-ios-android
  2. Like
    Kitty отреагировална Alex Bozhko в Страница, посвященная книгам на офф сайте   
    Подборка книг "из первых рук".
     
    http://community.embarcadero.com/resources/books
  3. Like
    Kitty получил реакцию от zairkz в TMapsEngine   
    Тут есть пару слайдов: http://www.slideshare.net/DenisVasilyev1/tmapview-ios-android
  4. Like
    Kitty отреагировална Brovin Yaroslav в Работа с текстом   
    Просто прочитайте:
    Как работать с TStringHelper и TStringBuilder в C++Builder ХЕ6
  5. Like
    Kitty отреагировална Axbor в Как сохранить пропорцию?   
    Bitmap->Width, Bitmap->Height, оригинальные размеры загруженного изображения. Размер компоненты изменяю так:
        double koefW = 200.0/(double)Bitmap->Width;     double koefH = 200.0/(double)Bitmap->Height;     double koefC = (koefW < koefH?koefW:koefH); Image->Width = Bitmap->Width * koefC; Image->Height = Bitmap->Height * koefC;
  6. Like
    Kitty отреагировална enatechno в TMapsEngine   
    Обычно выкладываются сюда
  7. Like
    Kitty отреагировална Rusland в TMapsEngine   
    Сегодня начал определять адрес через HERE (код не менял)
    Кстати вчера вечером программа повисла когда я сел в автобус (несколько раз нажимал Подождать, но программа не очнулась). Возможно дело в том что интернет на телефоне очень слабый (GPRS).
     
     
      Вам просто нужно добавить MapsEngine.pas (предварительно убрав точку в названии файла) в свой проект: Project -> Add to project
    При компиляции C++Builder сам создаст заголовочный файл MapsEngine.hpp, делаете #include "MapsEngine.hpp" и сможете использовать класс TMapsEngine.
     
    PS. А лучше переходите на Delphi, народу больше на нем сидит 
     
     
    PPS. А сейчас у Абракадабры идет вебинар по использованию TMapView (зарегистрироваться не успел). Кто-нибудь знает этот вебинар потом можно будет где-то посмотреть?
  8. Like
    Kitty отреагировална AngryOwl в Как заставить обычную форму отображаться как Popup?   
    Можно сделать так:
    procedure TfmForma.FormCreate(Sender: TObject); begin   inherited;   Left := Screen.Size.Width - ClientWidth;   Top  := Screen.Size.Height - ClientHeight; {ну или где там она должна появляться} end;
  9. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в [Android] [XE7] Ошибка класса ENotImplemented   
    в FMX он работает по другому
     
    InputQuery имеет еще параметры
    смотрим внимательно
    type TInputCloseQueryEvent = procedure(Sender: TObject; const Values: array of string; var CanClose: Boolean) of object; TInputCloseQueryFunc = reference to function(const Values: array of string): Boolean; TInputCloseQueryProc = reference to procedure(const AResult: TModalResult; const AValues: array of string); TInputCloseBoxProc = reference to procedure(const AResult: TModalResult; const AValue: string); TInputCloseDialogProc = reference to procedure(const AResult: TModalResult); TInputCloseDialogEvent = procedure(Sender: TObject; const AResult: TModalResult) of object; TInputCloseQueryWithResultEvent = procedure(Sender: TObject; const AResult: TModalResult; const AValues: array of string) of object; TInputCloseBoxEvent = procedure(Sender: TObject; const AResult: TModalResult; const AValue: string) of object;
  10. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в TMapsEngine   
    Компонент TMapsEngine
     
    Возможности
    Нативный LocationSensor [ANDROID] Геокодинг/Реверс геокодинг через Google API, Yandex API, Here Maps API Построение маршрута через Google Distance API Расчет дистанции по прямой Совместим со стандартным компонентом TLocationSensor  
    Видео демонстрация
     
    На видео видно как TMapView косячик с миллионом точек, приложение зависло при отрисовке, но с этим ничего не поделать.
    Без синхронизации не возможно отрисовать все точки
     
    Исходник
    TMapsEngine_source.zip
    TMapsEngine_Seattle_10.zip
     
    Скачать APK  (долго он там не пролежит, а форум не позволяет загрузить zip размером 7,4 мб )
     
  11. Like
    Kitty отреагировална Brovin Yaroslav в [TfgRichEdit]- компонент редактирования текста с поддержкой форматирования   
    Новые вести с полей.
    Проверена работа на Андроиде. Рендеринг прошел нормально.  Добавлена возможность указывать межстрочный интервал для параграфов. Значительно переработаны настройки. Теперь можно задавать настройки для всех элементов в целом, для всех параграфов, так и локально для одного параграфа.
  12. Like
    Kitty отреагировална AngryOwl в Как нарисовать круглый TImage   
    var   BmpNew     : TBitmap; begin     BmpNew := TBitmap.Create;     BmpNew.SetSize({нужный размер}, {нужный размер});     BmpNew.Canvas.BeginScene;     try       BmpNew.Canvas.Fill.Kind := TBrushKind.Bitmap;       BmpNew.Canvas.Fill.Bitmap.WrapMode := TWrapMode.TileStretch;       BmpNew.Canvas.Fill.Bitmap.Bitmap := {ваш битмап};       BmpNew.Canvas.Clear(0);       BmpNew.Canvas.FillEllipse(RectF(0, 0, {нужный размер}, {нужный размер}), 1);     finally       BmpNew.Canvas.EndScene;     end;     TImage{ваш объект}.Bitmap.Assign(BmpNew); end; думаю так
  13. Like
    Kitty отреагировална Дениска в [iOS] Открытие файла из Вашего приложения в другом приложении или Своя кнопка "Open In..."   
    implementation uses   IOUtils   {$IFDEF IOS}   ,iOSapi.Foundation, FMX.Platform.Ios, iOSapi.UIKit, Macapi.Helpers   {$ENDIF}   ; procedure TForm1.Button1Click(Sender: TObject); var   fpath: string; begin   fpath:= TPath.GetDocumentsPath + PathDelim + 'filename.extention';   OpenIn(fpath); end; procedure TForm1.OpenIn(path: string);   {$IFDEF IOS} var   controller : UIDocumentInteractionController;   URL: NSURL;   {$ENDIF} begin   {$IFDEF IOS}   URL := TNSUrl.Wrap(TNSUrl.OCClass.fileURLWithPath(StrToNSStr(path)));   controller := TUIDocumentInteractionController.Wrap(   TUIDocumentInteractionController.OCClass.interactionControllerWithURL(URL));   controller.presentOpenInMenuFromRect(       WindowHandleToPlatform(self.Handle).View.frame,       WindowHandleToPlatform(self.Handle).View,true);   {$ENDIF} end;
  14. Like
    Kitty отреагировална AngryOwl в Доступ к объекту стиля через StylesData в одном из примеров для XE8   
    Вот уже в который раз обсуждается подобный вопрос...
    Я бы даже сказал - тот же самый!
    Почти каждый раз пишу одно и то же, но все упорно наступают на те же самые грабли. При этом пытаясь меня убедить в том, что делать то я что я пишу - необязательно, и при этом жалуются что у них с их вариантами - не получается достичь нужного результата.
    Отройте ссылку и в фрагменте кода найдите КЛЮЧЕВУЮ! строку:
    newItem.OnApplyStyleLookup := MissMessageApplyStyle; Смысл - переопределите событие OnApplyStyleLookup для создаваемых итемов, а внутри MissMessageApplyStyle (назовите как угодно..) - перерисовывайте содержимое. Т.е. - буквально, обновляйте содержимое "ручками".
    Тогда у Вас будет все работать как надо, картинки пропадать не будут, и т.д. и т.п.
     
    З.Ы. И да, еще. Если ваш итем ну очень сложный какой-то, например, с необходимостью отрисовки срок разными цветами или что-то еще сложнее - можете переопределить OnRepaint...
     
    З.З.Ы. В той же теме можете увидеть, насколько сложные итемы я создавал и что у них внутри есть, и все работает как надо...
  15. Like
    Kitty отреагировална Alex7wrt в Как определить выбранный на устройстве язык?   
    Для Android:
    uses FMX.Platform; ......... var ls: IFMXLocaleService; lang: string; begin if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(ls)) then lang:=ls.GetCurrentLangID; В зависимости от языка переменная lang примет значения 'en', 'ru' и т.д.
     
    либо просто: 
    lang:=copy(SysLocale.DefaultLCID,1,2); В этом случае нужен модуль System.SysUtils. 
    Первый вариант, насколько я помню, выводит региональный код, а второй - код языка. В большинстве случаев они совпадают, но для  стран, в которых говорят на одном языке, они отличаются. Первый вариант возвратит код страны, второй - код языка. 
  16. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в TLocationSensor - GPS трекер   
    вот оригинальный код, я же себе сделал компонент сразу с геокодингом и реверс геокодингом (через три сервиса here maps, google maps, yandex maps) +расчёт дистанции по дороге через google +расчёт дистанции по прямой
    AndroidGPS.zip
  17. Like
    Kitty отреагировална Brovin Yaroslav в [TfgRichEdit]- компонент редактирования текста с поддержкой форматирования   
    Работа продолжается.
    Добавлена поддержка расскраски Delphi кода. Создана система, позволяющая самостоятельно обрабатывать блоки документа. Например, чтобы сделать разметку кода. Значительно проработаны отступы для блоков. Добавлены внешние и внутренние отступы.  Исправлены многострочные списки. Теперь если элемент списка занимает больше одной строки, он отображается корректно. Добавлена поддержка закрашивания заднего фона.
    Так же этот компонент уже интегрирован в будущую настольную версию клиента форума.

  18. Like
    Kitty отреагировална Brovin Yaroslav в [TImage] Как нарисовать текст на изображение в TImage, чтобы его потом можно было сохранить?   
    with Image1.Bitmap.Canvas do if BeginScene then try Fill.Color := TAlphaColorRec.Red; Fill.Kind := TBrushKind.Solid; FillText(TRectF.Create(0, 0, 1000, 100), '1234567890', True, 1, [], TTextAlign.Leading); finally EndScene; end;
  19. Like
    Kitty отреагировална Brovin Yaroslav в [Android] программа закрывается при использовании LocationSensor и Memo   
    Если у вас зависает программа, то замените Synchronize на TThread.Queue. Это точно должно помочь
     
    Этим летом мне выделили время и я плотно занимался проблемой "черного экрана" на андроиде и креша при закрытии приложения на Андроиде. На форуме было очень много обсуждений этой проблемы. Поэтому есть пара советов, как ее избежать в текущих версия среды:
    Все операции требуемые выполнять в Delphi UI потоке нужно выполнять в Synchronize или Queue. Второе предпочтительнее. Отличие между Synchronize и Queue - только в том, что первое остановит выполнение потока до тех пор, пока не выполниться код в Synchronize. Queue наборот, поставить в очередь ваш код на выполнение. Поэтому если вы можете выполнять вашу задачу асинхронно, то лучше использовать Queue, если нет, то Synchronize. В вашем случае вы можете выполнить добавление маркера асинхронно, так как результат сенсора вы не используете в будущем для вычислений. То есть у вас только задача отображения данных в Real Time. Поэтому 
  20. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в При выравниваниее по правому краю съедаются символы.   
    как одно из решении, добавить пробелы с права от текста. если float то перевести в string
  21. Like
    Kitty отреагировална xenon54 в Недоходят push до устройства   
    ssl:   //   gateway.sandbox.push.apple.com:2195 - Это для продакшн
    ssl:   //   gateway.push.apple.com:2195 - это для разработки
  22. Like
    Kitty отреагировална Brovin Yaroslav в [Android] программа закрывается при использовании LocationSensor и Memo   
    Событие приходит в другом потоке. А с UI можно работать только в главном потоке. Поэтому перед тем, как что-то записывать в мемо, эту запись нужно завернуть в TThread.Synchronize.
    procedure TForm17.LocationSensor1LocationChanged(Sender: TObject; const [Ref] OldLocation, NewLocation: TLocationCoord2D); begin TThread.Synchronize(procedure begin Memo1.Lines.Add(''); end); end;
  23. Like
    Kitty отреагировална Brovin Yaroslav в Как закрасить имеющийся рисунок?   
    Еще подумал, что можно сделать png картинку с футболкой, у которой прозрачной будет только закрашиваемая часть. А дальше просто подложить под картинку TRectangle и просто менять ему цвет.
  24. Like
    Kitty отреагировална Brovin Yaroslav в Инструкция по установке набора компонентов FGX   
    Первое решается простым запуском среды с административными правами. Так как папка среды находится в Program Files, доступ к которой только из под админа.
  25. Like
    Kitty отреагировална Brovin Yaroslav в Как закрасить имеющийся рисунок?   
    Можно сделать маску, содержащую ту часть футболки, которую нужно закрашивать. А далее по маске попиксельно менять цвет.
×
×
  • Создать...