Jak aktivovat vstupní pole pro vložení ze schránky

Toto je hlavní technické fórum pro diskusi o problémech při vytváření PROMOTIC aplikací a jejich řešení.

Jak aktivovat vstupní pole pro vložení ze schránky

Postby batezip » Thu 10. Feb 2022 8:15:09

Dobrý den,

Mám čtečku čárových kódů bez průmyslové komunikace a potřeboval bych načítat kód tím, že budu neustále aktivovat vstupní okno PmgString a čtečka mi, po načtení kódu, vloží kód do tohoto okna i s enterem.

Dotaz tedy zní, lze nějak vstupní okno PmgString aktivovat pro vložení nebo zápis dat příkazem například při události onRefresh?

Předem děkuji.
Martin
Attachments
Promotic.png
Promotic.png (12.67 KiB) Viewed 9653 times
batezip
 
Posts: 5
Joined: Mon 04. Mar 2019 10:59:12

Re: Jak aktivovat vstupní pole pro vložení ze schránky

Postby Pavel Klimíček » Thu 10. Feb 2022 11:18:15

Dobrý den.
Lepší bude toto řešení:
Vytvořte si v aplikaci objekt PmaData a v něm založte proměnnou nazvanou "code" datového typu "string".
V obraze, ve Vašem objektu PmString, na kartě "Text" a v konfigurátoru "Hodnota" se vazbou PP napojte na proměnnou "code" v aplikaci.
Pak už jen stačí, když čtečka kódu bude přečtenou hodnotu zapisovat do proměnné "code".
Pomocí skriptu by to bylo takto:
Code: Select all
pMe.Pm("../Data/#vars/code").Value = hodnota ze čtečky


Nevím ale, jak bude aplikace komunikovat se čtecím zařízením.
Takže to může být také pomocí datového rozšíření v proměnné "code".
Pavel Klimíček
 
Posts: 73
Joined: Thu 13. Dec 2012 15:35:59

Re: Jak aktivovat vstupní pole pro vložení ze schránky

Postby batezip » Thu 10. Feb 2022 14:13:51

Právě ta čtečka nemá komunikaci, co bych mohl použít.
Ta čtečka běží na android systému a má vlastní displej. Počítám, že na ní budu spouštět webovou aplikaci promotic, který poběží někde na serveru a čtečka pokud načte kód, tak zafunguje jako klávesnice CTRL+V a do aktivního políčka v prohlížeči vloží načtený kód. A právě potřebuji nějak trvale skákat s ukazatelem do toho políčka.

Martin
batezip
 
Posts: 5
Joined: Mon 04. Mar 2019 10:59:12

Re: Jak aktivovat vstupní pole pro vložení ze schránky

Postby Kazimierz Heczko » Fri 11. Feb 2022 17:23:51

Dobrý den,
v tomto Vašem případě asi bude lepší použít jiný grafický objekt, konkrétně jde o PmgWEdit. Důvod je ten, že pokud se tomuto objektu nastaví fokus tak hned přejde do editačního režimu, kdežto objekt PmgString do editačního řežimu musí přepnout operátor buď klávesou Enter nebo mezerníkem i po získání fokusu.
Fokus se dá nastavit ve skriptu takto:
Code: Select all
pMe.Items("/edit0").Focus = true;

A ještě jedna věc. Tento skript nevolejte v události onPanelStartEnd příslušného panelu, ale např. v události onRefresh daného panelu (pokud by jste to chtěl provádět cyklicky) nebo třeba pomocí vlastní funkce, kterou z události onPanelStartEnd zavoláte pomocí metody AddEventTimer (při jednorázovém provedení). Výsledný skript by mohl vypadat takto:
Code: Select all
pMe.Root.AddEventTimer(1, 1, pMe.GetPathName(), onTick);
function onTick()
{
   pMe.Items("/edit0").Focus = true;
}

Bohužel, když zkusíte fokus nastavit přímo v události onPanelStartEnd tak vybaný editbox bohužel nepřejde do editačního režimu.
K. Heczko
Kazimierz Heczko
 
Posts: 68
Joined: Thu 13. Dec 2012 9:28:56

Re: Jak aktivovat vstupní pole pro vložení ze schránky

Postby batezip » Sat 12. Feb 2022 14:52:48

Perfektní, to je ono.

Děkuji ;)
batezip
 
Posts: 5
Joined: Mon 04. Mar 2019 10:59:12


Return to Nevím jak...

Who is online

Users browsing this forum: No registered users and 2 guests