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

Лидеры

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

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

    Модераторы


    • Баллы

      1

    • Постов

      2 517


  2. ophion

    ophion

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


    • Баллы

      1

    • Постов

      28


  3. enatechno

    enatechno

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


    • Баллы

      1

    • Постов

      181


  4. zekelive

    zekelive

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


    • Баллы

      1

    • Постов

      133


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

Показан контент с высокой репутацией 11.02.2016 в Сообщения

  1. Вот пример того, как писать и читать BLOB procedure SaveToFireDACBlob; var MemStream: TMemoryStream; begin FireDAC.Connected := True; MemStream := TMemoryStream.Create; try Image1.Bitmap.SaveToStream(MemStream); MemStream.Seek(0,0); FDQueryInsert.ParamByName('Media').LoadFromStream(MemStream,ftBlob); FDQueryInsert.ParamByName('MType').AsString := '0'; FDQueryInsert.ExecSQL(); except on e: Exception do begin ShowMessage(e.Message); end; end; MemStream.Free; FireDAC.Connected := False; end; procedure LoadFromFireDACBlob; var BlobStream: TStream; begin FireDAC.Connected := True; try FDQuerySelect.Open; FDQuerySelect.First; while(not FDQuerySelect.EOF)do begin // access a stream from a blob like this BlobStream := FDQuerySelect.CreateBlobStream(FDQuerySelect.FieldByName('Media'),TBlobStreamMode.bmRead); // access a string from a field like this if (FDQuerySelect.FieldByName('MType').AsString='0') then begin // load your blob stream data into a control ImageViewer.Bitmap.LoadFromStream(BlobStream); end; BlobStream.Free; FDQuerySelect.Next; end; except on e: Exception do begin //ShowMessage(e.Message); end; end; FireDAC.Connected := False; end; {источник http://www.fmxexpress.com/read-and-write-a-blob-field-using-firedac-with-firemonkey-on-android-and-ios/} Касательно работы с изменением качества/размера, считаю что необходимо использовать TBitmapSurface (unit FMX.Surfaces)
    1 балл
  2. По приложенному примеру: в MySortTree нужно TTreeViewItem вместо TListBoxItem. при работе с TListBox и TTreeVew (заполнение и пр.) рекомендую использовать .BeginUpdate и .EndUpdate. По проблеме: Так вроде показывает без фантомов: procedure TForm1.SortTreeItemsClick(Sender: TObject); begin TreeView1.BeginUpdate; try TreeView1.Sort(MySortTree); TreeView1.ExpandAll; finally TreeView1.EndUpdate; end; end; P.S. А Вы используете какое-то особое правило сортировки? Если нет, рекомендую просто использовать TreeView1.Sorted := true для автоматической сортировки в алфавитном порядке по тексту в айтемах.
    1 балл
  3. для мобильных устройств есть специальное событие OnTap в случае с комбобокс оно не поможет а вот для кнопок самое то
    1 балл
  4. XXXXXX

    Получить уровень сигнала GSM/LTE

    Код: function TfMain.CheckMobileInternetSpeed: String; var mTelephonyManagerObj: JObject; mTelephonyManager: JTelephonyManager; mNetworkType: Integer; ReturnValue: string; begin mTelephonyManagerObj := SharedActivityContext.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE); mTelephonyManager := TJTelephonyManager.Wrap((mTelephonyManagerObj as ILocalObject).GetObjectID); mNetworkType := mTelephonyManager.getNetworkType(); with TJTelephonyManager.JavaClass do begin if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'GPRS' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'EDGE' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'CDMA' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := '1xRTT' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'IDEN' else if mNetworkType = NETWORK_TYPE_UMTS then ReturnValue := 'UMTS' else if mNetworkType = NETWORK_TYPE_EVDO_0 then ReturnValue := 'EVDO_0' else if mNetworkType = NETWORK_TYPE_EVDO_A then ReturnValue := 'EVDO_A' else if mNetworkType = NETWORK_TYPE_HSDPA then ReturnValue := 'HSDPA' else if mNetworkType = NETWORK_TYPE_HSUPA then ReturnValue := 'HSUPA' else if mNetworkType = NETWORK_TYPE_HSPA then ReturnValue := 'HSPA' else if mNetworkType = NETWORK_TYPE_EVDO_B then ReturnValue := 'EVDO_B' else if mNetworkType = NETWORK_TYPE_EHRPD then ReturnValue := 'EHRPD' else if mNetworkType = NETWORK_TYPE_HSPAP then ReturnValue := 'HSPAP' else if mNetworkType = NETWORK_TYPE_LTE then ReturnValue := 'LTE'; end; Result := ReturnValue; end; Советую почитать, насчёт того, какие буквы используются чтоб отобразить уровень сигнала на андроиде (G, E, H, H+ и т.д.) П.с. учтите, что это уровень сигнала а не скорость подключения.
    1 балл
  5. Кто нибудь использовал Remote Service. Есть ли у кого нибудь пример использования, или какая нибудь информация, поскольку в Demo проектах ничего я не нашел про Remote Service, только про Local Service. Также можете мне далекому по народному объяснить: в дизайнере создания сервиса есть 4 типа, есть описание на английском, только ни как не могу понять практическое применение каждого из них. Спасибо.
    1 балл
  6. sviat9440

    Как создать форму в потоке?

    то то - же! Как ни пытался применять потоки, постоянно что-то да не работает... Ладно, если нельзя создать форму в потоке, то можно ли отрисовывать анимированный индикатор в потоке?
    1 балл
  7. zekelive

    Как создать форму в потоке?

    Сам пытался простой код в потоке выполнять, у меня то программа вываливается. То ошибки не понятные какие-то. Что-то с потоками совсем ерунда какая-то в FMX.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...