SMSLibX

SMS per l'ufficio / SMS per sviluppatori software

 

 

SMS software for GSM modem/phones SMS Tutorials >

Inviare SMS da VB6 (Visual Basic 6)

 

Questo tutorial illustra come inviare e ricevere SMS da Visual Basic 6 (VB6), utilizzando il componente ActiveX SMSLibX (libreria DLL).

Il tutorial spiega come:

  • costruire passo per passo una nuova applicazione SMS in Visual Basic (VB6);
  • integrare invio/ricezione SMS su un'applicazione VB6 pre-esistente;
  • scaricare alcuni esempi SMS con codice sorgente VB6 pronti all'uso ed adattarli in base alle proprie esigenze.

 

L'ambiente di riferimento è Microsoft Visual Basic 6.
È richiesto un minimo grado di esperienza nella programmazione Visual Basic.

 

Installazione di SMSLibX

  1. Scarica ed installa SMSLibX sul tuo PC.
  2. (Opzionale) Scarica ed installa gli esempi di codice sorgente VB6.
  3. Connetti ed installa il tuo modem o telefono GSM sul tuo PC.
    Se non disponi di un modem/telefono GSM compatibile, puoi utilizzare SMSLibX in modalità di simulazione.

 

Integrazione di SMSLibX su VB6

  1. Creare un nuovo progetto Visual Basic (o aprirne uno esistente).
  2. Impostare un riferimento alla libreria SMSLibX (menu Progetto > Riferimenti).
    Se SMSLibX non è presente nell'elenco, aggiungerlo tramite il pulsante Sfoglia.
  3. Aprire o creare una nuova maschera (form) o un nuovo modulo di classe, quindi passare alla visualizzazione del codice (menu Visualizza > Codice).
    Si sconsiglia l'integrazione di SMSLibX all'interno di comuni moduli VB6 (.bas), in quanto questi ultimi non sono in grado di catturare gli eventi.

Ora siete pronti ad utilizzare gli oggetti e metodi esposti da SMSLibX nel vostro codice sorgente.

 

Inviare e ricevere SMS da VB6

Il seguente esempio di codice sorgente Visual Basic (VB6) può essere utilizzato all'interno di una form VB6 per l'invio e la ricezione di SMS. Con poche semplici modifiche, può essere utilizzato anche all'interno di una classe VB6.

La clausola WithEvents è essenziale per consentire di catturare gli eventi generati dall'oggetto SMSModem.

' Declare SMSModem object
Public WithEvents Modem As SMSModem


' Send SMS
Private Sub cmdSendMessage_Click()
	
  ' Open modem communication
  Set Modem = New SMSModem
  Modem.LogTrace = True
  Modem.OpenComm ModemType, ModemPort, , smsNotifyAll
	
  ' Send message
  Call Modem.SendTextMessage(PhoneNumber, MessageText)


End Sub


' Receive SMS by event
Private Sub Modem_MessageReceived(Message As SMSLibX.SMSDeliver)
  MsgBox "New message received from " & Message.Originator & ":" _
    & vbCrLf & vbCrLf & Message.Body, _
    vbInformation, "New message received"
End Sub
          

 

Utilizzare SMSLibX nel vostro ambiente VB6

Per una rapida introduzione all'uso di SMSLibX, raccomandiamo la sezione Quick start presente nell'Help di SMSLibX.

SMSLibX si integra perfattemante nell'ambiente di sviluppo Microsoft:

  • Per ottenere l'help contestuale su un oggetto/metodo SMSLibX selezionato nel codice, basta premere F1.
  • Per scorrere gli oggetti esposti da SMSLibX, aprire il Visualizzatore Oggetti (F2) e selezionare la libreria SMSLibX.
  • Mentre si scrive il codice basato su oggetti SMSLibX, è possibile utilizzare le funzioni di completamento automatico del codice (Ctrl+SPACE, Ctrl+J ecc.)

 

Esempi SMS con codice sorgente VB6 (Visual Basic 6)

È possibile scaricare i seguenti esempi di invio e ricezione SMS con codice sorgente in Visual Basic 6:

  • Example1
    Esempio minimale con invio SMS e ricezione SMS su evento.

  • Example2
    Esempio completo con utilizzo della maggior parte delle funzionalità di SMSLibX.
    Questo esempio è in realtà il codice sorgente originale della SMSLibX Test Utility distribuita con l'installazione di SMSLibX.

