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

beklexx

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

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

  • Посещение

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

  1. Like
    beklexx отреагировална FREEFAR в Баг в Tokio   
    Мы решили такую беду через чудо костыль.
    ABitmap := Rectangle.MakeScreenshot;
    Image.Bitmap.assign(ABitmap);
    ABitmap.DisposeOf;
    короче говоря вместо Rectangle который вечно пересчитывается и редндерится, Image;
    profit )
  2. Like
    beklexx получил реакцию от Ingalime в Навигация 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. Like
    beklexx отреагировална krapotkin в С днем рождения!   
    Поздравляем Ярослава с Днем рождения!
    Благодарим за титанические усилия, которые он по собственной инициативе, не "благодаря", а скорее "вопреки", прилагает для развития нашего сообщества.
    Желаем не только профессионального благополучия, но и личного счастья!
    Ура, товарищи!

  4. Like
    beklexx получил реакцию от Rusland в Удаление записи из таблицы БД связанной с ListView   
    для заполнения листвью юзаю подобное решение
    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... но иногда приходится юзать остальной функционал листвью: хидеры-шмидеры, имейджи и т.д. но это уже другой вопрос
  5. Like
    beklexx получил реакцию от Rusland в Удаление записи из таблицы БД связанной с ListView   
    попробуйте 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;  
  6. Like
    beklexx получил реакцию от elcreg в TmapView отображение маркеров в радиусе   
    мб пригодится кому... моё решение (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  
  7. Like
    beklexx получил реакцию от Rusland в TmapView отображение маркеров в радиусе   
    мб пригодится кому... моё решение (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  
  8. Like
    beklexx получил реакцию от Rusland в Предзагрузка контента перед показом   
  9. Like
    beklexx получил реакцию от zekelive в Предзагрузка контента перед показом   
  10. Like
    beklexx получил реакцию от Kitty в Переподключение к серверу (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; ....  
  11. Like
    beklexx получил реакцию от sargon в TmapView отображение маркеров в радиусе   
    мб пригодится кому... моё решение (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  
  12. Like
    beklexx получил реакцию от Kitty в Запрос к 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.
  13. Like
    beklexx получил реакцию от Kitty в Запрос к 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  
  14. Like
    beklexx отреагировална Brovin Yaroslav в Delphi Berlin iso установка проблема   
    Решение данной проблемы
    Открыть редактор реестр: regedit Заменить значение ключа реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language\InstallLanguage с 0419 на 0409 Установить среду Восстановить значение ключа (2 пункт) с 0409 на 0419.  
  15. Like
    beklexx получил реакцию от Rusland в RAD 11 на подходе?   
    http://docwiki.embarcadero.com/RADStudio/Berlin/en/Customizing_FireMonkey_ListView_Appearance
  16. Like
    beklexx получил реакцию от Rusland в Как установить/переустановить Android SDK   
    http://docwiki.embarcadero.com/RADStudio/Berlin/en/Adding_an_Android_SDK
    Больше скажу... я не снимал эти галочки... хз почему, поставилость только sdk, пришлось докидывать ndk))
    из 10ки закинь просто в папку C:\Users\Public\Documents\Embarcadero\Studio\18.0\PlatformSDKs...
  17. Like
    beklexx отреагировална rareMax в RAD 11 на подходе?   
    The Berlin release contains the following new and improved features.
  18. Like
    beklexx отреагировална Равиль Зарипов (ZuBy) в RAD 11 на подходе?   
    1) Кастомный стиль в виде плитки *
    2) ListView с горизонтальной прокруткой, профиксил баги, которые появились из-за этого *
    3) Отступ сверху от первого Itema, задается вручную. (нужно было сделать, чтобы решить без многочисленных костылей одну ситуацию)
    4) Кастомные цвета для отдельных Item'ов
    5) разные хелперы и внутренние настройки
    * можно посмотреть тут
    скрин выполненной работы

  19. Like
    beklexx получил реакцию от Равиль Зарипов (ZuBy) в comboBoxChange поймать любое нажатие   
    Так OnChange на то и OnChange ... может вас устроит OnClosePopup ?
  20. Like
    beklexx получил реакцию от zairkz в comboBoxChange поймать любое нажатие   
    Так OnChange на то и OnChange ... может вас устроит OnClosePopup ?
  21. Like
    beklexx получил реакцию от walexw в comboBoxChange поймать любое нажатие   
    Так OnChange на то и OnChange ... может вас устроит OnClosePopup ?
  22. Like
    beklexx получил реакцию от kami в Ошибка при задании координат формы   
    ммм... я так понимаю что на форме 5 лежит TRectangle под именем left... бывает, когда переработаешь, отдохнуть вам надо бы... пивка там
  23. Like
    beklexx получил реакцию от Alex7wrt в Ошибка при задании координат формы   
    ммм... я так понимаю что на форме 5 лежит TRectangle под именем left... бывает, когда переработаешь, отдохнуть вам надо бы... пивка там
  24. Like
    beklexx получил реакцию от Martifan в GPS   
    я ещё не тестил, но судя по коду предоставленному Русланом, как то так:
     
    procedure TFrmMain.LocationSensorLocationChanged(Sender: TObject; const [Ref] OldLocation, NewLocation: TLocationCoord2D); var Lat,Lon:String; lSensorType : String; begin lSensorType := GetLocationSensorType(LocationSensor); if lSensorType = 'Triangulation' then exit; Lat:=Format('%2.6f',[NewLocation.Latitude]); Lon:=Format('%2.6f',[NewLocation.Longitude]); // выполняем что то там end;
  25. Like
    beklexx отреагировална Rusland в GPS   
    Видимо да
    http://docwiki.embarcadero.com/Libraries/XE8/en/System.Sensors.TLocationSensorType
×
×
  • Создать...