tFeniks
-
Постов
29 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные tFeniks
-
-
Что лучше использовать при разработке программы на FireMonkey для десктоп приложения? Просто не могу понять, почему у меня не появляются субменю
-
я уже попросил, что поставили этот плагин на мой сайт.
-
Сайт на WordPress, вот какую базу они там используют не знаю. Это платформа для всех церковных сайтов и страницек, которые на ней создает кто хочет бесплатно
-
Пишу для Андроид
-
Не знаю в какой раздел это лучше отнести, поэтому написал сюда. Ситуация такая. Пишу программу, которая будет при наличии интернета обновлять свою информация с сайта http://yazikovo.cerkov.ru/ Если интернета нет, то будет показывать в оффлайн режиме то, что есть уже в базе программы. Когда интернет появляется, то программа должна анализировать то, что появилось нового на сайте и добавлять в базу. Просвятите какую базу лучше использовать и если есть возможность то помогите с кодом.
-
От чего наследоваться. чтобы создать компонент диалог в FireMonkey
-
Тогда посоветуйте тупенькому, что изучить, чтобы начать писать на этом шайтанском языке.В RAD Studio такой возможности нет. Пишите на Jave.
Виджет какой хотите сделать?
Просто это капелька в море в разработке!
Пока мне принципиально вообще разобраться с виджетами. Да вообще много разных вопросов возникают. Например Сейчас делаю 3D модель батарейки и планирую сделать компонент, который бы визуально отображал уровень заряда. Что-то типа прогрессбара
-
В RAD Studio такой возможности нет. Пишите на Jave.
Тогда посоветуйте тупенькому, что изучить, чтобы начать писать на этом шайтанском языке.
-
Кто может подсказать как делать виджеты?
-
Если кому будет интересно, нашел в исходниках AlphaScins как вставить информацию о компоненте в стартовое окно Delphi
procedure RegisterWithSplashScreen; var Bmp : TBitmap; begin Bmp := TBitmap.Create; Bmp.LoadFromResourceName(hInstance, 'ACLOGO'); try SplashScreenServices.AddPluginBitmap('AlphaControls 2013', Bmp.Handle, False, {$IFNDEF ALITE} {$IFDEF RUNIDEONLY}'Trial edition'{$ELSE}'Registered'{$ENDIF}, {$ELSE} 'Lite Edition', {$ENDIF} '(version ' + sSkinManager.CurrentVersion + ')'); except on E : Exception do end; Bmp.Free; end; {$ENDIF}
-
У кого есть редактор ресурсов для Delphi XE10, чтобы иконки можно было в компоненты добавлять
-
С окном About вопрос решен
-
Наконец-то все заработало как нужно. Если у кого есть еще информация по следующим сопутствующим вопросам, то поделитесь.
1. Как добавить информацию о компоненте в SplaschScreen Delphi
2. Как добавить окно About в компонент
-
Все нормально. Компонент собрался, появился на панели инструментов, однако при компиляции проекта пишет, что не найдет файл battery.pas Где и как прописать пути для поиска этого компонента?
-
До этого Вы писали что у Вас Delphi зависает. Я выше привел код для конструктора и деструктора.
После этого зависание осталось? Проверьте при выбранных платформах Windows и Android.
p.s.
Переделал ваш код, но под платформой андроид не смотрел, т.к. она отсутствует, но запуститься по идее должно
unit BATTERY; interface uses {$IFDEF ANDROID} AndroidAPI.Helpers, AndroidAPI.JNI.GraphicsContentViewText, {$ENDIF} System.SysUtils, System.Classes; type TBattery = class(TComponent) private public { Public declarations } Constructor Create(AOwner: TComponent); override; Destructor Destroy; override; function GetBatteryPercent: string; procedure SetBatteryPercent(Value: string); {$IFDEF ANDROID} function BatteryPercent(const aContext: JContext): integer; {$ENDIF} published { Published declarations } property Battery: string read GetBatteryPercent write SetBatteryPercent; end; procedure Register; implementation procedure Register; begin RegisterComponents('ARION', [TBattery]); end; { TBattery } {$IFDEF ANDROID} function TBattery.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; {$ENDIF} constructor TBattery.Create(AOwner: TComponent); begin inherited Create(AOwner); end; destructor TBattery.Destroy; begin inherited Destroy; end; function TBattery.GetBatteryPercent: string; {$IFDEF ANDROID} var myContext: JContext; {$ENDIF} begin result := 'N/A'; {$IFDEF ANDROID} if not(csDesigning in ComponentState) then begin myContext := SharedActivityContext; result := (BatteryPercent(myContext).ToString); end; {$ENDIF} end; procedure TBattery.SetBatteryPercent(Value: string); begin {$IFDEF ANDROID} {$ENDIF} end; end.
сегодня проверю и отпишусь. Думаю будет работать.
И еще в догонку, чтобы уж во всем разобраться раз и до конца. Как мне прикрутить окно О программе, чтобы в проперти Был пункт About, по клику на который вызывалось это окно.
-
До этого Вы писали что у Вас Delphi зависает. Я выше привел код для конструктора и деструктора.
После этого зависание осталось? Проверьте при выбранных платформах Windows и Android.
p.s.
Переделал ваш код, но под платформой андроид не смотрел, т.к. она отсутствует, но запуститься по идее должно
unit BATTERY; interface uses {$IFDEF ANDROID} AndroidAPI.Helpers, AndroidAPI.JNI.GraphicsContentViewText, {$ENDIF} System.SysUtils, System.Classes; type TBattery = class(TComponent) private public { Public declarations } Constructor Create(AOwner: TComponent); override; Destructor Destroy; override; function GetBatteryPercent: string; procedure SetBatteryPercent(Value: string); {$IFDEF ANDROID} function BatteryPercent(const aContext: JContext): integer; {$ENDIF} published { Published declarations } property Battery: string read GetBatteryPercent write SetBatteryPercent; end; procedure Register; implementation procedure Register; begin RegisterComponents('ARION', [TBattery]); end; { TBattery } {$IFDEF ANDROID} function TBattery.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; {$ENDIF} constructor TBattery.Create(AOwner: TComponent); begin inherited Create(AOwner); end; destructor TBattery.Destroy; begin inherited Destroy; end; function TBattery.GetBatteryPercent: string; {$IFDEF ANDROID} var myContext: JContext; {$ENDIF} begin result := 'N/A'; {$IFDEF ANDROID} if not(csDesigning in ComponentState) then begin myContext := SharedActivityContext; result := (BatteryPercent(myContext).ToString); end; {$ENDIF} end; procedure TBattery.SetBatteryPercent(Value: string); begin {$IFDEF ANDROID} {$ENDIF} end; end.
сегодня проверю и отпишусь. Думаю будет работать.
-
Что именно сейчас не работает?
Данный код я бы добавил в сеттер и геттер, но судя по коду выше они у вас не правильны
Вот я и пытаюсь разобраться как это правильно сделать.
-
Возможно нужно добавить проверку на то, что данные о батарее получаются не в design time
if not(csDesigning in ComponentState) then
А куда эту часть вставлять?
-
так как правильней это сделать?
-
Все бы хорошо, но при попытке бросить компонент на форму, Delphi зависает. Видимо, что-то еще нужно
-
Компонент появился на палитре инструментов, правда в Target platform пришлось добавить Win и Android. Осталось проверить работоспособность всего этого на деле
-
Создал такой компонент
unit BATERRY;interfaceusesSystem.SysUtils, System.Classes, AndroidAPI.Helpers,AndroidAPI.JNI.GraphicsContentViewText;typeTBattery = class(TComponent)private{ Private declarations }FBattery: string; // уровень заряда батареиprotected{ Protected declarations }public{ Public declarations }Constructor Create(AOwner: TComponent); override;Destructor Destroy; override;function GetBatteryPercent: string;procedure SetBatteryPercent(Value: string);function BatteryPercent(const aContext: JContext): integer;published{ Published declarations }property Battery: string read GetBatteryPercent write SetBatteryPercent;end;procedure Register;implementationprocedure Register;beginRegisterComponents('ARION', [TBattery]);end;{ TBattery }function TBattery.BatteryPercent(const aContext: JContext): integer;varfilter: JIntentFilter;Battery: JIntent;beginfilter := TJIntentFilter.Create;filter.addAction(TJIntent.JavaClass.ACTION_BATTERY_CHANGED);Battery := aContext.registerReceiver(NIL, filter);result := Battery.getIntExtra(StringToJString('level'), -1);end;constructor TBattery.Create(AOwner: TComponent);begininherited;Create(AOwner);end;destructor TBattery.Destroy;beginDestroy;inherited;end;function TBattery.GetBatteryPercent: string;beginresult := FBattery;end;procedure TBattery.SetBatteryPercent;varmyContext: JContext;beginmyContext := SharedActivityContext;// Showmessage(BatteryPercent(myContext).ToString);FBattery := (BatteryPercent(myContext).ToString);end;end.Что я делаю не так? Компонент не компилируется. Я хочу, чтобы он появился на палитре. Он должен работать в среде Android. Умом понимаю, что используется AndroidApi, которого в виндовсе нет, но как обойти эту проблему? -
Огромное спасибо, если можно, то накидайте подобное и для визуальных компонентов тоже.
-
кто может показать шаблон для невизуального компонента который будет работать на Androide и Delphi
Своя картинка на обои
в Использование Android API
Опубликовано
Вопрос следующего плана. Как мне установить картинку в качестве обоев, но не в ручную, а по таймеру из заданного пути