[ sinke @ 21.07.2008. 14:27 ] @
Pozdrav,

Kako mogu da citam podatke sa serijskog porta u neko txt-polje ? Zapravo potrebna mi je mogucnost slusanja porta. Uredjaj koji se kaci na pomenuti port je vaga koja samo salje podatak o trenutnoj tezini.
Na netu sam gledao ali nigde nisam pronasao nista konkretno, pa ako je neko radio bilo bi lepo da pomogne.
Da li mogu da slusam port a da ga ne otvorim ? Ovo pitam zato sto sam skinuo neki program koji se zove Serial Port Monitor koji moze da slusa i salje podatke na serijski port. Kad ja iz moje aplikacije posaljem nesto na port taj program prepozna to i ispise rec koja je poslata ali kad zelim nesto sa tog programa da posaljem na port on mi javlja da neki program (moja aplikacija) koristi vec taj port i da ne moze da ga otvori. Znaci meni treba sad obrnuto, da ja iz tog programa (koji koristim u zamenu za vagu) posaljem nesto na port a da moja aplikacija samo to procita.
Uradio sam to na sledeci nacin:

Putem dugmeta kreiram ole objekat i setujem na commport 1 i otvaram port
BEGIN

:global.CommHandle := OLE2.Create_Obj('MSCOMMLib.MSComm');

OLE2.SET_PROPERTY(to_number(:global.commhandle), 'CommPort', 1);

OLE2.SET_PROPERTY(to_number(:global.commhandle), 'Settings', '9600,N,8,1');

OLE2.SET_PROPERTY(to_number(:global.commhandle), 'PortOpen', -1);
end;

Drugim dugmetom kreiram tajmer gde na svakih 100 milisekundi proveravam da li port salje nesto odnosno
na triger when_timer_expired radi sledece:

:block1.ulaz:=:block1.ulaz|| ole2.get_char_property(to_number(:global.commhandle),'Input');
synchronize;

Slanje na port radim dugmetom gde pre toga ispisem text koji saljem i stiskom na dugme radi sledece:
OLE2.SET_PROPERTY(to_number(:global.commhandle), 'Output', :block1.IZLAZ || chr(13));


Znaci slanje na port radi ali meni treba slusanje porta tj. da li mogu nekako da slusam port i da ucitavam ono sto salje taj drugi program.
[ Raspucin @ 22.07.2008. 08:05 ] @
Može da se uradi, ali ne direktno iz PL/SQL-a (koliko je meni poznato). Moraće nešto koda da se napiše u C-u ili Javi a taj kod posle lako možeš da pozivaš dalje.

Prost primer za Javu imaš ovde:

http://java.sun.com/developer/releases/javacomm/SimpleRead.java

a dokumentaciju za to ovde:

http://java.sun.com/products/javacomm/


Pozdrav.
[ sinke @ 24.07.2008. 07:38 ] @
Hvala na odgovoru.
Nije me bas utesilo ali sta da se radi. Mada nisam napomenuo ali kod koji sam poslao radi sa modemom. Meni je modem na com3 i kad posaljem komandu AT dobijem odgovor OK. Ali kad je u pitanju com1 i slanje podataka iz drugog programa nije mi radilo.