cs_Jeanlouis
Messages postés3Date d'inscriptionvendredi 21 décembre 2001StatutMembreDernière intervention18 février 2003
-
21 déc. 2001 à 11:20
cs_Pascal06
Messages postés26Date d'inscriptionvendredi 23 novembre 2001StatutMembreDernière intervention 4 juillet 2017
-
22 déc. 2001 à 21:42
Bonjour,
J'aimerai savoir comment convertir ce programme qbasic en vb6?
Cls
Print " choisir le programme de conversion qui vous convient"
Print " -----------------------------------------------------------"
Print ""
Print "conversion base 10 vers base 2----nø1"
Print "conversion base 2 vers base 10----nø2"
Print "conversion base 16 vers base 10----nø3"
Print "conversion base 10 vers base 16----nø4"
Print "conversion base 8 vers base 10----nø5"
Print "conversion base 10 vers base 8----nø6"
INPUT "entrer le num‚ro de votre choix"; a
If a = 1 Then GoSub 1000
If a = 2 Then GoSub 2000
If a = 3 Then GoSub 3000
If a = 4 Then GoSub 4000
If a = 5 Then GoSub 5000
If a = 6 Then GoSub 6000
If a > 6 Then GoTo 1000
End
Rem--------------fin du programme principal--------------------------
Rem----------------------s/p1-----------------------------------------
1000
Dim r(30)
INPUT "entrer le nombre en base 10 … convertir"; n
i = 0
20 q = Int(n / 2)
r(i) = n - 2 * qIf q <> 0 Then n q: i i + 1: GoTo 20
For j = i To 0 Step -1
Print r(j);
Next j
Return
Rem--------------s/p2----------------------------------------------
2000
50 INPUT "entrer le nombre en base 2 … convertir"; n
i = 0
100 q = Int(n / 10)
r(i) = n - q * 10
If r(i) > 1 Then GoTo 50If q <> 0 Then n q: i i + 1: GoTo 100
s = 0
For j = i To 0 Step -1
s = s + r(j) * 2 ^ j
Next j
Print "le nombre en base 10 est:"; s
Return
Rem--------------s/p3-----------------------------------------------
3000
INPUT "entrer le nombre de rang(s) du nombre en base 16 … convertir"; n
s = 0
For x = 0 To n - 1
Print "entrer le chiffre de rang"; x
INPUT w$If w$ "0" Then w 0If w$ "1" Then w 1If w$ "2" Then w 2If w$ "3" Then w 3If w$ "4" Then w 4If w$ "5" Then w 5If w$ "6" Then w 6If w$ "7" Then w 7If w$ "8" Then w 8If w$ "9" Then w 9If w$ "A" Then w 10If w$ "B" Then w 11If w$ "C" Then w 12If w$ "D" Then w 13If w$ "E" Then w 14If w$ "F" Then w 15
s = s + w * 16 ^ x
Next x
Print "le nombre en base 10 est:"; s
Return
Rem------------------s/p4--------------------------------------
4000
INPUT "entrer le nombre en base 10 … convertir"; n
x = 0
30 q = Int(n / 16)
r(x) = n - q * 16If q <> 0 Then n q: x x + 1: GoTo 30
Print "le nombre en base 16 est:";
For y = x To 0 Step -1If r(y) 0 Then r$(y) "0"If r(y) 1 Then r$(y) "1"If r(y) 2 Then r$(y) "2"If r(y) 3 Then r$(y) "3"If r(y) 4 Then r$(y) "4"If r(y) 5 Then r$(y) "5"If r(y) 6 Then r$(y) "6"If r(y) 7 Then r$(y) "7"If r(y) 8 Then r$(y) "8"If r(y) 9 Then r$(y) "9"If r(y) 10 Then r$(y) "A"If r(y) 11 Then r$(y) "B"If r(y) 12 Then r$(y) "C"If r(y) 13 Then r$(y) "D"If r(y) 14 Then r$(y) "E"If r(y) 15 Then r$(y) "F"
Print r$(y);
Next y
Return
Rem-----------------------s/p5-----------------------------------
5000
70 INPUT "entrer le nombre en base 8 … convertir"; n
i = 0
60 q = Int(n / 10)
r(i) = n - q * 10If r(i) > 7 Then n q: i i + 1: GoTo 60
s = 0
For j = i To 0 Step -1
s = s + r(j) * 8 ^ j
Next j
Print "le nombre en base 10 est:"; s
Return
Rem---------------------s/p6-----------------------------------------
6000
Dim r2(30)
INPUT "entrer le nombre en base 10 … convertir"; n
i = 0
40 q = Int(n - 8)
r2(i) = n - 8 * qIf q <> 0 Then n q: i i + 1: GoTo 40
Print "le nombre en base octal est:";
For j = i To 0 Step -1
Print r2(j);
Next j
End
Neo.balastik
Messages postés796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 20097 21 déc. 2001 à 13:07
Salut,
Hélas, 'faudra quasi tout reprogrammer. Même si VB6 a gardé une syntaxe très similaire avec QB, VB6 est orienté objet et événementiel, ce qui change beaucoup de choses.
cs_Pascal06
Messages postés26Date d'inscriptionvendredi 23 novembre 2001StatutMembreDernière intervention 4 juillet 2017 22 déc. 2001 à 21:42
J'ai coller ça dans la procédure form_click mais
ce n'est pas une obligation l'important c'est que la feuille soit affichée avant d'écrire dessus, après il vaut mieux se servir de text box pour les saisies, c'est plus esthétique
Private Sub Form_Click()
debut:
Cls
Print " choisir le programme de conversion qui vous convient"
Print " -----------------------------------------------------------"
Print ""
Print "conversion base 10 vers base 2----n°1"
Print "conversion base 2 vers base 10----n°2"
Print "conversion base 16 vers base 10----n°3"
Print "conversion base 10 vers base 16----n°4"
Print "conversion base 8 vers base 10----n°5"
Print "conversion base 10 vers base 8----n°6"
10
a = InputBox("entrer le numéro de votre choix")
If a = "" Or a > 6 Then GoTo 10
If a = 1 Then GoSub 1000
If a = 2 Then GoSub 2000
If a = 3 Then GoSub 3000
If a = 4 Then GoSub 4000
If a = 5 Then GoSub 5000
If a = 6 Then GoSub 6000
If a > 6 Then GoTo 1000
rep = MsgBox("Voulez vous quitter", vbYesNo + vbQuestion)
If rep = vbYes Then End
GoTo debut
Rem--------------fin du programme principal--------------------------
Rem----------------------s/p1-----------------------------------------
1000
Dim r(30), rhexa(30)
n = InputBox("entrer le nombre en base 10 - convertir")
If n = "" Then GoTo 1000
i = 0
20 q = Int(n / 2)
r(i) = n - 2 * qIf q <> 0 Then n q: i i + 1: GoTo 20
For j = i To 0 Step -1
Print r(j);
Next j
Return
Rem--------------s/p2----------------------------------------------
2000
50 n = InputBox("entrer le nombre en base 2 - convertir")
i = 0
100 q = Int(n / 10)
r(i) = n - q * 10
If r(i) > 1 Then GoTo 50If q <> 0 Then n q: i i + 1: GoTo 100
s = 0
For j = i To 0 Step -1
s = s + r(j) * 2 ^ j
Next j
Print "le nombre en base 10 est: "; s
Return
Rem--------------s/p3-----------------------------------------------
3000
n = InputBox("entrer le nombre de rang(s) du nombre en base 16 - convertir")
If n = "" Then GoTo 3000
s = 0
For x = 0 To n - 1
3050
numhex = InputBox("entrer le chiffre de rang")
If numhex = "" Then GoTo 3050If numhex "0" Then w 0If numhex "1" Then w 1If numhex "2" Then w 2If numhex "3" Then w 3If numhex "4" Then w 4If numhex "5" Then w 5If numhex "6" Then w 6If numhex "7" Then w 7If numhex "8" Then w 8If numhex "9" Then w 9If numhex "A" Then w 10If numhex "B" Then w 11If numhex "C" Then w 12If numhex "D" Then w 13If numhex "E" Then w 14If numhex "F" Then w 15
s = s + w * 16 ^ x
Next x
Print "le nombre en base 10 est: "; s
Return
Rem------------------s/p4--------------------------------------
4000
n = InputBox("entrer le nombre en base 10 - convertir")
If n = "" Then GoTo 4000
x = 0
30 q = Int(n / 16)
r(x) = n - q * 16If q <> 0 Then n q: x x + 1: GoTo 30
Print "le nombre en base 16 est: ";
For y = x To 0 Step -1If r(y) 0 Then rhexa(y) "0"If r(y) 1 Then rhexa(y) "1"If r(y) 2 Then rhexa(y) "2"If r(y) 3 Then rhexa(y) "3"If r(y) 4 Then rhexa(y) "4"If r(y) 5 Then rhexa(y) "5"If r(y) 6 Then rhexa(y) "6"If r(y) 7 Then rhexa(y) "7"If r(y) 8 Then rhexa(y) "8"If r(y) 9 Then rhexa(y) "9"If r(y) 10 Then rhexa(y) "A"If r(y) 11 Then rhexa(y) "B"If r(y) 12 Then rhexa(y) "C"If r(y) 13 Then rhexa(y) "D"If r(y) 14 Then rhexa(y) "E"If r(y) 15 Then rhexa(y) "F"
Print rhexa(y);
Next y
Return
Rem-----------------------s/p5-----------------------------------
5000
70 n = InputBox("entrer le nombre en base 8 - convertir")
If n = "" Then GoTo 70
i = 0
60 q = Int(n / 10)
r(i) = n - q * 10If r(i) > 7 Then n q: i i + 1: GoTo 60
s = 0
For j = i To 0 Step -1
s = s + r(j) * 8 ^ j
Next j
Print "le nombre en base 10 est: "; s
Return
Rem---------------------s/p6-----------------------------------------
6000
Dim r2(30)
n = InputBox("entrer le nombre en base 10 - convertir")
If n = "" Then GoTo 6000
i = 0
40 q = Int(n - 8)
r2(i) = n - 8 * qIf q <> 0 Then n q: i i + 1: GoTo 40
Print "le nombre en base octal est: ";
For j = i To 0 Step -1
Print r2(j);
Next j
End