beklexx

Пользователи
  • Публикаций

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

  • Посещение

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

  1. Хмм, тогда интересно, является ли триангуляция/определение по wi-fi mock location? Хотя это не логично, я так понял mock это разрешение получать gps не от сенсора. Тогда интересует, с какой версии андроида идёт ограничение на mock?
  2. beklexx

    Навигация TmapView

    если кому лень искать инфу, может пригодится... на основе ответа от Akad для google maps uses Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText ... var Intent: JIntent; begin Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); try Intent.setData(StrToJURI('google.navigation:q='+GX+','+GY+'&mode=d')); //если есть google maps except Intent.setData(StrToJURI('https://www.google.com/maps/dir/?api=1&destination='+GX+','+GY+'&travelmode=driving')); //иначе открываем ссылку в браузере end; SharedActivity.startActivity(Intent); end;
  3. beklexx

    Items + KeyItems

    Народ, подскажите пожалуйста как сейчас решают вопрос с уникальным ключом для каждой строки в Combobox... что то типа Items.Tag там добавили, нет?
  4. beklexx

    Работа с локальной бд в проекте

    а по дефолту, в случае создания БД в приложении, этот параметр чему равен?
  5. beklexx

    Удаленная отладка на Android

    ну либо если есть какая впнка, то вот ещё методы на сайте, на улице
  6. beklexx

    Удаленная отладка на Android

    а так не получилось?
  7. для заполнения листвью юзаю подобное решение procedure TFVisit.bListViewFill(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; LV.BeginUpdate; try 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.Bitmap.Assign(...) 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; ну и заполняю tbPriceList: TFDQuery; . . . tbPriceList.Open; //фильтрованный по необходимым условиям bListViewFill(ListView1, tbPriceList, 'Name', 'LCP_Qty', 'ProductId', True); tbPriceList.Close; Мне часто приходится работать с листвью где text, detail и tag... но иногда приходится юзать остальной функционал листвью: хидеры-шмидеры, имейджи и т.д. но это уже другой вопрос
  8. попробуйте OnDeletingItem у меня к примеру такая конструкция норм работает: (правда Bind Visually не юзаю... а в таг каждого итема засовываю нужный ключ) procedure TFVisitPhotoComment.ListView1DeletingItem(Sender: TObject; AIndex: Integer; var ACanDelete: Boolean); begin ... ...'delete bla-bla-bla where Id = :Id'; ...ParamByName('Id').Value:= ListView1.items[AIndex].Tag; ... //не забываем ... ACanDelete := True; //ну или отмена удаления при необходимости ACanDelete := False; end;
  9. beklexx

    TMotionSensor

    Здравствуйте. Темы с данным компонентом ещё нету, а хотелось бы узнать как с ним работать. Хотел сделать что то вроде трекера, снимающего координаты в случае если есть определённое движение и заинтересовался этим компонентом, но не нашёл толковой инфы. Демка по нему под андроидом что то тоже не очень понятна. Не хотелось бы иметь постоянно включённый LocationSensor, ибо думаю аккумулятор спасибо не скажет. Никто с ним не сталкивался на практике?
  10. а, ну да))... в решение же TMapView не участвует ... (пользуясь темой) а TMapView на винде под FMX работает?
  11. beklexx

    Переподключение к серверу (DataSnape)

    я обычно проверяю связь до сервака, прежде чем SQLConnection врубать... чем то типа: function Tdm.CheckConnect: boolean; var res: boolean; begin try IdTCPClient1.ReadTimeout:= 10000; IdTCPClient1.ConnectTimeout:= 10000; IdTCPClient1.Connect; IdTCPClient1.Disconnect; res:=true; except res:=false; end; Result:= res; end; установив мои IdTCPClient1.Port и IdTCPClient1.Host
  12. beklexx

    Переподключение к серверу (DataSnape)

    также как и в первый раз if NOT(dm.SQLConnection1.Connected) then try dm.SQLConnection1.Connected:= True; .... хотя если реально при отключении связи не происходит дисконнект, то if dm.SQLConnection1.Connected then dm.SQLConnection1.Connected:= False; try dm.SQLConnection1.Connected:= True; ....
  13. мб пригодится кому... моё решение (android) добавил в прогу TFDSQLiteFunction соединил к FDPhysSQLiteDriverLink и выставил следующее значения: Active = True, ArgumentsCount = 4, FunctionName = 'GPSDist' и в свойстве OnCalculate прописал следующее: procedure Tdm.FDSQLiteFunction1Calculate(AFunc: TSQLiteFunctionInstance; AInputs: TSQLiteInputs; AOutput: TSQLiteOutput; var AUserData: TObject); begin AOutput.AsInteger:= Round(1609.344 * 3958.75 * arccos( sin(StrToFloat(AInputs[0].AsString)/57.2958) * sin(StrToFloat(AInputs[2].AsString)/57.2958) + cos(StrToFloat(AInputs[0].AsString)/57.2958) * cos(StrToFloat(AInputs[2].AsString)/57.2958) * cos(StrToFloat(AInputs[3].AsString)/57.2958 - StrToFloat(AInputs[1].AsString)/57.2958))); end; формула взята отсюда: источник ... имейте ввиду что тут не учтено что земля не совсем правильная сфера... т.е. есть небольшая неточность, но для моих целей было достаточно. Далее добавленная функция юзалась при выборе точек из SQLite. По типу: select ... from ..... where GPSdist(:CenterX, :CenterY, GPSX, GPSY) <= :Dist
  14. beklexx

    Переподключение к серверу (DataSnape)

    эмм... а речь о переподключении к какому серваку?... от клиента к DS или от DS к какому нибудь серваку? если от клиента к DS то у SQLSonnection есть свойство AfterDisconnect. Имхо, стоит избегать постоянного коннекшна, если конечно это возможно. У меня обычно по необходимости подымается коннешн и отрубается после завершения синхронизации. если второй вариант ... то аналогичное свойство используемого компонента подключения
  15. есть у меня такое же в датамодуле одного проекта... помню что раньше работало потом перестало... после какого изменения не помню, а искать лень, кода там многовато, ну и не так уж это критично... так что по стариночке))
  16. beklexx

    TGrid и FDQuery

    полностью согласен... после пары тройки тестов забросил лайвбиндинг... со временем может что и изменят, но пока по стариночке)
  17. beklexx

    Запрос к SQLlite

    по крайней мере в ms sql он именно этим и отличался от UNION ALL гугл вроде подтверждает первой ссылкой на sqlite union: http://www.tutorialspoint.com/sqlite/sqlite_unions_clause.htm The SQLite UNION clause/operator is used to combine the results of two or more SELECT statements without returning any duplicate rows. The UNION ALL operator is used to combine the results of two SELECT statements including duplicate rows.
  18. beklexx

    Запрос к SQLlite

    мб просто UNION, он по определению отсеивает дубли select ron.datatimeon, roff.datatimeoff from regesteron ron left join regesteroff roff on ron.dataon = roff.dataoff union select ron.datatimeon, roff.datatimeoff from regesteroff roff left join regesteron ron on ron.dataon = roff.dataoff
  19. beklexx

    Android 5

    upd 1 хз... но просто seattle 100500 раз протестен на дроидах 5+... полёт нормальный (Jelly Bean, KitKat, Lollipop)... есть даже несколько положительных тестов на Marshmallow
  20. На планшете, в настройках разработчика приложение для дебага не указано?... у меня как то было, убрал, все пошло. Хотя если порты меняли, то наврядли это
  21. http://docwiki.embarcadero.com/RADStudio/Berlin/en/Customizing_FireMonkey_ListView_Appearance
  22. http://docwiki.embarcadero.com/RADStudio/Berlin/en/Adding_an_Android_SDK Больше скажу... я не снимал эти галочки... хз почему, поставилость только sdk, пришлось докидывать ndk)) из 10ки закинь просто в папку C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs...
  23. прикольно... http://docwiki.embarcadero.com/RADStudio/Berlin/en/Customizing_FireMonkey_ListView_Appearance#The_Toggle_Design_Mode