Лидеры
Популярный контент
Показан контент с высокой репутацией 19.10.2016 во всех областях
-
Когда много таймеров
Kitty и 5 других отреагировал Brovin Yaroslav за вопрос
В любом случае рост таймеров всегда будет сказывать на скорость приложения и запаздывания. Поскольку таймеры в fmx выполняются в главном потоке, то соответственно все OnTimer события будут вызываться по очереди. И чем дольше занимает выполнение этих событий, тем таймеры будут менее точны. Предел количества таймеров не знаю :-) НО любую задачу можно выполнить несколькими способами. В вашем случае нужно просто сделать типа Менеджер расписаний, который будет базироваться на одном всего лишь таймере и в OnTimer проверять наступило ли событие или нет.6 баллов -
У меня не работает DrawBitmap
Steepe_Hare и 2 других отреагировал Brovin Yaroslav за вопрос
Все ясно. У вас ошибка. Посмотрите внимательно на параметры функции Canvas.DrawBitmap. Первый прямоугольник - это область из битмапа, которую вы будите рисовать. Второй прямоугольник - это область на канве, куда вы будите выводить часть битмапа. Вот так будет правильно: Image1.Bitmap.Canvas.DrawBitmap(MyBitmap, MyBitmap.BoundsF, MyRect, 1); P.S. В следующие такие вопросы обязательно прикрепляйте ваш проект. Это сэкономит кучу времени на ненужные вопросы.3 балла -
FMX.PhoneDialer убивает приложение
Равиль Зарипов (ZuBy) и ещё один отреагировал Brovin Yaroslav за вопрос
ObjectiveC class CTCallCenter could not be found Бага в трекере и уже пофикшена. Возможно будет в Update 2.2 балла -
У меня не работает DrawBitmap
Brovin Yaroslav и ещё один отреагировал Кривяков Виталий за вопрос
Добрый день! Image1.Bitmap Скорее всего он у вас имеет нулевые размеры, попробуйте перед Image1.Bitmap.Canvas.BeginScene; указать Image1.Bitmap.SetSize(X,Y);2 балла -
Большое спасибо Ярославу, что находит время и фиксит проблемы, которые мы тут поднимаем. И курсы его великолепные! Спасибо профессионалам, таким как ZuBy, который терпит наши глупые вопросы и помогает. СПАСИБО!!!2 балла
-
анимация батарейки с управлением "уровня заряда"
Равиль Зарипов (ZuBy) и ещё один отреагировал Rusland за вопрос
Вот как можно получить уровень заряда. В Image меняйте картинку на соответствующую уровню заряда.2 балла -
[Android] Почему возникает ошибка ECanvasException 'Handle not allocated'?
AngryOwl и ещё один отреагировал Brovin Yaroslav за вопрос
Дело в том, что у вас Image1.Bitmap, как экземпляр класса TBitmap присутствует. НО в нем нету никакой информации. То есть по факту у него размер равен 0 на 0. Это значит, что для него хендл не будет выделяться (Зачем системе хранить пустой битмап). Поэтому, когда вы пытаетесь с ним поработать и получить доступ к канве, то получаете такую ошибку: raised exception class ECanvasException with message 'Handle not allocated' Теперь смотрим ваш код: Image1.Bitmap.Canvas.BeginScene; Будет работать с канвой, но хендла нет. отсюда будет исключение. Image1.Bitmap.Clear(0); Опять же работает с канвой и пытается очистить пустой битмап. Image1.Bitmap.LoadFromStream(MemStream); Это корректный вызов, при загрузке нового битмапа будет выделен хендл на уровне Image1.Bitmap. Соответственно, вам нужно: Сформировать новый битмап Загрузить его в Image1.Bitmap На Windows используется GDI+/Direct2D канва, которая может работать по другому. А на мобильных платформах GPU, поэтому у вас и возникает ошибка.2 балла -
Когда много таймеров
Steepe_Hare отреагировал Error за вопрос
Добавлю что менеджер событий - это единственное верное решение, в противном случае (куча таймеров) приложение станет настолько не детерминированным, что глюки будут лезть отовсюду, а нормальная отладка просто невозможна.1 балл -
Как сделать фото в фоновом режиме?
Kitty отреагировал Равиль Зарипов (ZuBy) за вопрос
как понять просто сделать снимок не открывая камеру? вы думаете у вас камера постоянно включена, но вы не видите потому-что не запущено приложение которое выводит это на экран?1 балл -
Ну все правильно. Картинка 70 на 70, часть картинки черная, а Rect с размерами TRectF.Create(50, 30, 120, 100);1 балл
-
1 балл
-
У меня не работает DrawBitmap
Равиль Зарипов (ZuBy) отреагировал Brovin Yaroslav за вопрос
Я вам в предыдущей ветке отвечал про Image.Bitmap. А вы продолжаете делать ту же самую ошибку.1 балл -
Благодраность
Steepe_Hare отреагировал Rusland за вопрос
http://edu.fire-monkey.ru/landing/index.html1 балл -
Другая система координат?
Pax Beach отреагировал Steepe_Hare за вопрос
Объясните, пожалуйста, почему этот простой код работает по-разному в Win32 и на Андроиде? Картинка 150x200 в битмап уже загружена и нужно ее расчертить. Image1.Bitmap.Canvas.BeginScene; try Image1.Bitmap.Canvas.Stroke.Kind := TBrushKind.Solid; Image1.Bitmap.Canvas.Stroke.Color := TAlphaColors.Blue; for I := 0 to 9 do Image1.Bitmap.Canvas.DrawLine(TPointF.Create(I * 15, 0), TPointF.Create(I * 15, Image1.Bitmap.Height), 1); for J := 0 to 9 do Image1.Bitmap.Canvas.DrawLine(TPointF.Create(0, J * 20), TPointF.Create(Image1.Bitmap.Width, J * 20), 1); finally Image1.Bitmap.Canvas.EndScene; end; Под Виндой создается точная сетка 10x10, а под Андроид как будто другая система координат и территория делится на огромные квадраты (больше, чем надо).1 балл -
Особенности TGrid в Delphi 10.1 Berlin (XE10)
Brovin Yaroslav отреагировал RoschinSpb за вопрос
Вы меняли значение BlobType как я предложил в предыдущем сообщении? У меня работает /// Эта часть не работает! /// if (Value.IsEmpty=false) and (Value.IsObject=true) then begin // LB:=TBlobField(Value.AsObject); // ужос!!! // LB.SaveToStream(LStr); // LBM:=FMX.Graphics.TBitmap.CreateFromStream(LStr); // try // Canvas.DrawBitmap(LBM,RectF(0,0,LBM.Width,LBM.Height),Bounds,1); // finally // LBM.Free; // end; LBM := TBitmap(Value.AsObject); Canvas.DrawBitmap(LBM,RectF(0,0,LBM.Width,LBM.Height),Bounds,1); end; /// /// /// И вообще без обработчика события тоже всё рисуется. Это некоторое расстояние называется разделительная линия.1 балл -
анимация батарейки с управлением "уровня заряда"
Pax Beach отреагировал Равиль Зарипов (ZuBy) за вопрос
ответ: можно P.S. несколько раз прочитал, не понял о чем1 балл -
Всем доброго времени суток, очень помогла тема и ответы выше. Решил добавить небольшой пример касательно "Tgriddrawstates" ( Указание выделена ли строка, выделена ячейка и в фокусе ли ячейка или нет ) Может быть полезно новичкам. procedure TForm4.StringGrid1DrawColumnCell(Sender: TObject; const Canvas: TCanvas; const Column: TColumn; const [Ref] Bounds: TRectF; const Row: Integer; const [Ref] Value: TValue; const State: TGridDrawStates); var TextLayout : TTextLayout; TextRect: TRectF; begin if TGridDrawState.RowSelected in State then Canvas.Fill.Color := TAlphaColors.Blue; else Canvas.Fill.Color := TAlphaColors.white; end; вместе с кодом отрисовки ячейки грида выше можно управлять цветом фона да и чем угодно при например выделении строки.1 балл
-
Вы знаете... На самом деле, за последний год изменилось очень многое. Я искренне рад за компанию Embarcadero, и, конечно, за сам продукт RAD Studio. Им есть над чем работать, возможно не хватает ресурсов и т.д. и т.п... Однако на все сложности, думаю, у них очень большие перспективы. Серьезно! На мой взгляд, на сегодняшний день, аналога RAD Studio просто не существует! Его просто нет! Ну вот хоть убейтесь - нет его! И это далеко не только мое мнение. Мнение очень многих серьезных программистов, которые используют и другие IDE и, тем-более, языки (и которые работают в очень серьезных компаниях). И "всепропальщиков" я слышу со времен моей работы с Turbo-Pascal 5.0... ) Недостатки есть у всех! Можно так охаять любую IDE и любой язык, - что мало не покажется. Это касается "любого" (я о всяких студиях... и мелкомягких и корпорацияхдобра)... Вопрос больше в ресурсах, которые есть у компании, чтобы оперативно решать проблемы: баги, обновления, документация, поддержка и т.д... А если говорить непосредственно о FMX, то вообще - все остальные тупо в пролете! И мы говорим о продукте компании, которая катастрофически уступает своими возможностями и ресурсами таким монстрам как Microsoft с их Visual Studio. Сейчас уже все больше и больше и документации и информации и ресурсов по FMX, в частности. Это и китайские ресурсы, и японские и немецкие. Не думайте - что только в постсоветском пространстве популярен Delphi, в частности, и среда RAD Studio. Это не серьезно! ) Китай, Япония, Германия, Франция и т.д. и т.д. Все больше и больше и открытых исходников и разнообразных ресурсов и компонентов. Тот же Boian Mitov - куча компонентов, уникальные инструменты. Большинство - с поддержкой, и под, FMX! (не реклама! ссылок не даю - сами найдете). Уникальный болгарский (если мне память не изменяет) программист - написал и развил огромную библиотеку... И таких как он - много. К чему я все это... А к тому - что изменилось столько всего! что даже не уверен, что об этом вообще надо говорить. А уж я то за ней следил еще со времен библиотеки VG-Scene (Евгения Крюкова) и далее - с самой первой XE... А уж текущий ресурс - считаю один из лучших. Главное - уметь пользоваться! И я полностью согласен с [Kitty] и поддерживаю - благодарю ребят за то, что они создали и ведут этот ресурс!1 балл
-
Отдельное спасибо за курсы - титанический труд и отличный результат!!! P,S. Дополнительно, остаюсь при своем мнении, оставите себя в истории как Архангельский - бумажной книгой...:)1 балл
-
Благодраность
zairkz отреагировал Brovin Yaroslav за вопрос
Пока есть такие благодарные и вежливые люди, то помогать всегда в радость :-)1 балл -
Я чисто от себя.. Читаю мануал и если там нет решения я в тупике...Вроде как и не блондинка, но полный тупик. Даже начинаю сравнивать себя с персонажами Павла Воли. Но пока есть Ярослав и ZuBy, не все потеряно... Спасибо!1 балл
-
1 балл
-
Я говорю про все диалекты SQL. Когда идет речь о том, что не работает сравнение в where или like, нужно смотреть настройки кодировки на сервере и в строке соединения. UPD: Прочитал, что есть проблема сортировки в SQLite. Проверил — есть, и LIKE, и ORDER BY. Прочитал ответ разработчиков — подход порадовал. Потребуется воспользоваться функцией sqlite3_create_collation (есть в компонентах FireDAC, UniDAC, модуле RTL\System.Sqlite.pas). Я нашел пример только на C. Может у Вас получится воспользоваться — будем рады посмотреть пример.1 балл
-
Возвращаясь к вопросу о подсчете высоты текста TListView
Rusland отреагировал Brovin Yaroslav за вопрос
Вот пример вычисления высоты итема. ListViewVariableHeightItems2.zip Я этот пример показывал на лонче в питере.1 балл -
[Android] [XE7] Какой компонент выбрать для карты?
Brovin Yaroslav отреагировал masmat за тема
Ярослав, Вы забыли указать, что компонент допускает в бесплатном варианте до 1000 сессий, потом он не будет работать.1 балл -
uses AndroidAPI.Helpers, AndroidAPI.JNI.GraphicsContentViewText; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } function BatteryPercent(const aContext: JContext): Integer; end; var Form1: TForm1; implementation {$R *.fmx} function TForm1.BatteryPercent(const aContext: JContext): Integer; var filter: JIntentFilter; battery: JIntent; begin filter := TJIntentFilter.Create; filter.addAction(TJIntent.JavaClass.ACTION_BATTERY_CHANGED); battery := aContext.registerReceiver(NIL, filter); result := battery.getIntExtra(StringToJString('level'), -1) end; procedure TForm1.FormCreate(Sender: TObject); var myContext: JContext; begin myContext := SharedActivityContext; Showmessage(BatteryPercent(myContext).ToString); end; а еще по другим параметрам испанец круто обсосал тут http://neftali.clubdelphi.com/?p=3157 а если надо модель, серийный то это у вас на компе Delphi\Samples\Object Pascal\Mobile Snippets\DeviceInfo (но тут хоть ИОС есть).1 балл