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

Лидеры

  1. Alexander

    Alexander

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


    • Баллы

      2

    • Постов

      116


  2. shpawel

    shpawel

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


    • Баллы

      2

    • Постов

      1


  3. enatechno

    enatechno

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


    • Баллы

      1

    • Постов

      181


  4. beklexx

    beklexx

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


    • Баллы

      1

    • Постов

      67


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

Показан контент с высокой репутацией 14.07.2016 во всех областях

  1. shpawel

    Spring4D

    http://www.tdelphiblog.com/2013/03/dependency-injection-i-delphi-spring-9.html Кому интересно есть несколько статей про эту библиотеку. Староваты, но достаточно актуальны. Для знакомства с библиотекой подойдут.
    2 балла
  2. yura371

    AppAnalytics

    В эвентах в OnPrivateMessage в событие AppAnalytics1PrivacyMessage вставил Activate:=true; И окно не появляется. Актуально для Rad Studio 10.1.
    1 балл
  3. dervish00

    Новая БД в Android

    enatechno Спасибо. Красиво и легко. Я, правда, уже порешал у себя. Все получилось. Оказывается, нельзя в ДатаМодуле инициализировать. Сделал это в OnCreate главной формы - все заработало.
    1 балл
  4. enatechno

    Новая БД в Android

    FDConnection1 := TFDConnection.Create(Self); FDPhysSQLiteDriverLink1 := TFDPhysSQLiteDriverLink.Create(Self); FDGUIxWaitCursor1 := TFDGUIxWaitCursor.Create(Self); FDGUIxWaitCursor1.ScreenCursor := gcrSQLWait; FDGUIxWaitCursor1.Provider := 'FMX'; FDConnection1.DriverName := 'SQLite'; FDConnection1.Params.Values['Database'] := TPath.GetDocumentsPath + PathDelim + 'test.db'; FDConnection1.LoginPrompt := false; FDConnection1.Connected := true; if FDConnection1.Connected then ShowMessage('подключились'); Пример подключения в runtime. Компоненты на форму можно "не садить"
    1 балл
  5. ширину экрана проверяйте и оттуда исходите разрешения поставьте все!
    1 балл
  6. мб пригодится кому... моё решение (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
    1 балл
  7. Идея была в следующем. В TImage не помещалась карта(состоящая из тайлов) большого размера. Поэтому был разработан алгоритм: на TScrollBox размещались TImage. Размер TImage(экран) чуть больше видимой области TScrollBox и кратный 256 пикселям(размер тайла). Затем экран заполнялся тайлами в соответствии с координатами. Таким образом, получалась большая карта и плавный скрол с инерцией
    1 балл
  8. Черновой вариант, использую в Windows. На сколько адаптировано к Android не знаю, не компилил procedure TMap.FullScreen(Image:TImage;Tile:TOSMTile); var I: Byte; j: Integer; BMPTile, BMPImage:TBitmap; rctIn, rctOut:TRectF; S:String; begin rctOUT:= TRectF.Create(0,0,255,255); BMPImage := TBitmap.Create; BMPImage.Width := Round(Image.Width); BMPImage.Height := Round(Image.Height); BMPTile := TBitmap.Create; if not DirectoryExists(FPathTile+IntToStr(Tile.Zoom)) then ForceDirectories(FPathTile+IntToStr(Tile.Zoom)); for I := 1 to FTileWidth do for j := 1 to FTileHeight do begin S:= FPathTile+format('%d\%d\%d.png',[Tile.Zoom,Tile.TileX+i-1,Tile.TileY+j-1]); while Assigned(FHTTP) and not FileExists(S) do begin if not DirectoryExists(FPathTile+IntToStr(Tile.Zoom)+'\'+IntToStr(Tile.TileX+i-1)) then ForceDirectories(FPathTile+IntToStr(Tile.Zoom)+'\'+IntToStr(Tile.TileX+i-1)); LoadURLToFile(S, 'http://b.tile.openstreetmap.org/'+format('%d/%d/%d.png',[Tile.Zoom,Tile.TileX+i-1,Tile.TileY+j-1]), FHTTP); end; if FileExists(S) then begin rctIn := TRectF.Create(256*(i-1),256*(j-1),256*(i),256*(j)); BMPTile.LoadFromFile(S); BMPImage.Canvas.BeginScene(); BMPImage.Canvas.DrawBitmap(BMPTile,rctOut,rctIn,100,True); // BMPImage.Canvas.Fill.Kind := TBrushKind.None; // BMPImage.Canvas.DrawRect(TRectF.Create(0,0,FScreenWidth, FScreenHeight),0, 0, AllCorners, 100); BMPImage.Canvas.EndScene; end end; Image.Bitmap:= TBitmap.Create; Image.Bitmap.Clear($FFFFFFFF); Image.Bitmap.Assign(BMPImage); end;
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...