Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > WinDev
WinDev Forum d'entraide sur la programmation en WinDev
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/06/2012, 10h30   #1
GiGii
Membre actif
 
Homme Gerem
Développeur informatique
Inscription : février 2011
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Gerem
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2011
Messages : 146
Points : 166
Points : 166
Par défaut Cadeau PDU Mode SMS

Bonjour à tous, j'ai récemment travaillé sur le mode PDU.. Pour ceux qui ne savent pas ce que c'est, c'est le mode de cryptage d'informations pour envoyer un SMS.. Le but est d'envoyer un sms à partir de son ordinateur

Je vais essayer d'être assez clair dans mes explications

Chaque lettre avant d'être envoyé est :
- remplacée par sa valeur ASCII
- Ensuite traduite en Binaire mais sur 7 bits
- Ensuite traduire le binaire 7 bits sur une base 7 de 8 bits (et c'est la que c'est drôle ^^ )
- Pour finalement le traduire en Hexadécimal et envoyé l'infos.

Les sources :
http://www.dreamfabric.com/sms/ (pour l'envoi complet d'un sms)
http://www.dreamfabric.com/sms/hello.html (pour la base 7 sur 8 bits)

En principe mon code est prévu pour que peu importe la taille du sms il passe.. Je n'ai pas encore su faire TOUT les tests.. Mais il semble plus que correct. Et par solidarité je vais le poster non pas pour ceux qui seront fainéant de le faire un jour, mais pour ceux qui après de longues recherches auront trouvés que très peu d'infos utiles..

