Alexander
Пользователи-
Постов
116 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Весь контент Alexander
-
Brovin Yaroslav, могу только догадываться... Видимо там цикл по Value до max, поэтому чтоб надпись выводилась во время работы цикла. Этот отрывок кода не даёт представления где возникает ошибка. kuldiegor, отладчиком проходили код? в какой строке ошибка?
-
всё правильно, вы в обработчике компонента присваиваете курсор не компоненту, а форме. Хотите, чтоб и над компонентом был такой курсор, так и ему присвойте. Проверил у себя, данный код работает procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single); begin if Rectangle1.Cursor = crHourGlass then Form1.Cursor := crSQLWait else Form1.Cursor := crSizeNWSE; end; procedure TForm1.Rectangle1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single); begin Form1.Cursor := crSizeAll; Rectangle1.Cursor := crHourGlass; end;
-
чудес не бывает, создайте обработчик OnMouseMove для формы, посмотрите с каким курсором вы туда приходите
-
Sender это "владелец" события, подозреваю что Self это форма. Проверьте что у вас в self находится
-
есть подозрение, что курсор перемещается не по форме, а по компонентам на форме, поэтому назначив курсор в событии формы это не будет являться изменением для всех компонент на форме. Нужно проверить срабатывает ли ваше назначение
-
в отладчике точку останова ставили? на этой строке?
-
System.Sensors.TGpsStatus.Satellites.SatelliteCount подойдёт?
-
Всё работает, если убрать поворот на 90 градусов
-
Математику в студию, по второй линии видно , есть подозрение что реализованный алгоритм неправильно работает. по коду. Добавить: line.Parent := Self; ещё совет: line := TLine.Create(Self); line.Parent := Self; line.LineType := TLineType.Top; line.Position.Point := TPointF.Create(130, 130); line.RotationAngle := 90; line.HitTest := True; line.Width := 100; line.Height := 5; line.StrokeThickness := 5; поясню: при диагональном расположении появляется мнимый прямоугольник, при котором если мышь будет находится в нём, то линия будет подсвечиваться. Хотя курсор мыши не будет находиться над линией.
-
Не совсем понятно из вопросов, что неправильно работает?
-
в Delphi 10 не смог произвести перевод отсканированных строк, не появляются Edit'ы для ввода перевода. Взял файл от рабочего проекта из XE8, в 10-ке подгрузились только английские слова, при этом так же не возможно добавить перевод. Это у меня одного так или ещё ни кто не проверял этот компонент?
-
Идея была в следующем. В TImage не помещалась карта(состоящая из тайлов) большого размера. Поэтому был разработан алгоритм: на TScrollBox размещались TImage. Размер TImage(экран) чуть больше видимой области TScrollBox и кратный 256 пикселям(размер тайла). Затем экран заполнялся тайлами в соответствии с координатами. Таким образом, получалась большая карта и плавный скрол с инерцией
- 17 ответов
-
- TBitmap
- DrawBitmap
-
(и ещё 2 )
C тегом:
-
Черновой вариант, использую в 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;
- 17 ответов
-
- TBitmap
- DrawBitmap
-
(и ещё 2 )
C тегом:
-
Я взял за основу тайлы OSM. Выгружать их в timage. Набор из timage кладу на tscrollbox
- 17 ответов
-
- TBitmap
- DrawBitmap
-
(и ещё 2 )
C тегом:
-
R := 80; Canvas.BeginScene(); Alpha := ((Sender as TPie).EndAngle+(Sender as TPie).StartAngle)/2; dX := (Sender as TPie).Width /2+ R * Cos(DegToRad(Alpha)); dY := (Sender as TPie).Height/2 +R * Sin(DegToRad(Alpha)); rct.Create(dX-5,dY-5,dX+5,dY+5); Canvas.DrawEllipse(rct,100); Canvas.EndScene();
- 8 ответов
-
- TPie
- Координаты точки
-
(и ещё 1 )
C тегом:
-
Математику в студию
- 8 ответов
-
- TPie
- Координаты точки
-
(и ещё 1 )
C тегом:
-
Ваш ответ на вопрос в последнем ответе. Середина будет в сумме двух углов деленная пополам и половина радиуса вписанной окружности
- 8 ответов
-
- TPie
- Координаты точки
-
(и ещё 1 )
C тегом:
-
Как задаётся размер, положение и ориентация TPie?
- 8 ответов
-
- TPie
- Координаты точки
-
(и ещё 1 )
C тегом:
-
Тут подход должен быть более серьезный: Система координат, привязка к картинке. можно иметь очень точные координаты, но отображение на картинке будет не айс.... а по алгоритму реализации разработать алгоритм пересчета координат загружаете в память картинку TBitmap для отображения карты с маршрутом на форме размещаете TImage на TBitmap отрисовать маршрут линиями,в соответствии с алгоритмом пересчета п.1; скопировать TBitmap в TImage точки наносить путем создания shape(окружность, квадрат и т.д. или TSelectionPoint). размещать их на TImage в соответствии с алгоритмом пересчета п.1 в соответствующие события у объектов точек присвоить обработчики нажатия на них как-то так... и не забываем про масштабирование, если необходимо. Может использовать Google Maps? если только задача простенькая
-
в меню Project->Modeling Support... галочка стоит?
-
Дело не одного месяца, пусть берут на зарплату. А там уж от вас зависит, сколько вы хотите получать в месяц