Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

На ListBox-e кілька Item-ів, на них поставив Edit-и. Коли я намагаюся редагувати нижні Edit-и, то клавіатура перекриває їх і не видно що набираєш (в моєму прикладі це Номер будинку). Як це виправити?

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я
Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

І як зробити щоб на клавіатурі замість кнопки Enter була кнопка Готово, після натискання на яку клава б ховалася?

Поділитися повідомленням

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

Зробив по типу "ScrollableForm". При відкритті клавіатури форма зсувається, ніби все працює як треба, але якщо після набору тексту натиснути на кнопку "Зберегти" то відбувається закриття клавіатури і зміщення кнопки "Зберегти" і відповідно збереження не відбувається і потрібно ще раз натиснути на кнопку.
Можна як то це обійти, наприклад зробити затримку закриття клавіатури?

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

Всім привіт. Вчуся працювати з ini-файлами на Android. І відразу ж виникла проблема, яку ніяк не можу вирішити. Хотів написати подобу додаток-тест зі зберіганням даних в ini файлі. У підсумку все відмінно працює на windows, а під Андроїд при запуску висить тільки значок firemonkey секунд 10 і додаток вирубується так і не запустили. В чому може бути проблема? Використовую налагодження по USB.
TIniFile * Ini = new TIniFile (System :: Ioutils :: TPath :: GetDocumentsPath () + PathDelim + "options.ini"); Юзаю ці бібліотеки
#include #include

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

Добрий день.
Пишу на Delphi 7. І все було нормально поки не у нас не з'явився термінал збору даних на Androide. На Delphi 10 написав простенький додаток. Але тут постала проблема з занесенням даних в поле вводу з сканера штрих-коду. В інеті знайшов, що це справа просто вирішується ІНТЕНТ. Взагалі в windows я подібне робив: вішав процес, що стежить за com-портом, і при появі даних на ньому пересилав їх куди треба. В Android має бути не складніше. Але я заплутався у всій цій купі параметрів і функцій, що передаються і одержуються "намірами".
Загалом ось що ми маємо на даний момент.
В налаштуваннях сканера прописано:

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

