-
Постов
2 517 -
Зарегистрирован
-
Посещение
-
Победитель дней
265
Весь контент Равиль Зарипов (ZuBy)
-
У TBitmap есть такой метод, посмотрите его function TBitmap.EqualsBitmap(const Bitmap: TBitmap): Boolean; var MyMap, BitmapMap: TBitmapData; I: Integer; begin if IsEmpty or Bitmap.IsEmpty then begin Result := IsEmpty and Bitmap.IsEmpty; Exit; end; Result := (Width = Bitmap.Width) and (Height = Bitmap.Height) and (PixelFormat = Bitmap.PixelFormat); if Result then begin if Map(TMapAccess.Read, MyMap) then try if Bitmap.Map(TMapAccess.Read, BitmapMap) then try for I := 0 to Height - 1 do if not CompareMem(MyMap.GetScanline(I), BitmapMap.GetScanline(I), MyMap.BytesPerLine) then begin Result := False; Exit; end; finally Bitmap.Unmap(BitmapMap); end; finally Unmap(MyMap); end; end; end;
-
1) В apple developer создать App ID 2) В iTunesConnect создать приложение 3) В xCode -> меню -> Developer Tools -> Application Loader Дальше думаю разберётесь
-
Все используют деплой, вот попробуйте этот проект запустить у себя
-
я бы сделал через браузер и html документ, как раз подойдёт для вашей задачи
-
в FMX все делается с помощью стилей, нужно отредактировать стиль TGroupbox
-
procedure LoadBitmapFromURL(const aURL: string; aBitmap: TBitmap; const aSuccess: TThreadProcedure = nil; const aError: TThreadProcedure = nil); var thread: TThread; begin thread := TThread.CreateAnonymousThread( procedure var HTTP: THTTPClient; Result: TMemoryStream; begin Result := TMemoryStream.Create; HTTP := THTTPClient.Create; try try HTTP.Get(aURL, Result); TThread.Synchronize(TThread.CurrentThread, procedure var aSourceBmp: TBitmap; begin aSourceBmp := TBitmap.Create; try aSourceBmp.LoadFromStream(Result); if not aSourceBmp.IsEmpty then begin aBitmap.SetSize(aSourceBmp.Width, aSourceBmp.Height); aBitmap.CopyFromBitmap(aSourceBmp); if Assigned(aSuccess) then aSuccess; end; finally FreeAndNil(aSourceBmp); end; end); except TThread.Synchronize(TThread.CurrentThread, procedure begin if Assigned(aError) then aError; end); end; finally FreeAndNil(Result); FreeAndNil(HTTP); end; end); thread.FreeOnTerminate := true; thread.start; end; в последнее время пользуюсь такой конструкцией
-
само скачивание картинки HTTPClient.Get должен быть в потоке, а при успешном скачивании нужно делать синхронизацию с главным потоком и "вставлять" картинку в нужное место
-
а что удивительного? вы загружаете в синхронизации, т.е. в главном потоке
-
Внутри TComboBox используется TListBox Cамый простой способ кинуть на форму TListBox ПКМ Add TListBoxItem выбрать нужный стиль для Item (StyleLookup) ПКМ по Item Edit Custom Style меняем что нужно в стиле и сохраняем применяем новый стиль к Item
-
да через стиль поправить
-
const aColorNames: array [0 .. 3] of string = ('Black', 'Red', 'Yellow', 'Green'); aColors: array [0 .. 3] of TAlphaColor = (TAlphaColorrec.Black, TAlphaColorrec.red, TAlphaColorrec.Yellow, TAlphaColorrec.Green); procedure TForm1.DoItemApplyStyleLookup(Sender: TObject); var ColorObj: TShape; begin if TListBoxItem(Sender).FindStyleResource<TShape>('color', ColorObj) then ColorObj.Fill.Color := aColors[TListBoxItem(Sender).Tag]; end; procedure TForm1.Button1Click(Sender: TObject); var aItem: TListBoxItem; I: Integer; begin ComboBox1.DropDownKind := TDropDownKind.Custom; // uses FMX.Pickers; for I := Low(aColorNames) to High(aColorNames) do begin aItem := TListBoxItem.Create(ComboBox1); aItem.Parent := ComboBox1; aItem.Text := aColorNames[I]; aItem.Width := aItem.DefaultSize.Width; aItem.Height := aItem.DefaultSize.Height; aItem.StyleLookup := 'colorlistboxitemstyle'; aItem.StylesData['color.Fill.Color'] := aColors[I]; aItem.OnApplyStyleLookup := DoItemApplyStyleLookup; aItem.Tag := I; end; end; как-то так
-
это к дизайнерам самсунг, меню давно заменяют на "последние запущенные приложения" или как вариант "выбор симкарты для звонка" вообще не вижу проблем с этой кнопкой, если есть обработайте, если нет её, то ничего не произойдёт
-
её давно нет на многих телефонах, начиная с SDK 14 вроде Android отошел от этой идеологии. Но ничего вам не мешает её обработать, при её наличии
-
проверьте деплой в билд-конфигах (Debug/Release), возможно забыли добавить.
-
как понять список доступных кнопок? на счёт кнопки Home, все верно, так и должно быть
-
Все оно верно даст Вы проверяли? У меня все отлично, стоит регион Казахстан, язык системы русский Результат кода - ru Не поленился и запустил симулятор, языки естественно менял на соответствующие
-
нет, вы не поняли. не работает "диалог" выбора фото/картинки. Аналогичное нам писал Фабиано Силва с загрузкой фото в фейсбуке Ответ пока: никак
-
var MyRect: TRectF; begin MyRect := RectF(10, 10, 30, 30); if Canvas.BeginScene then try Canvas.Fill.Color := TAlphaColorRec.Red; Canvas.Stroke.Color := TAlphaColorRec.Black; Canvas.FillEllipse(MyRect, 1); Canvas.DrawEllipse(MyRect, 1); finally Canvas.EndScene; end; end; FillEllipse - заливка DrawEllipse - обводка
-
var Line: TmapPolylineDescriptor; Points: TArray<TMapCoordinate>; begin SetLength(Points, 2); Points[0] := TMapCoordinate.Create(49.901493, 28.587838); Points[1] := TMapCoordinate.Create(49.897793, 28.585026); Line := TmapPolylineDescriptor.Create(Points); Line.StrokeColor := TAlphaColorRec.Darkgrey; MapView.AddPolyline(Line); end; прочитайте как работать с массивами