Bonjour Fekwx, Jai un tit question comment on peut convertir une chaîne en binaire avec windev. Merci Saad
J'ai trouvé ça en cherchant avec google mais Décimal vers Binaire et Binaire Vers Chaine. // Procédure globale VersBinaire : DECIMAL -> CHAINE de 010011 function VersBinaire(NOMBRE) ch est une chaine nb est un entier long nb = NOMBRE ch = "" tantque nb > 0 si modulo(nb,2) alors ch = "1" + ch sinon ch = "0" + ch fin nb = nb/2 fin renvoyer Ch // Procédure globale BinaireVersChaine : CHAINE de 010011 -> DECIMAL cBin est une chaine = CHAINEBINAIRE i est un entier j est un entier eDecimal est un entier eTemp est un entier pour i = taille (cBin) à 1 pas -1 eTemp = 2*val (cBin[[i à i]]) si eTemp alors eDecimal += puissance (eTemp,j) FIN j++ FIN renvoyer eDecimal sachant que ce code n'est pas à moi dont voiçi le site Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! salutations
Code (Windev): sTexteBrut est une chaîne = "windev" sTexteBinaire est une chaîne POUR i=1 _À_ Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sTexteBrut) nEntier est un entier = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sTexteBrut[i]) POUR j=8 _À_ 1 PAS -1 sTexteBinaire += nEntier[j] FIN FIN Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sTexteBinaire) Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sTexteBinaire)
MErci Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Mais cela ne marche pas. Ofais ils me faut convertir par ex: chaine Binaire a : 01000001 Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Wep man.. Sa marche...!!! Maintenant si je veux par exemple extraire tout le caractère de cette chaîne : MYWORLD m en binaire =01101101 y en binaire=01111001 puis faire une somme du binaire pouvez-vous me montrer la marche à suivre Merci SAAD
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! je le reçois dans ce format au lieu de dessous 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 BON Version format: 0000000001100001 0000000001100010 Code utilisé sTexteBrut est une chaîne = "ab" sTexteBinaire est une chaîne POUR i=1 _A_ Length(sTexteBrut) nEntier is int = Asc(sTexteBrut[]) POUR j=16 _A_ 1 PAS -1 sTexteBinaire += nEntier[j] EDT_Result+=nEntier[j] FIN FIN ToClipboard(sTexteBinaire)
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!, si tu veux addition deux "chaine binaire" Code (Windev): n est un entier = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!("01101101",2) m est un entier = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!("01111001",2) o est un entier = n+m sTexteBinaire est une chaîne POUR j=16 _À_ 1 PAS -1 sTexteBinaire += o[j] //EDT_Result+=nEntier[j] FIN Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sTexteBinaire) Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sTexteBinaire) A voir de ton côté si c'est bien le résultat attendu (la notion d'addition de bit peut être plus complexe ^^)...
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Super merci.. mais le code binaire sera généré comme ceci dans une chaîne, comment puis-je ajouter tous? Code utiler : CHar1 is string = Charact(1) CHar2 is string = Charact(2) CHar3 is string = Charact( CHar4 is string = Charact(4) FS is string = Charact(28) BufMbusWriteQuery is string BufMbusWriteQuery=CHar1+"000000099opera "+CHar2+FS+"05 FO_FI_RES_QUERY"+FS+"820"+CHar3+"0B56"+CHar4 sTexteBrut est une chaîne = "000000099opera "+CHar2+FS+"05 FO_FI_RES_QUERY"+FS+"820"+CHar3 //sTexteBrut est une chaîne = "ab" sTexteBinaire est une chaîne POUR i=1 _A_ Length(sTexteBrut) nEntier is int= Asc(sTexteBrut[]) POUR j=16 _A_ 1 PAS -1 sTexteBinaire += nEntier[j] EDT_Result+=nEntier[j] Checklen is string=Length(EDT_Result) IF Checklen =16 THEN EDT_Final+=CR+EDT_Result EDT_Total+=EDT_Result EDT_Result="" END FIN FIN 0000000000110000 0000000000110000 0000000000110000 0000000000110000 0000000000110000 0000000000110000 0000000000110000 0000000000111001 0000000000111001 0000000001101111 0000000001110000 0000000001100101 0000000001110010 0000000001100001 0000000000100000 0000000000100000 0000000000100000 0000000000100000 0000000000100000 0000000000100000 0000000000100000 0000000000100000 0000000000100000 0000000000100000 0000000000100000 0000000000000010 0000000000011100 0000000000110000 0000000000110101 0000000000100000 0000000001000110 0000000001001111 0000000001011111 0000000001000110 0000000001001001 0000000001011111 0000000001010010 0000000001000101 0000000001010011 0000000001011111 0000000001010001 0000000001010101 0000000001000101 0000000001010010 0000000001011001 0000000000011100 0000000000111000 0000000000110010 0000000000110000 0000000000000011
Si j'ai bien compris, tu veux additionner l'ensemble des lignes binaires en une seule? Voici ce que tu peux rajouter a la fin de ton code : Code (Windev): nTotal est un entier sChaineBinaireFinal est une chaîne POUR TOUT CHAÎNE sBinaire DE EDT_Final SEPAREE PAR RC nTotal += Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sBinaire[[9 À ]],2) // car 16 bit, sinon si 8 bit sBinaire seulement FIN POUR j=16 _À_ 1 PAS -1 sChaineBinaireFinal += nTotal[j] FIN Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sChaineBinaireFinal) Par contre la procédure final n'est pas optimisé (Pour optimiser, autant additionner dès le début la valeur des codes ASCII et ensuite générer la chaine binaire) Code (Windev): CHar1 is string = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(1) CHar2 is string = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(2) CHar3 is string = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(3) CHar4 is string = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(4) FS is string = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(28) BufMbusWriteQuery is string EDT_Result is string BufMbusWriteQuery=CHar1+"000000099opera "+CHar2+FS+"05 FO_FI_RES_QUERY"+FS+"820"+CHar3+"0B56"+CHar4 sTexteBrut est une chaîne = "000000099opera "+CHar2+FS+"05 FO_FI_RES_QUERY"+FS+"820"+CHar3 //sTexteBrut est une chaîne = "ab" sTexteBinaire est une chaîne nEntier is int POUR i=1 _À_ Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sTexteBrut) nEntier += Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sTexteBrut[i]) FIN POUR j=16 _À_ 1 PAS -1 sTexteBinaire += nEntier[j] EDT_Result+=nEntier[j] FIN Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(EDT_Result) Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(EDT_Result)
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Merci. ce que je voulais mainteant je dois juste convertir le resulta en ASCII-Hex. Existe-t-il un autre moyen de faire la séparation à la place en utilisant ce code? Checklen is string=Length(EDT_Result) IF Checklen =16 THEN EDT_Final+=CR+EDT_Result
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! je vais te déranger une fois de plus, Tu peut me dire un code pour convertir cela "0000101101010110" en hexadécimal ce qui devrait me donner "0B56" comme résultat Merci pour ton aide.. Saad
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! , il faut passer par le biais de la fonction "EntierVersHexa" Exemple : Code (Windev): sChaineBinaire est une chaîne = "0000101101010110" sChaineHexa est une chaîne nPosition est un entier = 1 TANTQUE nPosition<Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sChaineBinaire) nCodeASCII est un entier = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sChaineBinaire[[nPosition À nPosition+7]],2) sCodeHexa est une chaîne = Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(nCodeASCII,2),2) sChaineHexa += sCodeHexa nPosition+=8 FIN Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sChaineHexa) Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!(sChaineHexa)
Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens! Merci c'est toi le boss.. Est-il possible d'éliminer l'utilisation du edit contrôle et d'utiliser une variable à la place? CHar1 is string = Charact(1) CHar2 is string = Charact(2) CHar3 is string = Charact( CHar4 is string = Charact(4) FS is string = Charact(28) sTexteBrut est une chaîne = "000000099opera "+CHar2+FS+"05 FO_FI_RES_QUERY"+FS+"820"+CHar3 sTexteBinaire est une chaîne POUR i=1 _A_ Length(sTexteBrut) nEntier is int= Asc(sTexteBrut[]) POUR j=16 _A_ 1 PAS -1 sTexteBinaire += nEntier[j] EDT_Result+=nEntier[j] Checklen is string=Length(EDT_Result) IF Checklen =16 THEN EDT_Final+=CR+EDT_Result EDT_Result="" END FIN FIN nTotal est un entier sChaineBinaireFinal est une chaîne POUR TOUT CHAÎNE sBinaire DE EDT_Final SEPAREE PAR RC nTotal += Val(sBinaire[[9 A ]],2) // car 16 bit, sinon si 8 bit sBinaire seulement FIN POUR j=16 _A_ 1 PAS -1 sChaineBinaireFinal += nTotal[j] FIN sChaineBinaire est une chaîne = sChaineBinaireFinal sChaineHexa est une chaîne nPosition est un entier = 1 TANTQUE nPosition<Taille(sChaineBinaire) nCodeASCII est un entier = Val(sChaineBinaire[[nPosition A nPosition+7]],2) sCodeHexa est une chaîne = Droite(EntierVersHexa(nCodeASCII,2),2) sChaineHexa += sCodeHexa nPosition+=8 FIN Info(sChaineHexa)