Čtečky kódů jsou v Power Apps skvěle podporované.
Máte dvě cesty (vzájemně se nevylučující) jak s nimi pracovat:
- můžete použít komponentu BarcodeReader (hlavně pro použití na mobilech),
- nebo externí čtečku, která čte text a zapisuje ho do textového pole.
Problém nastává v něčem, kde byste ho možná nečekali. Když totiž kód načtete, nic se nestane. Jenomže vy často potřebujete udělat něco jako “když se kód načte, tak ho někam ulož, někam jdi atd.”
- U BarcodeReaderu je to v pohodě. Ten má vlastnost OnScan, a tam můžete definovat jakoukoliv akci.
- Externí čtečka tohle ale neumí. Ta vám kód zapíše do běžného TextInputu, ale dál se nic nestane. Jasně, můžete textovému vstupu nadefinovat OnChange, ale to si pomůžete jen trochu – uživatel pak bude muset po načtení kódu ještě kliknout někam mimo políčko, aby se akce stala. A to je pro uživatele nepříjemné.
Takže jak zařídit, aby se nějaká akce stala hned po vyplnění textového pole, bez nutnosti jakékoliv další interakce?
Použijete Timer, který bude sledovat hodnoty v poli, ukládat je do proměnné, a při změně spustí akci.
Jak ho nastavit?
- AutoStart: =true
- Duration: =1000
- OnTimerStart: =Set(my_var,TextInput1.Text)
- OnTimerEnd: =If(my_var<>TextInput1.Text,here is your action)

