Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dvije tastature (sa koje dolaze podaci) - Delphi

[es] :: Pascal / Delphi / Kylix :: Dvije tastature (sa koje dolaze podaci) - Delphi

[ Pregleda: 2990 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

commodore
tu i tamo

Član broj: 274127
Poruke: 19
62.113.14.*



Profil

icon Dvije tastature (sa koje dolaze podaci) - Delphi23.06.2012. u 01:11 - pre 143 meseci
Ko zna njemu dva...


Ovo kako stoje stvari:

Jedan računar, dvije tatstature (ono drugo i nije tastatura nego USB Reader koji se ponaša kao tastatura (da nebi bilo zabune) ili recimo Bar kod čitač, a u stvari čita kartice).
U device manager-u se vidi kao USB HID device.

Imam urađenu aplikaciju za drugu vrstu čitača (Uz koji sam dobio demo program za Delphi 7) i sve je OK (Čitač se ne ponaša kao tastatura). Aplikacija radi u pozadini i vidljiva je u Tray Bar-u dok ne zatreba (zbog izvještaja..).

Eh sada je nastupio problem. Dobio sam nove čitače kartica (čitaj jeftinije) ali rade kao druga tastatura.

Ono što meni treba je da moja aplikacija koja je u pozadini, prepozna da podaci dolaze sa te druge "tastature", da ih uzme sebi i obrađuje, a kada se kuca na "prvoj" tastaturi (i radi npr u Wordu) da ova druga ne smeta.

Tražio sam i tražio, i sve što sam našao NE RADI... greške u kodu ili nešto drugo fali....

Ako neko može, a uz to i hoće da pomogne... bio bih PUUUNNNOOOO zahvalan, a ako niko ne pomogne, imam nekih čitača kartica pa ako kome treba... da ne bacam...





 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi23.06.2012. u 10:08 - pre 143 meseci
> Ono što meni treba je da moja aplikacija koja je u pozadini, prepozna da podaci dolaze sa te druge "tastature", da ih uzme sebi i obrađuje,

Druga tastatura je neki barcod reader? Šta ta druga tastatura šalje, slova i brojeve? Ako očitane podatke pošalje brzo (za manje od recimo 200ms) onda možeš tako razlučiti odakle dolazi sadržaj, osim toga barkodovi obično imaju određeni format koji se prepoznaje.


> a kada se kuca na "prvoj" tastaturi (i radi npr u Wordu) da ova druga ne smeta.

Želiš da se to očitano uopšte i ne pojavljuje u windows programima već da samo ti obrađuješ? Onda moraš praviti globalni keyboard hook, to možeš jedino u dllu uraditi.
Pogledaj SetWindowsHookEx sa WH_KEYBOARD parametrom, mislim da je ovde ranije bilo primera.
 
Odgovor na temu

salaczr

Član broj: 160654
Poruke: 103
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi23.06.2012. u 18:47 - pre 143 meseci
Prema mom dosadasnjem iskustvu BarCode citaci salju #13(Enter) na kraju stringa.
Mozda ti to pomogne.

pozdrav
 
Odgovor na temu

commodore
tu i tamo

Član broj: 274127
Poruke: 19
31.176.130.*



Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi23.06.2012. u 20:50 - pre 143 meseci
@salaczr:

Nisi pročitao moje pitanje, u svakom slucaju HVALA!

@savkic:

>Druga tastatura je neki barcod reader? Šta ta druga tastatura šalje, slova i brojeve? Ako očitane podatke pošalje brzo (za manje od recimo 200ms) onda možeš tako razlučiti odakle dolazi sadržaj, osim toga barkodovi obično imaju određeni format koji se prepoznaje.

Svejedno šta šalje (sve što i tastatura kombinaciju brojeva i znakova i na kraju enter), a što se tiče brzine, čak i ako skontam, to mi ne pomaže ako moja aplikacija nije u fokusu...A u konkretnom slučaju nije.


>Želiš da se to očitano uopšte i ne pojavljuje u windows programima već da samo ti obrađuješ? Onda moraš praviti globalni keyboard hook, to možeš jedino u dllu uraditi.
Pogledaj SetWindowsHookEx sa WH_KEYBOARD parametrom, mislim da je ovde ranije bilo primera.

To je to... ALI.... veliko ALI... Nisam low level programer... stručniji sam iz oblasti za koju razvijam aplikacije nego iz programiranja, dovoljno mi je da znam "baratati" bazom i kreirati izvještaje, no sada mi je zatrebalo i ovo.

Primjera ima na ovom forumu ali sa onim što sam uradio nisam postigao željeno, naime, iako dočekam znak sa tastature, nemam pojma sa koje je došao. Osim toga dll se kreira kako treba no kada upotrijebim nešto iz istog, prijavi neku grešku, ali ipak obavi traženo (recimo slovo "a" ili "0" premejsti u ne fokusiran Edit dok ostalo pili u fokusiranu komponentu). Takođe kada aplikacija nije u fokusu, ne dešava se ništa, dakle nije globalni keyboard hook.

Shvatio si šta mi treba, ali da li postoji mogućnost da mi konkretnije pomogneš. U svakom slučaju po onom što sam i ranije našao na netu, uputio si me u pravom pravcu i puno sam ti zahvalan!!!
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi23.06.2012. u 23:47 - pre 143 meseci
> Svejedno šta šalje (sve što i tastatura kombinaciju brojeva i znakova i na kraju enter), a što se tiče brzine, čak i ako skontam, to mi ne pomaže ako moja aplikacija

Vrlo je bitno šta šalje, možda daje specifični scanCode što ti može biti dovoljno da prepoznaš pošiljaoca. Vrsta karaktera i vreme slanja tj. vreme između dva karaktera ti može biti signal za detekciju. Ti možeš imati i dva hooka, prvi sa WH_KEYBOARD_LL a drugi sa WH_KEYBOARD, ako u prvom ne možeš odlučiti da li karakter treba filtrirati onda to možeš učiniti u drugom.

> Shvatio si šta mi treba, ali da li postoji mogućnost da mi konkretnije pomogneš. U svakom slučaju po onom što sam i ranije našao na netu, uputio si me u pravom

Ne znam gde si zaglavio, globalni hook se instalira na određeni način iz neke obične aplikacije dok je sam hook kod u dllu, verovatno nešto nisi dobro registrovao ili napisao.


 
Odgovor na temu

commodore
tu i tamo

Član broj: 274127
Poruke: 19
31.176.130.*



Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi24.06.2012. u 00:13 - pre 143 meseci
Ipak koristim RAW INPUT jer sam skinuo neki demo program koji radi baš ono što hoću, ali na žalost nije pisan u DELPHIju. Sa druge strane "naletio" sam na neke primjere u DELPHI-ju u vezi sa RAW INPUT pa polako slažem kockice. (Kada registrujem RAW INPUT Application.Handle javlja se i Kasperski ?!?!? (Allowed!))

Evo ti link pa skini aplikacijicu (.exe) pa vidi kako lijepo radi...
http://www.codeproject.com/Art...-C-to-handle-multiple-keyboard
Mislim da je na ovoj stranici na drugom download linku .exe verzija ... par Kb...

Ne treba DLL za ovaj način, a baš lijepo radi i kada je u pozadini, ma baš ono što mi treba.


Za ono "šta šalje" .... mislio sam: Nije mi bitno šta šalje ako ne "prolazi" kroz moju aplikaciju kada je ista u pozadini...

HVALA PUNO, pa javim ako "razvalim"... odo na spavanje, pozzz
 
Odgovor na temu

Rapaic Rajko
Bgd

Član broj: 4105
Poruke: 810
134.90.129.*



+62 Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi25.06.2012. u 09:26 - pre 143 meseci
Prema nekom mom ranijem iskustvu, i format/sadrzaj koji salje bar code reader se moze podesavati; obicno ide neka mala setup aplikacija uz driver za isti. Ako napucas po jedan kontrolni karakter na pocetku i kraju stringa, resio si problem..(?)

Pozz
 
Odgovor na temu

commodore
tu i tamo

Član broj: 274127
Poruke: 19
62.113.14.*



Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi26.06.2012. u 21:21 - pre 143 meseci
@Rajko:
U pitanju je cad reader (isto da je i bar code reader) koji nema driver (sem WIN kao i barcode), a kvaka je u tome da moja aplikacije nije u fokusu kada se sa reader-a citaju podaci. Moram podatke presresti prije windowsa, ako su sa reader-a obraditi u svojoj aplikaciji (bez da ih proslijedim windowsima) a ako su sa tastature "dati" ih windowsima.
Kupio sam 7 dana vremena, imam drugih obaveza, ali cu da rijesim akoBogda... Hvala na javljanju.
 
Odgovor na temu

salaczr

Član broj: 160654
Poruke: 103
*.dynamic.isp.telekom.rs.



+5 Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi27.06.2012. u 08:31 - pre 143 meseci
Tebi je potreban globalni keyboard hook. Na ovoj adresi ces naci nacin kako da uradis to:
http://archive.cnblogs.com/a/2251797/
Nije ti potreban dll, jedino sto moze biti problem je koriscenje Hook-a iz service-a, jer u Vista+ windows-ima service ima izolovanu sesiju 0 i nema interakciju sa desktopom, pod XP-om bi trebalo da radi.
Sa ovim kodom mozes da hvatas sve sa tastature ostaje ti samo da odredis odakle dolazi i da li da ga prosledis windows-u ili da ga ti obradis.

pozdrav
 
Odgovor na temu

commodore
tu i tamo

Član broj: 274127
Poruke: 19
62.113.14.*



Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi08.07.2012. u 01:34 - pre 142 meseci
Konačno riješeno,

IPAK RAW INPUT i pomoć sa ovog linka

http://www.delphipages.com/forum/archive/index.php/t-163486.html

HVALA SVIMA NA POMOĆI
 
Odgovor na temu

commodore
tu i tamo

Član broj: 274127
Poruke: 19
62.113.12.*



Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi17.07.2012. u 22:19 - pre 142 meseci
ISPRAVKA

Nisam žurio, i istini za volju tek sam sad (bukvalno sad) zavrsio.

Iako sam sa RAW INPUT na prvi pogled mislio da je problem riješen, sa samim RAW INPUT-om nisam mogao zadržati očitane podatke sa RF čitača samo u svojoj aplikaciji.
(Čitaj: Nisam znao - ako je uopste moguce)
S druge strane, preko key hook-a nikako nisam mogao skontati kako da odredim sa koje tastature (čitača) dolaze podaci.

RAW INPUT mi "kaže" koja tastatura šalje podatke i tada startam key hook (ako je u pitanju čitač i naravno u pitanju je DLL u kom je key hook) i podaci ostaju samo u mojoj aplikaciji, ako nije podatak sa čitača stopiram key hook (za svaki key up or key down).


Ključno je bilo startati key hook nakon što raw input odredi koja je tastatura u pitanju, svi drugi pokušaji bili su pogrešni.


Spasio sam kamaricu jeftinih RF čitača i iduće sedmice implementiram (Čitaj: Naplaćujem).

Ako kome treba source neka javi, ostavio sam uključeno praćenje teme.

POzz svima...
 
Odgovor na temu

dbabic
Davor Babić

Član broj: 31834
Poruke: 51
*.dynamic.isp.telekom.rs.



+2 Profil

icon Re: Dvije tastature (sa koje dolaze podaci) - Delphi17.04.2016. u 11:13 - pre 96 meseci
Ajao baš bi mi trebao taj source. Može download link?
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Dvije tastature (sa koje dolaze podaci) - Delphi

[ Pregleda: 2990 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.