Entrambi gli esempi sono inizialmente configurati in modalità di simulazione (non inviano SMS reali).

Una volta testati sul vostro PC, potete configurarli per funzionare con il vostro modem/telefono GSM. Per far questo, aprite il codice sorgente della form principale (menu Visualizza > Codice) e modificate le voci 'TO DO'.

In caso di problemi vedere il paragrafo "Risoluzione dei problemi".

 

Eventi SMSLibX e programmazione VB6

Vi preghiamo di leggere queste note attentamente – sono fondamentali per una buona pratica di programmazione con SMSLibX!

 

MsgBox e ricezione messaggi SMS

Se la vostra applicazione VB6 visualizza MsgBox ed InputBox, si tenga conto che VB6 sopprime gli eventi relativi a timers, forms, controlli e componenti ActiveX mentre uno di questi dialoghi è aperto.
Gli eventi non vengono semplicemente posticipati, ma definitivamente soppressi (vedi Microsoft Knowledge Base, articolo 76557).

A causa di questo indesiderabile comportamento, durante l'apertura di una MsgBox la vs. applicazione potrebbe perdere gli eventi di notifica dei messaggi ricevuti - così come qualsiasi altro evento generato da SMSLibX.

Per aggirare il problema, consigliamo di possibile ridefinire la funzione MsgBox di VB6 utilizzando al suo posto la MessageBox API di Windows, la quale non sopprime alcun evento (vedi Microsoft Knowledge Base, articolo 76557 per dettagli).
Un esempio concreto di ridefinizione di MsgBox è disponibile nel codice di Example2.

 

Utilizzare DoEvents nei loops

Se la vostra applicazione VB6 esegue dei cicli su liste di messaggi da inviare, oppure implementa operazioni di lunga durata, si raccomanda di inserire nel ciclo un'istruzione DoEvents (o nelle altre operazioni di lunga durata).

Questo permetterà ad SMSlibX di continuare a gestire gli eventi in tempo reale (come ad es. la notifica dei messaggi ricevuti, dei rapporti di consegna e degli stati del modem).

Inoltre, è necessario che i listener degli eventi associati a SMSLibX (ovvero il codice che scrivete all'interno di una procedura di evento) non contenga operazioni di lunga durata, poiché SMSLibX fa affidamento sul medesimo thread di notifica eventi, per la ricezione e notifica di ulteriori messaggi.

 

Risoluzione dei problemi

 

Registrazione di SMSLibX

All'apertura degli esempi possono verificarsi alcuni errori dovuti alla mancata o scorretta registrazione di SMSLibX sul vostro sistema.

Se dovessero apparire i seguenti messaggi:

  1. [...]Impossibile trovare il progetto o la libreria...
  2. Il componente ActiveX non è in grado di creare l'oggetto...

procedere reimpostando il riferimento a SMSLibX, così come spiegato nella prima parte di questo tutorial.

 

Altri problemi su SMSLibX

Riferirsi alla sezione Risoluzione dei problemi dell'Help di SMSLibX.

NOTIZIE

SMS UTILI PER...

  • SMS per chi lavora

    - Gruppi di lavoro
    Mantieni il contatto con colleghi e clienti in mobilità tramite SMS.
    - Mobile marketing
    Rinnova la comunicazione verso il mercato utilizzando i messaggi SMS.

  • SMS per il pubblico servizio

    - Servizi ed associazioni
    Contatta sottoscrittori ed associati tramite SMS.
    - Studi commercialisti
    Ricorda tramite SMS adempimenti e scadenze.
    - Studi dentistici
    Invia un SMS di promemoria per gli appuntamenti.
    - Scuole ed Università
    Mantieni il contatto con studenti e genitori via SMS.

  • Usa gli SMS per...

FOCUS SU...

  • Le nostre soluzioni per inviare e ricevere SMS:

  • Mailing SMS da PC

    Creare una lista di messaggi SMS ed inviarla a multipli destinatari con SMSList.

  • SMS da siti web

    Come integrare SMSLibX nelle vostre pagine web (ASP o altre tecnologie server-side) per inviare e ricevere SMS dal vs. sito.

  • SMS da Excel e database Access

    Con SMSLibX aggiungi ai tuoi fogli Excel e database Access la capacità di inviare e ricevere SMS.

  • Altre soluzioni SMS...