În ListBox-e există mai multe articole, pe care le-am pus Edit-s. Când încerc să editați mai mici Edit-S, tastatura le acoperă și nu se poate vedea că tastați (în exemplul meu este Casa). Cum pot remedia asta?
Și cum fac butonul Done de pe tastatură, în loc de butonul Enter, butonul Terminat poate fi clic, ceea ce ar ascunde clava?
Distribuiți acest post
Am facut tipul "ScrollableForm". Când deschideți tastatura este mutat forma, totul funcționează așa cum ar trebui, dar dacă după tastarea faceți clic pe butonul „Save“ se întâmplă aproape de butoanele de schimbare „Save“ și, tastatura și, în consecință, de economisire a nu se produce și este nevoie de mai mult timp pentru a apăsa butonul.
Cum pot obține acest lucru, de exemplu, pentru a întârzia închiderea tastaturii?
Bună ziua tuturor. Învăț să lucrez cu fișiere ini pe Android. Și imediat a existat o problemă pe care nu o pot rezolva în nici un fel. Vreau să scriu o similitudine a testării aplicației cu stocarea datelor într-un fișier ini. În cele din urmă, totul funcționează bine pe ferestre, iar în Android, numai pictograma de foc 10 se blochează la început, iar aplicația este tăiată și nu rulează. Care ar putea fi problema? Folosesc depanare USB.
TIniFile * Ini = noul TIniFile (sistem :: Ioutils :: TPath :: GetDocumentsPath () + PathDelim + "options.ini"); Folosesc aceste biblioteci
#include
Alo
Îl scriu lui Delphi 7. Și totul a fost bine până când avem un terminal pentru colectarea de date Androide. Pe Delphi 10 a scris o aplicație simplă. Dar a apărut o problemă la introducerea datelor din câmpul de intrare de la scanerul de coduri de bare. În internet a constatat că această problemă este rezolvată pur și simplu prin intenții. În general, în Windows imi place sa fac: proces care monitorizează com-portul agățat, și apariția datelor pe care le trimite-le la locul potrivit. În Android nu ar trebui să fie mai dificil. Dar sunt confuz în toată mulțimea de parametri și funcții transmise și primite prin "intenții".
În general, acesta este ceea ce avem în prezent.
În setările scanerului este scris:
Bună ziua!
Rezolvă următoarea problemă, în aplicarea obiectelor diferite, moștenitorii dintr-o clasă sunt formați dinamic. Atunci când se formează obiecte, se completează o matrice dinamică a acestor elemente. Apoi, vreau să obțin statul său într-un thread separat pentru fiecare dintre elementele de matrice, adică, fac o cerere către server. Toate acestea sunt atârnate pe timer, fiecare secundă trebuie procesată o cerere. Funcționează din ce în ce mai mult în Windows și pe Android cu timpul când aplicația cade. Aici este codul temporizatorului, pentru lizibilitate am șters piesele cu variante diferite de E. RootElements este o serie de TEssense de la care există moștenitori. Funcții GetBoardCurrentValue, GetBoardMaxValue - de fapt cereri către server.
Spuneți-mi, am lucrat în mod corespunzător cu fire pentru a lucra pe Android?
Procedura TForm1.MasterTimerTimer (Expeditor: TObject); începe TTask.Run (procedura var l, d, un: byte; i, j: integer; E: TEssence; p: pointer; VirtualNode: IXMLNode; VirtualElementNode: IXMLNode; id: byte; începe l: = Lungime (Form1.RoomElements ) pentru j: = 0 l - 1 nu înceapă E: = Form1.RoomElements [j]; // comutator dacă E este trele apoi începe d: = (E ca trele) .Device_ID; a: = (E ca trele ) .Device_Adress; dacă Form1.GetBoardCurrentValue (d, a) = true apoi începe TThread.Synchronize (zero, procedura începe (E ca trele) .ReleSwitch.IsChecked: = Form1.device [d] .Board [a] .CurrentValue. ToBoolean; end) final; // (e ca trele) .ReleOnTimer (e) end // Graduator altceva dacă e este TDimmer apoi începe d: = (e ca TDimmer) .Device_ID; a: = (e ca TDimmer). Device_Adress; dacă Form1.GetBoardMaxValue (d, a) = true apoi începe TThread.Synchronize (zero, procedura începe dacă (Form1.device [d] .Board [a] .Type_ID = TType.Svetodiod) sau (Form1.device [d ] .Board [a] .Type_ID = TType.Dimmer220) apoi începe (E ca TDimmer) .DimmerValue.Text: = (Form1.device [d] .Board [a] .MaxValue) .ToString; end; en d); end; // (E ca TDimmer) .DimmerOnTimer (E) end // Cronometrul else if E este TSTimer apoi începe id: = (E ca TSTimer) .STimerIndex; Form1.FillHTTPRequest (0, 0, HTTP_GET_TIMER_INFO, id); dacă Form1.AnswerIsComming = HTTP_GET_TIMER_INFO începe apoi TThread.Synchronize (zero, procedura începe dacă Form1.HTTPAnswer.Data1 = 0 atunci (E ca TSTimer) .Interval.Text: = 'OFF' altfel (E ca TSTimer) .Interval.Text: = Sfârșitul "ON"); se încheie; // (E ca TSTimer) .STimerOnTimer (E); se încheie; se încheie; end); se încheie;
Orei bune din timpul zilei. Există o aplicație Android, are o casetă de dialog care sugerează să meargă la jocul Google și să descarce o altă aplicație (versiunea pro), cu 2 butoane (da / nu). Cum să implementați această tranziție în Google Play, pentru a încărca imediat aplicația potrivită. Eu folosesc Delphi XE7
Bună ziua. Cine știe, spune-mi, pot fi chemativele de protecție să schimbe pictograma aplicației în timpul rulării sau după închiderea și redeschiderea aplicației? Pe câștig pare posibil, am găsit articole pe forum, dar nu l-am găsit pentru Android.
Recent cerere Campiglio pe Delphi FMX Android atunci când accesați https de server, atunci când cererea a obține de la TIdHttp componente de interogare bibliotecă „nu s-a putut încărca biblioteca SSL“ folosit protocolul sslvTLSv1_2 în Windows toate Android în case de marcat nu este. s-au copiat că puteți conecta libssl.so și libcrypto.so biblioteci prin implementarea .assets \ intern. Iată cum codul nu mai este folosit de nimeni altcineva, deși au discutat 100 de ori pe Internet, deoarece sunt atașați la IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile. Dacă aveți vreun cod, vă rugăm să îl postați? sau skinte prin e-mail [email protected]
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method.sslvTLSv1_2;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode.sslmUnassigned;
Bună ziua, prieteni. Spune-mi, există o opțiune în cheia de foc pentru a deschide formularul așa cum se arată în imaginea de mai jos? Dacă da, spune-mi ce cale să săpat. Mulțumesc.
Creez componenta cu eticheta de vizualizare în Editare, vezi fig.
La compilare apare încă o etichetă. Iar atunci când trageți un formular, nu puteți copia componenta finită - produce o eroare.
Spune-mi cum să scap de un duplicat.
T
tip TShowLabel = (Afișare, Ascundere); TEditVisualLabel = clasa (TEdit) TextLabel privat. TLabel; FloatVErt. TFloatAnimation; FloatSize. TFloatAnimation; FloatColor. TColorAnimation; FLabCAp. șir de caractere; funcția GetSHow: TShowLabel; Procedură SetShow (valoare; TShowLabel); funcția GetLabelCaption: șir; Procedură SetLabelCaption (Valoare, String); funcție GetLabelFontColor: TAlphaColor; Procedură SetLabelFontColor (Valoare, TAlphaColor); funcția GetStopValue. single; procedura SetStopValue (valoare unică); funcția GetStartValue: Single; procedura SetStartValue (valoare singulară); funcția GetStopFont: Single; procedura SetStopFont (valoare singulară); funcția GetStartFont: Single; procedura SetStartFont (valoare unică);
Acum, la pagina 6 utilizatori
Nu utilizatorii care vizualizează această pagină