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

Равиль Зарипов (ZuBy)

Модераторы
  • Постов

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

  • Посещение

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

    264

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

  1. Like
    Равиль Зарипов (ZuBy) получил реакцию от dnekrasov в Скачать курс валют через THTTPClient   
    нет такой проблемы, ваш код у меня отработал так

     
    uses System.Net.HTTPClient; procedure TForm2.Button1Click(Sender: TObject); var aHttp: THTTPClient; aStr: TStringStream; begin aHttp := THTTPClient.Create; aStr := TStringStream.Create('', TEncoding.UTF8); try aHttp.Get('http://www.cbr.ru/', aStr); Memo1.text := aStr.DataString; finally aHttp.Free; aStr.Free; end; end;  
  2. Like
    Равиль Зарипов (ZuBy) отреагировална Rusland в Ищу несколько кросс-платформенных компонентов   
    Для Windows как и в VCL можно использовать Mutex-ы:
    // в dpr-е uses FMX.Forms, Winapi.Windows, ... {$R *.res} var MUT: THandle; begin MUT := OpenMutex(MUTEX_ALL_ACCESS, false, 'MySuperProgram'); if MUT <> 0 then Application.Terminate; if MUT = 0 then MUT := CreateMutex(nil, false, 'MySuperProgram'); Application.Initialize; ...  
  3. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в Скачать курс валют через THTTPClient   
    нет такой проблемы, ваш код у меня отработал так

     
    uses System.Net.HTTPClient; procedure TForm2.Button1Click(Sender: TObject); var aHttp: THTTPClient; aStr: TStringStream; begin aHttp := THTTPClient.Create; aStr := TStringStream.Create('', TEncoding.UTF8); try aHttp.Get('http://www.cbr.ru/', aStr); Memo1.text := aStr.DataString; finally aHttp.Free; aStr.Free; end; end;  
  4. Like
    Равиль Зарипов (ZuBy) получил реакцию от Alisson R Oliveira в Как сделать аналог Autosize в TImage   
    как то так наверное
    AutoSizeImage.rar
  5. Like
    Равиль Зарипов (ZuBy) отреагировална Vitaldj в файл не находится   
    Не надо мне объяснять, что iOs хранит файлы приложения в спец директории приложения. Это я прекрасно знаю. Я тебе о другом. В xcode можно выгрузить твою программу обратно. Делается это тут:

    Нажимаешь download container
    И получает директорию вида: название программы 2017-04-19 14:20.56.557.xcappdata
    Лезешь в нее простым totall comm и смотрит директорию для документов: Documents . У меня лично пробные файлы задеплоитманные до этого оказались там где нужно. Я указал, как и советовал Ярослав:

    Указываешь путь startup\documents
  6. Like
    Равиль Зарипов (ZuBy) получил реакцию от ENERGY в Порядок запуска TBitmapListAnimation     
    картинка из примера
      
    Загружаем её в BitmapListAnimation
     
    настройка BitmapListAnimation
     
    ну и не забываем
    BitmapListAnimation1.Enabled := true;  
  7. Like
    Равиль Зарипов (ZuBy) получил реакцию от AngryOwl в Как определить язык системы в Win10 ?   
    // uses FMX.Platform var LocaleService: IFMXLocaleService; ... if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(LocaleService)) then     Result := LocaleService.GetCurrentLangID; ...  
  8. Like
    Равиль Зарипов (ZuBy) получил реакцию от Евгений Корепов в Как определить язык системы в Win10 ?   
    // uses FMX.Platform var LocaleService: IFMXLocaleService; ... if TPlatformServices.Current.SupportsPlatformService(IFMXLocaleService, IInterface(LocaleService)) then     Result := LocaleService.GetCurrentLangID; ...  
  9. Like
    Равиль Зарипов (ZuBy) получил реакцию от Rusland в [Android] Доступ из программы к папкам res\   
    TAndroidHelper.Context.getResources().getIdentifier( StringToJString('название картинки без расширения'), StringToJString('drawable'), TAndroidHelper.Context.getPackageName); Чтобы картинки отображались согласно скейлу девайса, нужно чтобы они были во всех вариациях
    ldpi; mdpi; hdpi; xhdpi и тд... Ну и деплоить их правильно!
  10. Like
    Равиль Зарипов (ZuBy) получил реакцию от Major в [Android] Доступ из программы к папкам res\   
    TAndroidHelper.Context.getResources().getIdentifier( StringToJString('название картинки без расширения'), StringToJString('drawable'), TAndroidHelper.Context.getPackageName); Чтобы картинки отображались согласно скейлу девайса, нужно чтобы они были во всех вариациях
    ldpi; mdpi; hdpi; xhdpi и тд... Ну и деплоить их правильно!
  11. Like
    Равиль Зарипов (ZuBy) получил реакцию от Mazzay в Конец анимации   
    за плавность анимации отвечает TScrollCalculations (TAniCalculations), у него есть событие OnStop.
    вот если его переназначить и не сломать сам компонент в этот момент, будет вам счастье
  12. Like
    Равиль Зарипов (ZuBy) получил реакцию от Сергей Сергеев в Ipv6 в datasnap   
    а сам хост(сервер) имеет IPv6 адрес?
    вот у меня тоже самое было, пока не выдал провайдер IPv6 адрес, я не смог опубликовать
  13. Like
    Равиль Зарипов (ZuBy) отреагировална AngryOwl в TMultiView. Плавность перемещения   
    Я поступил проще - на Токио пока даже и не пробовал переходить... Берлин работает, как работает - устраивает. Пока Токио не допилят, пока об этом все не напишут, и пока не появится как минимум первый апдейт - даже и пробовать не буду.
    Политика Embarcadero мне понятна. Искренне надеюсь, что им хватит ума и бюджета на то, чтобы развивать продукт. Оставался и остаюсь приверженцем Delphi, и во многих случаях ему просто нет объективной замены/альтернативы. Но кидаться "в омут" (на каждую новую версию) - желания нет.
  14. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в TMultiView. Плавность перемещения   
    нет не у одного, так у всех
  15. Like
    Равиль Зарипов (ZuBy) получил реакцию от dnekrasov в TThread.ForceQueue не работает в Android   
    В токио
  16. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в Ipv6 в datasnap   
    а сам хост(сервер) имеет IPv6 адрес?
    вот у меня тоже самое было, пока не выдал провайдер IPv6 адрес, я не смог опубликовать
  17. Like
    Равиль Зарипов (ZuBy) получил реакцию от HyperZen в TMultiView. Плавность перемещения   
    нет не у одного, так у всех
  18. Like
    Равиль Зарипов (ZuBy) получил реакцию от Евгений Корепов в TThread.ForceQueue не работает в Android   
    В токио
  19. Like
    Равиль Зарипов (ZuBy) получил реакцию от petyaas в TLocationSensor - километраж   
    встроенных нету, по прямой можно рассчитать так
    function GetDistance(const aStart, aEnd: TMapCoordinate): Real; const Radius = 6372795; PiDiv180 = Pi / 180; var CosLatStart, SinLatStart, CosLatEnd, SinLatEnd, Delta, CosDelta, SinDelta, X, Y: Real; begin try CosLatStart := Cos(aStart.Latitude * PiDiv180); CosLatEnd := Cos(aEnd.Latitude * PiDiv180); SinLatStart := Sin(aStart.Latitude * PiDiv180); SinLatEnd := Sin(aEnd.Latitude * PiDiv180); Delta := (aEnd.Longitude * PiDiv180) - (aStart.Longitude * PiDiv180); CosDelta := Cos(Delta); SinDelta := Sin(Delta); Y := Sqrt(((CosLatEnd * SinDelta) * (CosLatEnd * SinDelta)) + ((CosLatStart * SinLatEnd - SinLatStart * CosLatEnd * CosDelta) * (CosLatStart * SinLatEnd - SinLatStart * CosLatEnd * CosDelta))); X := SinLatStart * SinLatEnd + CosLatStart * CosLatEnd * CosDelta; Result := Round(ArcTan2(Y, X) * Radius); except Result := MaxSingle; // сравнивать с MaxSingle, вдруг ошибка произошла end; end;  
  20. Like
    Равиль Зарипов (ZuBy) получил реакцию от Евгений Корепов в TLocationSensor - километраж   
    встроенных нету, по прямой можно рассчитать так
    function GetDistance(const aStart, aEnd: TMapCoordinate): Real; const Radius = 6372795; PiDiv180 = Pi / 180; var CosLatStart, SinLatStart, CosLatEnd, SinLatEnd, Delta, CosDelta, SinDelta, X, Y: Real; begin try CosLatStart := Cos(aStart.Latitude * PiDiv180); CosLatEnd := Cos(aEnd.Latitude * PiDiv180); SinLatStart := Sin(aStart.Latitude * PiDiv180); SinLatEnd := Sin(aEnd.Latitude * PiDiv180); Delta := (aEnd.Longitude * PiDiv180) - (aStart.Longitude * PiDiv180); CosDelta := Cos(Delta); SinDelta := Sin(Delta); Y := Sqrt(((CosLatEnd * SinDelta) * (CosLatEnd * SinDelta)) + ((CosLatStart * SinLatEnd - SinLatStart * CosLatEnd * CosDelta) * (CosLatStart * SinLatEnd - SinLatStart * CosLatEnd * CosDelta))); X := SinLatStart * SinLatEnd + CosLatStart * CosLatEnd * CosDelta; Result := Round(ArcTan2(Y, X) * Radius); except Result := MaxSingle; // сравнивать с MaxSingle, вдруг ошибка произошла end; end;  
  21. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    а чтобы не править файлы, можно было отправить в title название приложения
  22. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    файл api.php
    } elseif ($method == "sendPush") { # если параметры не переданы, то отдаем ошибку # if (empty($title)) msgErr("Параметр `title` не передан"); // убрать if (!isset($title)) $title = ''; // вставить ...  
  23. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    а что конкретно сделала? подключила fmx.jar?
     
    можно, если заголовка нет, там будет отображаться название приложения
  24. Like
    Равиль Зарипов (ZuBy) получил реакцию от Kitty в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    читаем внимательно, kinvey тут не используется
    http://blog.rzaripov.kz/2017/02/firebase-android-ios.html
    http://blog.rzaripov.kz/2017/02/firebase-android-ios-2.html
  25. Like
    Равиль Зарипов (ZuBy) получил реакцию от AngryOwl в Error: segmentation fault 11   
    проверил отправку через консоль, чтобы ошибки не было делается вот так
    const FCMSignature = 'gcm.notification.body'; GCMSignature = 'message'; APNsSignature = 'alert'; var aText: string; aObj: TJSONValue; begin // это событие срабатывает при открытом приложении {$IFDEF ANDROID} aObj := ANotification.DataObject.GetValue(GCMSignature); if aObj <> nil then aText := aObj.Value else aText := ANotification.DataObject.GetValue(FCMSignature).Value; {$ELSE} aObj := ANotification.DataObject.GetValue(APNsSignature); if aObj <> nil then aText := aObj.Value; {$ENDIF} ShowMessage(aText);  
×
×
  • Создать...