- 0
Войдите для возможности подписаться
Подписчики
0
Как изменить цвет фона или текста заголовка tstringgrid
Ответ от
BelovAlex
-
Похожий контент
-
От Delpher-X
Здравствуйте. У меня такая проблема.
Пытаюсь скачать файл:
var S : TMemoryStream; begin S := TMemoryStream.Create(); IdHTTP1.Get('http://sitename.com/7UlmBU7IXHA.jpg', S); S.SaveToFile('/storage/emulated/0/ImageFile.jpg'); S.Free; end;
Проблема возникает на последней стадии - при сохранении файла. Android пишет, Cannot create file: '/storage/emulated/0/ImageFile.jpg'. Permission denied, то есть доступ запрещен. Но как его разрешить? Когда я устанавливаю приложение, система пишет, что никаких разрешений данная программа не требует.
-
От destroyer86
Всем привет, с помощью Java2Op сделал обертку библиотеки получил модуль с интерфейсами.
Теперь сам вопрос в JavaInterfaces.pas есть описание:
JUsbManagerClass = interface(JObjectClass) ['{1048A6E9-E1B5-4DA5-A168-ED91E8DE5284}'] {class} function _GetACTION_USB_ACCESSORY_ATTACHED: JString; cdecl; {class} function _GetACTION_USB_ACCESSORY_DETACHED: JString; cdecl; {class} function _GetACTION_USB_DEVICE_ATTACHED: JString; cdecl; {class} function _GetACTION_USB_DEVICE_DETACHED: JString; cdecl; {class} function _GetEXTRA_ACCESSORY: JString; cdecl; {class} function _GetEXTRA_DEVICE: JString; cdecl; {class} function _GetEXTRA_PERMISSION_GRANTED: JString; cdecl; {class} function getAccessoryList: TJavaObjectArray<JUsbAccessory>; cdecl;//Deprecated {class} function openAccessory(accessory: JUsbAccessory): JParcelFileDescriptor; cdecl;//Deprecated {class} function openDevice(device: JUsbDevice): JUsbDeviceConnection; cdecl;//Deprecated {class} procedure requestPermission(device: JUsbDevice; pi: JPendingIntent); cdecl; overload;//Deprecated {class} property ACTION_USB_ACCESSORY_ATTACHED: JString read _GetACTION_USB_ACCESSORY_ATTACHED; {class} property ACTION_USB_ACCESSORY_DETACHED: JString read _GetACTION_USB_ACCESSORY_DETACHED; {class} property ACTION_USB_DEVICE_ATTACHED: JString read _GetACTION_USB_DEVICE_ATTACHED; {class} property ACTION_USB_DEVICE_DETACHED: JString read _GetACTION_USB_DEVICE_DETACHED; {class} property EXTRA_ACCESSORY: JString read _GetEXTRA_ACCESSORY; {class} property EXTRA_DEVICE: JString read _GetEXTRA_DEVICE; {class} property EXTRA_PERMISSION_GRANTED: JString read _GetEXTRA_PERMISSION_GRANTED; end; [JavaSignature('android/hardware/usb/UsbManager')] JUsbManager = interface(JObject) ['{6F603A25-E816-4012-9B23-054B428A4A75}'] function getDeviceList: JHashMap; cdecl;//Deprecated function hasPermission(device: JUsbDevice): Boolean; cdecl; overload;//Deprecated function hasPermission(accessory: JUsbAccessory): Boolean; cdecl; overload;//Deprecated procedure requestPermission(accessory: JUsbAccessory; pi: JPendingIntent); cdecl; overload;//Deprecated end; TJUsbManager = class(TJavaGenericImport<JUsbManagerClass, JUsbManager>) end; Что бы получить доступ к методам интерфейса используется следующая конструкция:
JavaObject := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.USB_SERVICE); FUsbManager := TJUsbManager.Wrap((JavaObject as ILocalObject).GetObjectID); теперь я могу получить доступ к методам JUsbManager, а как получить доступ к методам JUsbManagerClass
Вот пример кода на Java, который хочу реализовать в Delphi:
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); List<UsbSerialDriver> availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager); if (availableDrivers.isEmpty()) { return; } // Open a connection to the first available driver. UsbSerialDriver driver = availableDrivers.get(0); //Вот тут мы видим что из экземпляра класса мы вызываем openDriver, как это сделать в Delphi UsbDeviceConnection connection = manager.openDevice(driver.getDevice()); Как мы можем заметить этого метода в описании интерфейса нет, но есть в классе, как получить доступ к экземпляру класса?
-
От Дмитрий Потапов
BlurBehind Control.
Компонент позволяет использовать размытие, по типу, которое реализовано в WIndows 10, т.е компонент позволяет "размыть" то, что находится под ним.
Пусть и увидел это непосредственно в самой студии на стартовой странице (Welcome Page), но все-таки подумал скинуть ссылку сюда.
Исходники: https://github.com/grijjy/CodeRage2019/tree/master/BlurBehind
Видео:
-
От Павел Блажеев
Добрый день. Очень нужна Ваша помощь.
Мне необходимо сделать координатную сетку в виде точек. При масштабировании панели количество точек должно изменяться .
Хочу все это сделать на канве панели. Унаследовал класс и переопределил procedure Paint; override;
Tfield = class(TPanel)
Constructor Create( parent: TFmxObject);
procedure Paint; override;
Procedure OnMyClick (Sender: TObject);
end;
В теле метода я пробовал рисовать. Экспериментировал и столкнулся с такой проблемой. Ничего не отображается. Нет никаких изменений.
Если я наследую не от Tpanel а от Timage то часть кода работает а часть работает очень криво. Очень хочу разобраться почему .
{Отображается сразу}
for a:=1 to 1000 do
begin
self.Canvas.Fill.Color:= TAlphaColors.Crimson;
self.Canvas.FillEllipse(rect(1,1,10,10),self.AbsoluteOpacity);
self.Canvas.FillEllipse(rect(round(self.Width-9),round(self.Height-9),round(self.Width), round(self.Height)),self.AbsoluteOpacity);
self.Canvas.FillEllipse(rect(round(self.Width-9),1,round(self.Width), 9),self.AbsoluteOpacity);
self.Canvas.FillEllipse(rect(1,round(self.Height-9),10, round(self.Height)),self.AbsoluteOpacity);
end;
{Отображается только после того как я проскролю Scrollbox на котором лежит панель в крайнее нижнее правое положение}
self.Canvas.Stroke.Color:= TAlphaColors.Crimson;
self.Canvas.Stroke.Thickness:=7;
Canvas.BeginScene;
self.Canvas.DrawLine(PointF(20, 20), PointF(100, 50), self.AbsoluteOpacity);
Canvas.EndScene;
Подскажите пожалуйста, почему не работает такое с панелью? Как правильно рисовать на панели?
Почему в случае с имейджем все работает так некорректно? Почему работает только после скрола?
Каким способом мне лучше сделать координатную сетку? состоящую из точек как в режиме Design?
-
От Дмитрий Потапов
Приветствую. Имеется необходимость получить список всех видимых (GUI) компонентов, установленных в Delphi. Я видел где-то, что можно как-то попробовать через ToolsAPI это сделать, но ничего толкового на эту тему так и не нашел. Может есть у кого мысли по этому поводу?
Если возникнет вопрос: для чего тебе это?
Ответ: Для приложения LivePreview, которое идет вместе со студией для того, чтобы видеть то, что размещаю на форме непосредственно на устройстве.
Спасибо!
-
От ComAlex
Здравствуйте, господа программисты!
Пытаюсь протестировать Android приложение на любом эмуляторе.
Всегда одна ошибка "Unable to create process: Performing Streamed Install"
Понимаю, что ссылок много по данной теме в интернете, но ни одна не помогла.
Использую Embarsadero Delphi 10.3
При компиляции на реальный телефон всё работает
При компиляции на эмулятор даже пустого приложения выдается та же ошибка
"Unable to create process: Performing Streamed Install"
В чем проблема? Хотя бы в какую сторону копать?
-
От Дмитрий Потапов
Задался идеей написания IPTV приложения "для себя", в котором при желании смог бы реализовать что-то необходимое и удалить то, что не нужно.
Собственно вопрос в другом: Я написал простое приложение, которое отлавливает коды кнопок с пульта, приложение по сути самое банальное, использует OnKeyDown и OnKeyUp (чисто для теста). И по нажатию на кнопку на пульте высылает например в Memo или ListBox Информацию о нажатой кнопке (включая ее код).
Но суть в том, что далеко не все кнопки таким образом распознаются. Для примера:
Кнопки громкости, назад, домой, увеличение\уменьшение громкости, стрелки(влево, вправо, вверх, вниз) и центральная кнопка (по совместительству OK).
Цифры все определяются, как одна - 0
Кнопки, которые не определяются (не срабатывает событие, ибо если был бы неизвестен код, то думаю, в таком случае получил бы все, кроме кода кнопки), но по нажатию кнопки, которая не определяется приложением - ничего не происходит вообще.
Вопрос: Есть ли возможность как-то "научить" приложение распознавать эти кнопки? (Я где-то читал, может даже и здесь, что это все так реализовано именно на уровне самого FireMonkey, будто этих кнопок вообще не существует).
Если эта тема уже поднималась на форуме или вопрос очень просто решается - извиняюсь)
Решение: http://fire-monkey.ru/topic/5624-как-отловить-кнопки-пульта-ду/?do=findComment&comment=36399
-
От Алиса Романец
Доброго времени суток всем!
В VCL была возможность скрыть полосы прокрутки на TStringGrid. Оно не отключало скролл, но оно позволяло спокойно сделать таблицу с n-ым количеством колонок одинаковой ширины без появления горизонтальной полосы проркрутки. Есть ли что-то подобное в FireMonkey, а в особенности отключение не всех сразу, а лишь одной (горизонтальной) полосы прокрутки?
-
От PavelS
Здравствуйте! Начал изучать FireMonkey и столкнулся с тем, что TBitmap не поддерживает размер изображения больше 8132, кажется. Т.е. большие размеры рисунка он грузит, но за счёт потери качества, размер пиксела растёт, а размер рисунка по оси всё равно не превышает 8132. В то же время в простом дельфи можно грузить и работать с гораздо большими размерами, например, один из файлов имеет размер 61216 х 1486 точек. Подскажите пожалуйста, есть ли возможность работать с большими файлами в FireMоnkey и как это можно организовать? Программа создаётся для работы только в Windows.
-
От SIARHEI RAHOUSKI
Создал проект там куча компонентов. Но разворачивании формы на весь экран компоненты размер не меняют:
Прочитал про свойства align Но как только я выставлю Group box например left другим right все сбивается в кучу и поправить это не могу.
Как настроить align ?
-
-
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
Приветствую!
Изменить цвет фона или текста заголовка tstringgrid можно на событии DrawColumnHeader. Но хотелось сделать это с помощью стилей в designtime. Есть ли такая возможность?
Добавление стилей headeritem приводит в конечном счете к полному обвалу 10.2. При изменении свойств headeritem сначала выскакивает ошибка Intrerface not supported, ну, а потом, любимый access violation в fmx250.bpl. В 10.3 ошибка повторилась
Отредактировал BelovAlexввёл неполную информацию
Поделиться сообщением
Ссылка на сообщение