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

beklexx

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

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

  • Посещение

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

  1. Like
    beklexx отреагировална Rusland в GPS   
    Если знать как определяются координаты (по ЖПС или по сотовым вышкам), то можно выбирать какие координаты использовать, а какие отбрасывать...
     
    Узнать тип сенсора можно вот так 
    function getLocationSensorType(const ASensor : TLocationSensor) : String; begin with ASensor do case Sensor.SensorType of TLocationSensorType.GPS: result := 'GPS'; TLocationSensorType.Static: result := 'Static'; TLocationSensorType.Lookup: result := 'Lookup'; TLocationSensorType.Triangulation: result := 'Triangulation'; TLocationSensorType.Broadcast: result := 'Broadcast'; TLocationSensorType.DeadReckoning: result := 'DeadReckoning'; TLocationSensorType.Other: result := 'Other'; else result := 'Unknown'; end; end; procedure TFrmMain.LocationSensorLocationChanged(Sender: TObject; const [Ref] OldLocation, NewLocation: TLocationCoord2D); var Lat,Lon:String; lSensorType : String; begin Lat:=Format('%2.6f',[NewLocation.Latitude]); Lon:=Format('%2.6f',[NewLocation.Longitude]); lSensorType := GetLocationSensorType(LocationSensor); Memo1.Lines.Add('Lat='+Lat+' Lon='+Lon+' lSensorType='+lSensorType); end; однако он мне выдает lSensorType=GPS всегда, даже в случае отключения GPS на устройстве... не знаю почему 
  2. Like
    beklexx получил реакцию от Rusland в TMotionSensor   
    эхх... System.Sensors.TCustomMotionSensor.Motion
    Platform Support
    This property is only supported on Windows.
     
    Platform Details
    Android
    Android provides different types of motion sensors. Each type of sensor supports a different set of properties:
    The Accelerometer3D sensor provides the AccelerationX, AccelerationY and AccelerationZ properties. The Gyrometer3D sensor provides the AngleAccelX, AngleAccelY and AngleAccelZ properties. The GravityAccelerometer3D sensor provides the AccelerationX, AccelerationY and AccelerationZ properties. The LinearAccelerometer3D sensor provides the AccelerationX, AccelerationY and AccelerationZ properties. iOS
    iOS provides different types of motion sensors. Each type of sensor supports a different set of properties:
    The Accelerometer3D sensor provides the AccelerationX, AccelerationY and AccelerationZ properties. The MotionDetector sensor provides the AccelerationX, AccelerationY, AccelerationZ, AngleAccelX, AngleAccelY and AngleAccelZ properties. Windows
    Complete support.
     
    инфа... 
    http://docwiki.embarcadero.com/Libraries/XE8/en/System.Sensors.TCustomMotionSensor
    http://docwiki.appmethod.com/appmethod/1.17/libraries/en/System.Sensors.TCustomMotionSensor.Motion
     
    печалька...
  3. Like
    beklexx получил реакцию от master webs в Скорость заполнения ListView android ios   
    procedure TFPreOrder.ListViewFill(LV: TListView; FDSource: TFDQuery; TextField, DetailField, TagField: string; IsClear: boolean); var i, index: integer;     item: TListViewitem; begin   if LV.Selected <> nil     then index:= LV.Selected.Index     else index:= -1;   if FDSource.IsEmpty then     begin //      ShowMessage('Нет данных!');       LV.Items.Clear;       exit;     end;   if IsClear then LV.Items.Clear;   try     LV.BeginUpdate;     for i:= 1 to FDSource.RecordCount do       begin         FDSource.RecNo:= i;         item:= LV.Items.Add;         item.Text:= FDSource.FieldByName(TextField).AsString;         item.Detail:= FDSource.FieldByName(DetailField).AsString;         item.Tag:= FDSource.FieldByName(TagField).AsInteger;       end;   finally     LV.EndUpdate;   end;   if index = -1 then exit;   if LV.Items.Count >= index then LV.ItemIndex:= index; end; я обычно так заполняю... ну TFDQuery на TFDMemTable только сменить
     
    зы. ну и заполнение 
    ListViewFill(ListView1, tbPreOrder, 'Name', 'Qty', 'GoodId', True);
  4. Like
    beklexx отреагировална Rusland в Как определить скорость движения?   
    Разобрался. LSensor.Sensor.Speed выдает скорость в метрах в секунду. Умножаем на 3,6 и получаем км/ч, что гораздо удобнее при использовании телефона в качестве навигатора
  5. Like
    beklexx отреагировална #WAMACO в Кому нужны программисты Fire Monkey?   
    Ну во-первых, хорошо смеется тот, кто смеется последним!
    Во вторых, наблюдаю тенденцию на других форумах
    - "обучился на JAVA, где искать работу?"
    - "как то не все сладко в JAVA. правлю legacy сраный код"
    - "группа C# кодеров запрограммерит любую задачу за еду"
    и т.д.
    такая же тенденция со всякми скрипт-языками (JavaScript и иже  с ними), пока Да - закрывают нужды времени, ваяя на коленках скрипты!
    НО, потом встанет задача оптимизации всего этого  - и начнется время натива! Вот тут многие с испорченными знаниями фреймворков и прочей шелухи начнут выпадать из жизни! уже есть конкретные заявки на именно "нативные" реализации!
    поэтому направление развития RAD абсолютно верное! а качество реализации придет! поверьте!
     
    P.S. два знакомых менеджера по продажам (уже смешно) закончили курсы по JAVA, говорят бабла хотим много!
    но при поиске работы на 1 предложение - уже 100 человек в очереди стоят! говорят: "нас обманули!"
    я говорю "на вас деньги заработали!" (по 140 тыщ. руб - курсы по JAVA, 2х140=280 тыщ.) че, неплохо так!
  6. Like
    beklexx отреагировална Brovin Yaroslav в Описание TfgToast - Быстрые уведомления   
    Описание:
    Назначение: Быстрые уведомления, появляющиеся в нижней части экрана, предназначенные для отображения короткой текстовой информации и опционно изображения Поддерживаемые платформы: Android, iOS Демо проект: Samples\ToastsDemo\ToastsDemo.dproj Доступен с версии: RX (R100) Возможности:
    Несколько быстрых способов отображения уведомления: TfgToast.Show(Message) - только текст TfgToast.Show(Message, Icon) - текст и картинка TfgToast.Show(Message, Duration)  текст + настройка длительности отображения TfgToast.Show(Message, Duration, Icon) - текст + картинка + длительность отображения Доступно редактирование цвета заднего фона (TfgToast.BackgroundColor) Доступно редактирование цвета сообщения (TfgToast.MessageColor). Возможность добавить к сообщению иконку (TfgToast.Icon) Доступно редактирование длительности отображения уведомления (TfgToast.Duration) Возможность менять глобальные параметры отображения всех тостов в рамках приложения (TfgToast.DefaultBackgroundColor, TfgToast.DefaultMessageColor и TfgToast.DefaultPadding) Примеры вызова:
    // Быстрое отображение, только текст TfgToast.Show('Message'); // Быстрое отображение, текст + картинка TfgToast.Show('Message', Bitmap); // Настраиваемое отображение var Toast: TfgToast; begin Toast := TfgToast.Create(EditToastMessage.Text, TfgToastDuration(ComboBoxDurationType.ItemIndex)); try if SwitchShowIcon.IsChecked then Toast.Icon.Assign(Image1.Bitmap); Toast.MessageColor := ColorComboBoxMessage.Color; Toast.BackgroundColor := ColorComboBoxBackground.Color; Toast.Show; finally Toast.Free; end; end; Скриншоты:


  7. Like
    beklexx отреагировална Равиль Зарипов (ZuBy) в 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
  8. Like
    beklexx получил реакцию от Rusland в Запрос на закрытие приложения при нажатии кнопки Назад   
    на XE5 это работало... где нашёл не помню 
    uses FMX.Platform, FMX.VirtualKeyboard ... procedure TFSale.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); var FService : IFMXVirtualKeyboardService; begin if Key = vkHardwareBack then begin TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService)); if (FService <> nil) and (vksVisible in FService.VirtualKeyBoardState) then begin // Back button pressed, keyboard visible, so do nothing... end else begin // Back button pressed, keyboard not visible, lets exit the app... if MessageDlg('Выйти без сохранения?', ... then begin FSale.Close; // Back button pressed CONFIRMED... end else begin Key := 0; // Back button pressed IGNORED... end; end; end; end;
  9. Like
    beklexx отреагировална ophion в [Android] Использование ACloseDialogProc в MessageDlg   
    Коротко объясню....
    ACloseDialogProc - это процедура-обработчик результатов, полученных при помощи MessageDlg, поскольку в этой версии RAD XE7 все диалоги являются не блокирующими, т.е. во время показа диалога, продолжается выполнение следующих строк кода.
     
    Вам необходимо объявить новую процедуру, которая будет вызываться после нажатия любых кнопок в MessageDlg.
     
    Т.е. будет что-то вроде
    procedure TForm1.doSomethingWithDialogResult(const AResult: TModalResult); begin   if AResult=mrYes then begin     {тут обработка нажатия кнопки Yes}   end; end; а вызвать диалог необходимо следующим образом
    MessageDlg('Тут текст сообщения', TMsgDlgType.mtConfirmation, mbYesNo, 0, doSomethingWithDialogResult);
  10. Like
    beklexx отреагировална Brovin Yaroslav в [TMultiView] Как избежать задержки при первом появлении TMultiView?   
    Так, я посмотрел. Сохраняем себе такую процедуру:
    procedure PreloadContent(const Control: TControl); var I: Integer; begin if Control is TStyledControl then TStyledControl(Control).ApplyStyleLookup; for I := 0 to Control.ControlsCount - 1 do PreloadContent(Control.Controls[I]); end; Она форсирует загрузку стилей. Задержка при появлении TMutliView заключается в том, что стиль загружается не сразу у любого контрола, а только по мере появления контрола. Обычно это происходит при первой отрисовки. Это правило касается всех контролов.
     
    Поэтому, в этом случае, вам нужно форсировать загрузку стилей. Это можно сделать при помощи моей процедуру PreloadContent.
    Добавьте в TForm.OnCreate и это решит задержку при первом появлении:
    PreloadContent(MultiView1);
  11. Like
    beklexx получил реакцию от Rusland в Работа с маркерами   
    Присоединяюсь к вопросу. 
     
     
    а то приходиться к тайтлу добавлять айдишник.
×
×
  • Создать...