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

estra

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

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

  • Посещение

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

    20

Весь контент estra

  1. Всем привет. Столкнулся с проблемкой. Есть структура с данными типа TBitmapData. Как из них получить изображение? var Bitmap: TBitmap; BitmapData, M: TBitmapData; begin ... Bitmap := TBitmap.Create; Bitmap.SetSize( Width, Height ); if Bitmap.Map( TMapAccess.maRead, M ) then begin BitmapData := TBitmapData.Create( Width, Height, TPixelFormat.BGR_565 ); BitmapData.Data := @ImageData[0]; M.Copy( BitmapData ); Bitmap.Unmap( M ); end; Image1.Bitmap.Assign( Bitmap ); ... end; В итоге никакого изображения не видно. Как из TBitmapData получить изображение?
  2. После выхода XE8, в новой версии компонентов FGX.
  3. Есть предложение "не скупиться" и добавлять не по 1, а по несколько компонентов... А если конкретно, добавьте компоненты для работы с NFC и для определения уровня сигнала от BlueTooth устройства. Не помешал бы компонент для работы со сканером отпечатков пальцев и датчиком здоровья...
  4. Все еще актуально. Никто не в курсе, как это исправить?
  5. А при чем тогда здесь ХЕ7? При том, что судя по вопросу, интересует как такую проверку сделать программно в своем приложении. Мне это тоже интересно, может кто нибудь ответить по существу вопроса?
  6. Android API: package "android.net.wifi" или обёртка для работы с Wi-Fi
  7. Progect Options (Ctrl + Shift + F11) -> Version Info -> label (вместо $(ModuleName) напишите название программы)
  8. Примерно так uses System.IOUtils; var b: TBitmap; begin b.SaveToFile( TPath.GetPicturesPath + PathDelim + '1.bmp' ); end; Правда не уверен на счет пути, может другой надо подставить (GetPublicPath, GetDocumentsPath). Поэкспериментируйте...
  9. Это кто же вам такую ерунду то сказал? Почитайте "Delphi. Программирование для Windows, OS X, iOS и Android": Глава 24. Мультиязычные проекты: Компонент языковой поддержки TLang Режим автоматического перевода Перевод меню Ссылка 1, Ссылка 2
  10. estra

    Компонент Wi-Fi

    Нормально Посмотрите это http://fire-monkey.ru/topic/309-kak-ukazat-tcelevye-platformy-dlia-komponenta-n/
  11. estra

    Компонент Wi-Fi

    Ссылочкой на компонент поделитесь?
  12. estra

    Компонент Wi-Fi

    Подойдет? http://delphifmandroid.blogspot.ru/2014/04/android-api-package-androidnetwifi-wi-fi.html
  13. estra

    Фоновые операции

    К слову, не все приложения "замораживаются" на iOS, а именно - сервисы определения местоположения, воспроизведение музыки и VoIP-звонки. Так что если хотите, чтобы ваше приложение работало в фоне, научите его (приложение) например получать координаты местоположения. Кстати, все изменилось с iOS 7, подробнее тут.
  14. Присоединяюсь к просьбе, хотя с трудом верится... У Ярослава на форум времени не хватает, какая уж тут книга...
  15. var g: TGUID; begin CreateGUID( g ); end; Этот способ подойдет и для VCL и для FM.
  16. Есть проблема с OnReadRSSI. Есть такой код: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, System.Bluetooth, FMX.StdCtrls, System.Bluetooth.Components, FMX.ListBox; type TForm1 = class(TForm) Button1: TButton; ComboBox: TComboBox; Label1: TLabel; Button2: TButton; Timer1: TTimer; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private FBluetoothManagerLE: TBluetoothLEManager; ADevice: TBluetoothLEDevice; AService: TBluetoothGattService; procedure DevicesDiscoveryLEEnd(const Sender: TObject; const ADevices: TBluetoothLEDeviceList); procedure GetCurrentDevice(var ADevice: TBluetoothLEDevice); procedure BluetoothLEReadRSSI(const Sender: TObject; ARssiValue: Integer; AGattStatus: TBluetoothGattStatus); public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.BluetoothLEReadRSSI(const Sender: TObject; ARssiValue: Integer; AGattStatus: TBluetoothGattStatus); begin Label1.Text := IntToStr( ARssiValue ); end; procedure TForm1.Button1Click(Sender: TObject); begin FBluetoothManagerLE := TBluetoothLEManager.Current; FBluetoothManagerLE.OnDiscoveryEnd := DevicesDiscoveryLEEnd; FBluetoothManagerLE.StartDiscovery( 2000 ); end; procedure TForm1.Button2Click(Sender: TObject); begin if ComboBox.ItemIndex >= 0 then begin GetCurrentDevice(ADevice); if ADevice <> nil then begin ADevice.OnReadRSSI := BluetoothLEReadRSSI; ADevice.DiscoverServices; Timer1.Enabled := True; end; end; end; procedure TForm1.DevicesDiscoveryLEEnd(const Sender: TObject; const ADevices: TBluetoothLEDeviceList); var i: Integer; begin ComboBox.Items.Clear; for I := 0 to ADevices.Count - 1 do ComboBox.Items.Add(ADevices[i].DeviceName); end; procedure TForm1.GetCurrentDevice(var ADevice: TBluetoothLEDevice); var I: Integer; begin for I := 0 to FBluetoothManagerLE.LastDiscoveredDevices.Count - 1 do begin if FBluetoothManagerLE.LastDiscoveredDevices[I].DeviceName = ComboBox.Items[ComboBox.ItemIndex] then ADevice := FBluetoothManagerLE.LastDiscoveredDevices[I]; end; end; procedure TForm1.Timer1Timer(Sender: TObject); begin ADevice.ReadRemoteRSSI; end; end. В таймере периодически вызывается ReadRemoteRSSI, после чего должно сработать событие BluetoothLEReadRSSI. Проблема в том, что событие вызывается лишь несколько раз после нажатия Button2. Такое ощущение, что есть какой то короткий промежуток времени (примерно 5 секунд), по истечении которого событие отваливается. Косвенно это подтверждает следующий эксперимент: ставим точку останова в событии таймера (Timer1Timer), после ее срабатывания ждем секунд 5, снимаем точку останова и продолжаем выполнение программы (F9), событие BluetoothLEReadRSSI не сработает ни разу. Собственно вопрос, почему так происходит и как заставить работать нормально?
  17. Частично поправил функцию GetConvertedText, условие if ss=SIGN then выполняется. Далее сами по аналогии... Test.zip
  18. Пример выкладывайте, посмотрю.
×
×
  • Создать...