Newsgroup: it.comp.lang.visual-basic
Titolo: Rilevare il Carrier Detect

Salve a tutti i frequentatori,
vorrei sapere come posso fare per vedere quando il CD del modem e'
acceso (ovviamente a parte guardare la lucina 8-))
Ciao,
      Hidaba
Il Ronzino Volante
  The Flyng Nag
--------------------------------------------
E-Mail : 
n...@geocities.com
Home Page : 
http://www.geocities.com/bourbonstreet/2926/
------------------------------------------

 acceso (ovviamente a parte guardare la lucina 8-))
 
Se proprio non vuoi guardare la lucina, prova con questo (Utilizzo il
control MSComm) : :-))
CDHolding Property
Description 
Determines whether the carrier is present by querying the state of the
Carrier Detect (CD) line. Carrier Detect is a signal sent from a modem to
the attached computer to indicate that the modem is online. This property
is not available at design time and is read-only at run time. 
Syntax
[form.]MSComm.CDHolding 
Remarks
The following table lists the CDHolding property settings for the
communications control. 
Setting 
Description 
True 
Carrier Detect line is high. 
False 
Carrier Detect line is low. 
When the Carrier Detect line is high (CDHolding = True) and the CDTimeout
number of milliseconds has passed, the communications control sets the
CommEvent property to CDTO (Carrier Detect Timeout Error), and generates
the OnComm event. 
Note It is especially important to trap a loss of the carrier in a host
application, such as a bulletin board, because the caller can hang up
(dropping the carrier) at any time. 
The Carrier Detect is also known as the Receive Line Signal Detect (RLSD). 
See the CDTimeout property for information on trapping this condition using
the OnComm event. 
Data Type
Integer (Boolean) 

------------------------------------------
In un programmino di terminale usavo delle picture grigie o
rosse inserite in un frame e favevano proprio una bella scena :)
Se al posto di accendere o spegnere (!)  le picture
setti una variabile...
Inserisci un timer e settalo a quanti millisecondi vuoi
tenendo presente che, così come la vedi, la routine di rilevamento
scatta ogni 8*ms unità di tempo:
Private Sub Timer1_Timer()
Static count As Integer
   count = count + 1
   If count > 8 Then count = 1
   picDTR(0).Visible = Not (mscomm1.DTREnable)
   picDTR(1).Visible = mscomm1.DTREnable
   picCTS(0).Visible = Not (mscomm1.CTSHolding)
   picCTS(1).Visible = mscomm1.CTSHolding
   picDSR(0).Visible = Not (mscomm1.DSRHolding)
   picDSR(1).Visible = mscomm1.DSRHolding
   picRTS(0).Visible = Not (mscomm1.RTSEnable)
   picRTS(1).Visible = mscomm1.RTSEnable
   picCD(0).Visible = Not (mscomm1.CDHolding)
   picCD(1).Visible = mscomm1.CDHolding
   If count Mod 8 = 0 Then
    If mscomm1.CDHolding = True Then
      status1.Panels(1).Text = "Connesso"
      ' status1.Panels(5).Text = "T.d.c.: " & Format(tdc, "hh.mm.ss")
     Else
      status1.Panels(1).Text = "Disconnesso"
   End If
 
   End If
End Sub
Se sono stato poco chiaro (leggi: incasinato) scrivimi
Ciao
******************************
Fausto  -  
REMOVE...@lo.itline.it
******************************

gva...@lo.itline.it
 wrote:

Funziona se faccio tutto dall'interno dello stesso programma
cioe' se faccio prima 
mscomm.portopent=true
mscomm.output="atdt+numero" ecc.....
e poi 
 If mscomm1.CDHolding = True Then
   status1.Panels(1).Text = "Connesso ecc....
Ma se io voglio testare il CD che per esempio e' causato da un
programma diverso da quello in cui c'e' il test sull CDHolding come si
fa? Per fare un esempio basta pensare ad un contaCiao e grazie.scatti
che parte al rilevamento del CD. io ho provato ma senza successo!
Qualche suggerimento? mi sono perso qualche impostazione?
Ciao e grazie

CDHolding Property
E' possibile invece usare le API? Se si, quali sono quelle da
considerare?
Ciao.

Pleaze aiutate anche me! Ho lo stesso problema!! Usando MSCOMM da Visual
Basic stesso,va tutto bene,ma se la porta com e' stata aperta da un altro
programma il Visual Basic se ne esce fuori con messaggi tipo: COM Port is
not opened (mentre in realta' programmi come Accesso Remoto l'hanno gia'
aperta!)
Qualcuno mi aiuti! Vorrei realizzare un contascatti FREEWARE. Ho letto di
un'api
GetCommModemStatus mi pare,ma i parametri (come tutte le Api di win) sono
un casino totale,qualcuno di voi ha una soluzione?