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

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

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

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

  • Посещение

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

    264

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

  1. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в [Обзор] #0 ModernListView - знакомство   
    Ссылка: http://blog.rzaripov.kz/2016/11/0-modernlistview.html
    Автор: Равиль Зарипов @ZuBy
    Описание: Знакомство с ModernListView
  2. Like
    Равиль Зарипов (ZuBy) получил реакцию от pill в [Обзор] #0 ModernListView - знакомство   
    Ссылка: http://blog.rzaripov.kz/2016/11/0-modernlistview.html
    Автор: Равиль Зарипов @ZuBy
    Описание: Знакомство с ModernListView
  3. Like
    Равиль Зарипов (ZuBy) получил реакцию от Евгений (KeeperWorld) в ListView Color Helper   
    Привет Всем!
    Много тем на форуме про раскраску TListView, нашел в интернете решение и доработал его
    Вот что получилось
       
    LV_Helper.zip                                                                  ColorListView.zip
    Доступно для Seattle
    ListView1.SetColorItemSelected(TAlphaColorRec.Orangered); //выделенный ListView1.SetColorItemFill(TAlphaColorRec.Gray); // обычный цвет Item ListView1.SetColorItemFillAlt(TAlphaColorRec.Lightgrey); // альтернативный цвет Item ListView1.SetColorBackground(TAlphaColorRec.Black); // цвет самого TListView ListView1.SetColorItemSeparator(TAlphaColorRec.Lightgray); // Линия разделения Item'ов ListView1.SetColorText(TAlphaColorRec.Red); // Обычный текст ListView1.SetColorTextSelected(TAlphaColorRec.White); // выделенный текст ListView1.SetColorTextDetail(TAlphaColorRec.Yellow); // текст доп. инфы ListView1.SetColorTextHeader(TAlphaColorRec.Green); // текст заголовка ListView1.SetColorTextHeaderShadow(TAlphaColorRec.Lightgray); // тень текста   ListView1.SetColorButtonText(TAlphaColorRec.Orange); // цвет текста кнопки   ListView1.SetColorButtonTextPressed(TAlphaColorRec.Orangered); // цвет нажатой кнопки добавлено в Berlin
    ListView1.SetColorPullRefresh(TAlphaColorRec.Orange); ListView1.SetColorPullRefreshIndicator(TAlphaColorRec.Orangered); ListView1.SetColorStretchGlow(TAlphaColorRec.Lime); ModernListView.rar
  4. Like
    Равиль Зарипов (ZuBy) получил реакцию от gonzales в vkbdhelper - поднятие компонентов над клавиатурой   
    Как пользоваться:
    поместить файл в папку с проектом, прописать в uses желательно в .dpr файле. Всё
  5. Like
    Равиль Зарипов (ZuBy) получил реакцию от gonzales в vkbdhelper - поднятие компонентов над клавиатурой   
    Привет Всем!
     
    vkbdhelper.pas
     
    Давно пользовался vkbdhelper'ом, но он был только для андроида.
    руки добрались и до этого, теперь его можно использовать и на IOS
     
    изменения
    * почистил uses секцию
    * убрал зависимость от платформ (кросс-платформенный)
    * добавил глобальную переменную VKOffset
     
    VKOffset - расстояние между контролом и клавиатурой
                     для тех случаев когда включены подсказки/автозамена
                     и контрол оказывается под доп. панелькой
     
    Не все клавиатуры включают доп. панели в свой размер!
    Например для IOS нужно всегда прибавлять 30-32 пикселя, панель с кнопкой Done перекрывает контрол
    {$IFDEF IOS} VKOffset := 31; {$ELSE} VKOffset := 0; // на свой вкус // не знаю как определить размер доп. панельки // когда она не входит в размер клавиатуры // и определить есть ли панелька вообще... {$ENDIF} vkbdhelper.zip
  6. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ilya.Z в Использовать edit в popup форме   
    использовать TMultiView с режимом Custom + FMX.MultiView.CustomPresentation.pas
    смотреть демо пример
     
    кинуть на этот MultiView edit и кнопку, готово
  7. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в Экспорт в файл/импорт из файла.   
    вот так примерно
    json-treeview.zip
  8. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в Seattle Android Ошибка exited with code 1   
    поставил Берлин не снимал галки с установки SDk создал новый проект для андроида сразу ошибку выдал скачал SDK android 6.0, установил дефолтным поставил последний JDK (для уверенности и 32 бита и 64 бита) теперь компилирует, собирает библиотеку, но не создается апк Все это запущено на виртуалке, чтобы рабочую сиетл не грохнуть
    что можно еще предпринять?
    дело было в sdk, скопировал из сиетла и норм
  9. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в Использование нативных LocalBroadcastManager и BroadcastReceiver   
    емба сломала это еще в Берлине, в Токио не починили.
    Службы "нормально" работают только в Сиетле
  10. Like
    Равиль Зарипов (ZuBy) получил реакцию от pogromist в DropBox Rest   
    на например можно вот так

    DropBox_test.rar
    UPDATE: Там не используется TRest** компоненты, я их не люблю. Поэтому написал по своему.
    В мемо показана картинка, другого ничего не было на дропбоксе, думаю разберетесь в коде
  11. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в Работа с маркерами   
    используйте правильные методы
    Form3.Close; Form5.Show; что на этих формах содержится?
     
    я бы на всякий случай весь код в событиях TMapView заключал бы в
    TThread.Synhronize(nil, procedure begin // тут код который нужно выполнить end);
  12. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в Поток в Firemonkey Android для скачивания TXT   
    во первых: синхронизация сделана не правильно
    во вторых: в примерах студии есть демка с отображением индикатора загрузки
    в третьих: создание TIdHTTP (лучше заменить на THTTPClient) нужно делать в потоке
     
    код на коленке, без TThread
    // uses System.Threading TTask.Run( procedure var aHTPP: THTTPClient; aStream: TStringStream; aResult: String; begin aResult := ''; aHTPP := THTTPClient.Create; aStream := TStringStream.Create('', TEncoding.UTF8); try aHTTP.Get('урл://', aStream); aResult := aStream.DataString; finally FreeAndNil(aHTPP); FreeAndNil(aStream); end; TThread.Synchronize(TThread.CurrentThread, procedure begin Memo1.Text := aResult; end) end)  
  13. Like
    Равиль Зарипов (ZuBy) получил реакцию от Edward Tarasov в Приложение для получения раздражителей в работе Магазинов розничной сети   
    а что в этом сложного?
    найди сервис который будет тебе отправлять смску за нормальную цену.
    1) сгенерируй код, в пределах 1111-9999
    2) запомни его (в переменную)
    3) вызови апи сервиса который отправляет смс, со своим текстом и кодом
    5) вызови диалог ввода смс-кода
    6) пользователь вводит смс-код
    7) сравниваешь с сохраненным в переменную значением
    8) Профит!
     
    6 пункт можно автоматизировать, через бродкаст и автоматическое чтение смс
  14. Like
    Равиль Зарипов (ZuBy) получил реакцию от Anatoliy в CloudFlare [IPV6]   
    Доброго времени суток!
    Для тех, кто не может опубликовать приложение в AppStore
    Если приложение посылает запросы на сервер и у Вас на сервере нет поддержки IPV6, Apple не опубликует приложение!
    Что нужно для успешной публикации:
    Получить у Вашего хостера IPV6 адрес (примерно такой вид имеет ipv6 адрес)  2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d  
    Если нет root-доступа к серверу, то можно воспользоваться сервисом https://cloudflare.com Если есть root-доступ, то ознакомьтесь с инструкцией Мы рассмотрим самый частый вариант, без root-доступа, через сервис CloudFlare
    Не буду расписывать регистрацию, там все просто Нажимаем +Add Site, вписываем адрес Вашего сайта (домен), как только система проверит конфигурацию Вашего текущего DNS, она предложит изменить NS-сервера В кабинете хостера Вам нужно будет сменить NS-сервара, на те которые выдал CloudFlare  В CloudFlare -> раздел DNS Нужно будет дописать запись типа AAAA с Вашим ipv6 адресом  Все поддомены которые есть также прописать через запись типа CNAME  Чтобы работало FTP нужно отключить HTTP Proxy (CDN)  Теперь FTP протокол будет доступен по IPv4, не по домену Ждём обновления DNS и проверяем правильность конфигурации
    Результат примерно такой должен быть

    Что нужно сделать в Delphi / C++:
    Выкидываем TidHTTP (Indy) и переписываем на TNetHTTPClient Приложу пример запроса и обработки ответов, учтен баг с получением контента на IOS
    TmyAPI.zip или https://github.com/rzaripov1990/FMX.HTTP.Request
  15. Like
    Равиль Зарипов (ZuBy) получил реакцию от Юрий В. в vkbdhelper - поднятие компонентов над клавиатурой   
    Привет Всем!
     
    vkbdhelper.pas
     
    Давно пользовался vkbdhelper'ом, но он был только для андроида.
    руки добрались и до этого, теперь его можно использовать и на IOS
     
    изменения
    * почистил uses секцию
    * убрал зависимость от платформ (кросс-платформенный)
    * добавил глобальную переменную VKOffset
     
    VKOffset - расстояние между контролом и клавиатурой
                     для тех случаев когда включены подсказки/автозамена
                     и контрол оказывается под доп. панелькой
     
    Не все клавиатуры включают доп. панели в свой размер!
    Например для IOS нужно всегда прибавлять 30-32 пикселя, панель с кнопкой Done перекрывает контрол
    {$IFDEF IOS} VKOffset := 31; {$ELSE} VKOffset := 0; // на свой вкус // не знаю как определить размер доп. панельки // когда она не входит в размер клавиатуры // и определить есть ли панелька вообще... {$ENDIF} vkbdhelper.zip
  16. Thanks
    Равиль Зарипов (ZuBy) получил реакцию от Roma77751 в [TListView] Как отловить нажатие на картинку в TListView?   
    if ItemObject is TListItemImage then begin if ItemObject.Name = 'Image2' then ..... end;
  17. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в Приложение для расчёта сцепления автомобиля и его привода v.1.1   
    загрузить на файлообменник или в облако и приложите ссылку в тему
  18. Like
    Равиль Зарипов (ZuBy) получил реакцию от Tom1984 в Динамическая подгрузка картинок в ListView   
    Привет Всем!
    Как принято в современных приложениях, догружать контент(обычно это картинки) при скролинге.
    я взял картинки пользователей этого форума

    Seattle LVdynamicLoadBitmap.zip
    Berlin LVdynamicLoadBitmap(Berlin).zip
  19. Like
    Равиль Зарипов (ZuBy) получил реакцию от Евгений Корепов в Прозрачная иконка приложения   
    вот так 
    NotificationCenter1.ApplicationIconBadgeNumber := 0;  
  20. Like
    Равиль Зарипов (ZuBy) получил реакцию от Ingalime в GIT - как с ним наиболее просто работать   
    если нужно чтобы проекты были в гите и секьюрно, то можно воспользоваться решением от atlassian.
    купить продукт Server, развернуть на любом сервере. стартер пак - 10$ на 10 человек 
  21. Like
    Равиль Зарипов (ZuBy) получил реакцию от Barbanel в GIT - как с ним наиболее просто работать   
    если нужно чтобы проекты были в гите и секьюрно, то можно воспользоваться решением от atlassian.
    купить продукт Server, развернуть на любом сервере. стартер пак - 10$ на 10 человек 
  22. Like
    Равиль Зарипов (ZuBy) получил реакцию от MrAnderson в Работа с ListView   
    procedure TForm3.Button1Click(Sender: TObject); begin with ListView1.Items.Add do begin Text := '...'; Data['STATUS'] := 'Signal'; end; with ListView1.Items.Add do begin Text := '...'; Data['STATUS'] := 'Normal'; end; ListView1.Resize; end; procedure TForm3.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem); var TextObject: TListItemText; begin TextObject := AItem.Objects.FindDrawable('STATUS') As TListItemText; if TextObject = nil then begin TextObject := TListItemText.Create(AItem); TextObject.Name := 'STATUS'; end; if TextObject.Text = 'Signal' Then TextObject.TextColor := TAlphaColorRec.Red else TextObject.TextColor := TAlphaColorRec.Black; end; остальное сами настроете
  23. Like
    Равиль Зарипов (ZuBy) получил реакцию от Manfred в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    Принцип работы Push на разных ОС не отличается
    если коротко, не обращаем внимание на OS и термины (для ознакомления прошу сюда)
    Описание технологии GCM и APNs  хорошо расписаны на хабре, гораздо более профессионально. Я уж точно ничего нового не внесу.
  24. Like
    Равиль Зарипов (ZuBy) получил реакцию от Manfred в [Статья] Настройка пуш уведомлении через сервис Firebase для ANDROID и IOS [Часть 2]   
    @Ingalime спасибо за вопросы) 
    1) Вот есть хорошее описание работы и терминов касательно APNs и GCM, тратить на это время и писать тоже самое не хотелось
    2) Реализация серверной и клиентской части есть в статье
    3) Что для этого нужно и как настроить есть в предыдущей статье
    Laravel - это PHP фреймфорк, но выложил код на "чистом" PHP, чтобы каждый мог быстро интегрировать в свой проект, не привязываясь к фреймворкам
  25. 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;  
×
×
  • Создать...