(Veuillez excuser si par endroit il n'est pas le plus optimisé des codes mais s'y retrouver n'était pas une mince affaire ^^)

la partie conversion de l'ascii au binaire ne sera pas présentée car elle est en soi assez simple ^^

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
sChai1, sChai2, sChai3, sChai4 sont des chaîne ANSI
i, nDim1, k, j, m est un entier = 0
nTest est un entier 
nCompt,nCompt2 est un entier
nDim1 = (Taille(LIB_Bin)/7)
tab1 est un tableau de nDim1 chaînes ANSI
tab2 est un tableau de nDim1 chaînes ANSI

LIB_Hexa = ""
POUR i = 0 _A_ nDim1
	// On va lire les 7 bits
	sChai1 = Lecture7Bit(i)
	// On tronque les M bits à droites
	sChai2 = TruncD(sChai1, m)
	// On tronque les M bits à gauche
	sChai3 = TruncG(sChai1, m)

	nTest = modulo(i,8)
	SI nTest = 0 ALORS
		m = 0
	FIN
	m++
	
	SI i <> 0 ALORS
			j++
			tab2[j] = sChai2	
	FIN
	k++
		SI k < nDim1+1 ALORS
				tab1[k] = sChai3 
		FIN
FIN
POUR i = 1 _A_ nDim1
	SI i+1 <= nDim1 ALORS
		SI tab1[i+1] <> EOT  ALORS
			sChai4 += tab2[i] + tab1[i]
		SINON
			sChai4 += tab2[i+1] + tab2[i]
			tab1[i+1] = ""
			tab2[i+1] = ""
		FIN
	SINON
		sChai4 += tab2[i] + tab1[i]
	FIN
FIN
//Affiche résultat
LIB_B7 = sChai4

nCompt = Taille(sChai4)
nCompt = nCompt/ 8
nCompt2= modulo(Taille(sChai4),8)

proc_Hexa(nCompt,nCompt2)
La procédure lecture7bits
Code :
1
2
3
4
5
6
sLChaine est une chaîne = LIB_Bin
sResul est une chaîne ANSI

sResul = Milieu(sLChaine, (Ind*7 + 1), 7)

RENVOYER sResul
La procédure truncD
Code :
1
2
3
4
sMResult est une chaîne ANSI

sMResult = Droite(mChaine, Ind)
RENVOYER sMResult
La procédure truncG
Code :
1
2
3
4
5
sDResult est une chaîne ANSI

sDResult = Gauche(dChaine, (7 - Ind))

RENVOYER sDResult
Et enfin la dernière proc_Hexa
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
nInd est un entier = 0
nTemp est un entier
nTemp2 est un entier


POUR i = 1 _A_ nCompt
	nTemp = Milieu(LIB_B7,(nInd*8 +1),8)
	nTemp2 = Val(nTemp,2)
	LIB_Hexa+= Droite(EntierVersHexa(nTemp2),2)
	nInd ++
FIN
nTemp = Droite(LIB_B7,ncompt2)
nTemp2 = Val(nTemp,2)
LIB_Hexa += Droite(EntierVersHexa(nTemp2),2)

Pour ceux qui ont des questions je suis dispo pour vous répondre, pour ceux qui ont des suggestions je suis tout ouïe..

Je le répète il est vérifié à 98% .. L'envoi complet de sms n'est pas encore finalisé et la simbox pas encore reçue ^^


J'espère que ce tuto vous sera très utile.


Bonne continuation à tous, et long vie à ce forum !
__________________
Bon Dev
La touche F1 est proche de vous !
Oubliez pas de voter
GiGii est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 27/06/2012, 10h34   #2
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
Merci pour ce tuto. Néanmoins, tu aurais du le mettre dans la rubrique "contribuez".
__________________
Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
Pas de question par MP s'il vous plait. Le forum est fait pour cela...

Make it real not fantasy
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/06/2012, 10h37   #3
GiGii
Membre actif
 
Homme Gerem
Développeur informatique
Inscription : février 2011
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Gerem
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2011
Messages : 146
Points : 166
Points : 166
oups j'ai cherché dans le cadre juste en dessous.. Je vais voir pour le déplacer alors. Merci bien
__________________
Bon Dev
La touche F1 est proche de vous !
Oubliez pas de voter
GiGii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2012, 10h57   #4
frenchsting
Expert Confirmé
 
Avatar de frenchsting
 
Homme Claude
Développeur informatique
Inscription : juin 2003
Messages : 1 806
Détails du profil
Informations personnelles :
Nom : Homme Claude
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juin 2003
Messages : 1 806
Points : 3 151
Points : 3 151
Y'a pas de mal
Demande à un modérateur, ça sera plus simple, je pense.
__________________
Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
Pas de question par MP s'il vous plait. Le forum est fait pour cela...

Make it real not fantasy
frenchsting est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/06/2012, 11h10   #5
hehehe
Membre du Club
 
Inscription : janvier 2008
Messages : 55
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 55
Points : 52
Points : 52
remarque un peu "light", c'est quoi une simbox, et à quoi sert ta précieuse contribution?

merci
hehehe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2012, 11h35   #6
GiGii
Membre actif
 
Homme Gerem
Développeur informatique
Inscription : février 2011
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Gerem
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2011
Messages : 146
Points : 166
Points : 166
Simbox est une plate-forme logicielle basée sur PC offrant la possibilité de créer, modifier, gérer et déployer du contenu basée sur la simulation - avions, voitures, bateaux, armes, matériel d'apprentissage électronique et plus - à travers une multitude de domaines, tels que la formation, la recherche & développement, les opérations d'analyse et de divertissement.

En somme elle va permettre d'envoyer des SMS à partir du pc..

L'ordinateur communique un SMS à la Simbox et lui l'envoie vers le centre de messagerie qui enverra le message au destinataire souhaité.

Ma contribution servira à tout ceux qui auront besoin d'envoyer des SMS à partir d'un pc..

Cela évitera de se prendre la tête à décortiquer chaque démarche à faire pour codifier le SMS.
__________________
Bon Dev
La touche F1 est proche de vous !
Oubliez pas de voter
GiGii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2013, 23h24   #7
TANITE
Invité de passage
 
Homme
Inscription : juin 2012
Messages : 33
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2012
Messages : 33
Points : 1
Points : 1
Salut à tous,

Je relance ce topic car il me semble que j'ai un petit problème pour envoyer un SMS en multi partie

En fait, selon ce topic : http://hiteshagja.com/send-long-sms/ pour envoyer un SMS en multi-partie il faudra passer par deux étapes :
1) L'ajout de UDH
2) Ajout d'un bit de padding pour l'encodage 7bits PDU

Mon problème c'est comment ajouter ce bit de padding dans le code de GiGii

Merci à tous
TANITE est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h34.


 
 
 
 
Partenaires

Hébergement Web