Envoyer un sms avec PowerBuilder

Un truc sympa quand on veut communiquer sur certains événements comme des erreurs particulières, des actions menées par les utilisateurs, etc. c’est de pouvoir envoyer un sms -autrement dit texto – via un téléphone portable connecté au pc où tourne l’application, voire au serveur applicatif pour une architecture multi-tiers.

On va voir ici un bout de code très simple le permettant.

Avoir un téléphone avec modem intégré & reconnu.

Naturellement, une première condition est de disposer d’un cellulaire compatible ayant un modem intégré : c’est lui qui va être exploité pour l’envoi des sms.

Il sera reconnu par le système et se verra attribuer un port COM dédié par windows.

Dans notre exemple, il s’agit d’un Nokia X3-00 : appareil d’entrée de gamme faisant largement l’affaire, raccordé en usb ou par bluetooth. Les pilotes nécessaires sont trouvés facilement sur le net et installés sans problèmes particuliers.

Nokia X3-00

Un port com attribué au portable

 Fichier, tout est fichier !

Pour le reste, il s’agit de se souvenir que pour powerbuilder les ports COM sont des fichiers.

Un FileOpen suivi de FileWriteEx font donc merveilles pour “écrire dans le port” des commandes AT (HAYES) dictant au modem l’envoi d’un SMS.

Une fonction telle que celle-ci vous permet donc d’encoder le numéro de portable destinataire et le texte du message et le port COM dédié via ses arguments :

public function long of_sendsms (string as_gsm, string as_sms, string as_portcom);

integer li_FileNum
string  ls_End
string ls_Command

li_FileNum = FileOpen(as_portcom,TextMode!,Write!,LockWrite!,Append!)

if li_FileNum <> 1 then
MessageBox(“Application SMS” , “Impossible d’atteindre le port de communication : “+as_portcom)
return 0
Else
FileWriteEx(li_FileNum, “AT+CMGF=1″)
FileWriteEx(li_FileNum,”~n~r”)
ls_Command=”AT+CMGS=”
ls_Command+=”~””+as_gsm+”~””
FileWriteEx(li_FileNum, ls_Command)
FileWriteEx(li_FileNum, “~r”)
FileWriteEx(li_FileNum, as_sms)
ls_End = char(26)
FileWriteEx(li_FileNum,ls_End)
FileClose(li_FileNum)
messageBox(“Application SMS” , “SMS envoyé !”)
End If

return 1
end function

Bon Amusement !

A bientôt !

 

 

This entry was posted in PowerBuilder, PowerScript and tagged , , , . Bookmark the permalink.

One Response to Envoyer un sms avec PowerBuilder

  1. Pingback: Pourquoi j’ai quitté Lumia !? | le carnet de code

Leave a Reply

Your email address will not be published. Required fields are marked *