Доброго вам дня!
Вирішую наступне завдання, в додатку динамічно формуються різні об'єкти, спадкоємці від одного класу. При формуванні об'єктів заповнюється динамічний масив цих елементів. Далі я хочу в окремому потоці для кожного з елементів масиву отримати його стан, тобто роблю запит до сервера. Все це повішено на таймер, кожну секунду повинен відпрацьовуватися запит. Все більш менш працює в Windows, а на Андроїд з часом додаток валиться. Ось код таймера, для читання я видалив шматки з різними варіантами E. RootElements - це масив TEssense від якого є спадкоємці. Функції GetBoardCurrentValue, GetBoardMaxValue - по суті запити до сервера.
Підкажіть, чи правильно я оформляю роботу з потоками для роботи на Андроїд?
procedure TForm1.MasterTimerTimer (Sender: TObject); begin TTask.Run (procedure var l, d, a: byte; i, j: integer; E: TEssence; p: Pointer; VirtualNode: IXMLNode; VirtualElementNode: IXMLNode; id: byte; begin l: = Length (Form1.RoomElements ); for j: = 0 to l - 1 do begin E: = Form1.RoomElements [j]; // Реле if E is TRele then begin d: = (E as TRele) .Device_ID; a: = (E as TRele ) .Device_Adress; if Form1.GetBoardCurrentValue (d, a) = true then begin TThread.Synchronize (nil, procedure begin (E as TRele) .ReleSwitch.IsChecked: = Form1.device [d] .Board [a] .CurrentValue. ToBoolean; end); end; // (E as TRele) .ReleOnTimer (E) end // Діммер else if E is TDimmer then begin d: = (E as TDimmer) .Device_ID; a: = (E as TDimmer). Device_Adress; if Form1.GetBoardMaxValue (d, a) = true then begin TThread.Synchronize (nil, procedure begin if (Form1.device [d] .Board [a] .Type_ID = TType.Светодіод) or (Form1.device [d ] .Board [a] .Type_ID = TType.Діммер220) then begin (E as TDimmer) .DimmerValue.Text: = (Form1.device [d] .Board [a] .MaxValue) .ToString; end; en d); end; // (E as TDimmer) .DimmerOnTimer (E) end // Таймер else if E is TSTimer then begin id: = (E as TSTimer) .STimerIndex; Form1.FillHTTPRequest (0, 0, HTTP_GET_TIMER_INFO, id); if Form1.AnswerIsComming = HTTP_GET_TIMER_INFO then begin TThread.Synchronize (nil, procedure begin if Form1.HTTPAnswer.Data1 = 0 then (E as TSTimer) .Interval.Text: = 'OFF' else (E as TSTimer) .Interval.Text: = 'ON' end); end; // (E as TSTimer) .STimerOnTimer (E); end; end; end); end;

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

Доброго вам дня. Є android додаток, в ньому є діалогове вікно, яке пропонує перейти в google play і завантажити інший додаток (pro версію), з 2 кнопками (так / ні). Як реалізувати цей перехід в Google play, щоб в ньому відразу було завантажено потрібний додаток. Використовую Delphi XE7

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

Доброго дня. Хто знає, підкажіть, чи можна засобами firemonkey міняти іконку програми в рантайм або після закриття і повторного відкриття програми? На win начебто можна, статті на форумі знаходив, а для Андроїда знайти не вдалося.

Нещодавно Компільо додаток на Delphi FMX Android при зверненні до сервера https при виконанні Get запиту від компонента TIdHttp запросив бібліотеку "Could not load SSL library" використовується протокол sslvTLSv1_2 в windows все оре в андроїд немає. накопав що можна підключити бібліотеки libssl.so і libcrypto.so через deployment .assets \ internal. А ось як в коді далі їх використовувати ніхто прімерчік не виклав, хоч і обговорювали на інтернет просторах 100 раз, ті як прикрутити до IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile. Якщо є у кого код викладіть будь ласка? або скинте по email [email protected]
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method.sslvTLSv1_2;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode.sslmUnassigned;

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

Добрий день друзі. Підкажіть, чи є можливість у firemonkey відкрити форму як представлено на зображенні нижче? Якщо так, то підкажіть в який бік копати. Дякуємо.

Listbox, edit і клавіатура - tlistbox - fire monkey від а до я

Створюю свій компонент з візуалізацією Label в Edit, див. Рис.
При компіляції з'являється ще одні Label. А при відображенні форми можна скопіювати готовий компнонент - видає помилку.
Підкажіть, як позбутися від дубліката.
t
type TShowLabel = (Show, Hide); TEditVisualLabel = class (TEdit) private TextLabel. TLabel; FloatVErt. TFloatAnimation; FloatSize. TFloatAnimation; FloatColor. TColorAnimation; FLabCAp. string; function GetSHow: TShowLabel; Procedure SetShow (Value. TShowLabel); function GetLabelCaption: string; Procedure SetLabelCaption (Value. String); function GetLabelFontColor: TAlphaColor; Procedure SetLabelFontColor (Value. TAlphaColor); function GetStopValue. Single; procedure SetStopValue (Value. Single); function GetStartValue: Single; procedure SetStartValue (Value. Single); function GetStopFont: Single; procedure SetStopFont (Value. Single); function GetStartFont: Single; procedure SetStartFont (Value. Single); protected procedure Enter (Sender. TObject); procedure Exi (Sender. TObject); public published property LabelFontColor. TAlphaColor read GetLabelFontColor write SetLabelFontColor; property LabelCaption: string read GetLabelCaption write SetLabelCaption; property LabelPositionStop. Single read GetStopValue write SetStopValue; property LabelPositionStart. Single read GetStartValue write SetStartValue; property LabelSizeStopFont. Single read GetStopFont write SetStopFont; property LabelSizeStartFont: Single read GetStartFont write SetStartFont; property LabelVisible. TShowLabel read GetSHow write SetSHow default TShowLabel (1); constructor Create (aowner: TComponent); override; end; procedure Register; implementation procedure Register; begin RegisterComponents ( 'Samples', [TEditVisualLabel]); end; constructor TEditVisualLabel.Create (aowner: TComponent); var Del: TLabel; Family, Style, FontColor. TStyledSetting; begin inherited Create (AOwner); TextLabel: = TLabel.create (Self); TextLabel.Parent: = self; // Швидше за все, що саме тут весь затикаючи, чому воно виконується двічі TextLabel.StyledSettings: = [Family]; TextLabel.Align: = TAlignLayout (2); TextLabel.TextSettings.FontColor: = TAlphaColorRec.Silver; TextLabel.TextSettings.Font.Size: = 14; TextLabel.SetSubComponent (true); FloatVErt: = TFloatAnimation.Create (TextLabel); FloatVErt.Parent: = TextLabel; FloatVErt.PropertyName: = 'Position.Y'; FloatVErt.StopValue: = -20; FloatVErt.StartValue: = 0; FloatSize: = TFloatAnimation.Create (TextLabel); FloatSize.Parent: = TextLabel; FloatSize.PropertyName: = 'TextSettings.Font.Size'; FloatSize.StopValue: = 11; FloatSize.StartValue: = 14; FloatColor: = TColorAnimation.Create (TextLabel); FloatColor.Parent: = TextLabel; FloatColor.PropertyName: = 'TextSettings.FontColor'; FloatColor.StartValue: = TAlphaColorRec.Silver; LabelFontColor: = TAlphaColorRec.Black; LabelVisible: = TShowLabel (0); TextLabel.Align: = TAlignLayout (2); //TextLabel.Width: = 5000; //FloatColor.StopValue: = LabelFontColor; OnExit: = Exi; OnEnter: = Enter; end; procedure TEditVisualLabel.Enter (Sender. TObject); begin inherited; if TextLabel.Position.Y<>FloatVErt.StopValue then begin FloatVErt.Inverse: = false; FloatVErt.Start; FloatSize.Inverse: = false; FloatSize.Start; FloatColor.Inverse: = false; FloatColor.Start end; end; procedure TEditVisualLabel.Exi (Sender: TObject); begin inherited; if (Self.Text = '') and (TextLabel.Position.Y<>0) then begin FloatVErt.Inverse: = true; FloatVErt.Start; FloatSize.Inverse: = true; FloatSize.Start; FloatColor.Inverse: = true; FloatColor.Start end; end; function TEditVisualLabel.GetLabelCaption: string; begin result: = TextLabel.Text; end; function TEditVisualLabel.GetLabelFontColor: TAlphaColor; begin Result: = FloatColor.StopValue; end; function TEditVisualLabel.GetSHow: TShowLabel; begin if TextLabel.Visible then Result: = TShowLabel (0) else Result: = TShowLabel (1); end; function TEditVisualLabel.GetStartFont: Single; begin Result: = FloatSize.StartValue; end; function TEditVisualLabel.GetStartValue: Single; begin Result: = FloatVErt.StartValue; end; function TEditVisualLabel.GetStopFont: Single; begin Result: = FloatSize.StopValue; end; function TEditVisualLabel.GetStopValue: Single; begin Result: = FloatVErt.StopValue; end; procedure TEditVisualLabel.SetLabelCaption (Value: string); begin TextLabel.Text: = Value; end; procedure TEditVisualLabel.SetLabelFontColor (Value: TAlphaColor); begin FloatColor.StopValue: = value; end; procedure TEditVisualLabel.SetShow (Value: TShowLabel); begin if Value = TShowLabel (0) then TextLabel.Visible: = true else TextLabel.Visible: = False; end; procedure TEditVisualLabel.SetStartFont (Value: Single); begin FloatSize.StartValue: = Value; TextLabel.TextSettings.Font.Size: = Value; end; procedure TEditVisualLabel.SetStartValue (Value: Single); begin FloatVert.StartValue: = Value; end; procedure TEditVisualLabel.SetStopFont (Value: Single); begin FloatSize.StopValue: = Value; end; procedure TEditVisualLabel.SetStopValue (Value: Single); begin FloatVert.StopValue: = Value; end; end.

Зараз на сторінці 0 користувачів

Немає користувачів, які переглядають цю сторінку

Copyright © 2024