begin process at 2012 02 13 13:27:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Convertir VB6 en C++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Convertir VB6 en C++

mardi 22 juillet 2008 à 15:52:17 | Convertir VB6 en C++

Tybbow

Bonjour, j'aimerais convertir un code créé en VB6 vers le C++, malheureusement, je n'y connais rien en C++, j'ai essayé de trouver des logiciels, mais aucun n'est fiable à 100%. J'aurais voulu une peu d'aide, merci!

[code]Option Explicit: Option Base 1
Sub calculs(): Unload Form1: Dim n As Integer, fs As Object, a As String: n = Form1.n: a = Right("000" & CStr(n), 3)
Set fs = CreateObject("Scripting.FileSystemObject"): If fs.folderexists("c:\Test\hyperplan\" & a) Then MsgBox ("Dossier  " & a & "  existant::Le détruire - avec son contenu- avant de refaire les calculs !!"): Exit Sub Else MkDir "c:\Test\hyperplan\" & a: MsgBox ("Démarrage:: Clic sur OK ")
Dim supp() As Byte, k As Integer, tmp As Integer, x As Integer, b As String: x = n - 1: If x > 25 Then x = 25
Dim i As Integer, ix As Integer, j As Integer, r As Integer, pro As Integer, sig As Integer, ssp As String, ssn As String, ss As String, det() As Integer, snt() As Integer, res() As Integer: ReDim det(n): ReDim snt(n): ReDim res(n)
For k = 1 To x: b = Right("00" & CStr(k), 2): Erase supp: ReDim supp(n - 1, n): Open "c:\Test\hyperplan\" & a & "\" & b & ".txt" For Output As #1: Close #1
For tmp = 1 To k: supp(1, tmp) = 1: Next tmp: ix = 1
cc: For i = ix + 1 To n - 1: For j = 1 To n: supp(i, j) = supp(i - 1, j): Next j
tmp = 0: For j = n To 1 Step -1: If supp(i, j) = 0 Then tmp = j: GoTo jj
If tmp <> 0 Then supp(i, j) = 0: supp(i, tmp) = 1: GoTo rr
jj: Next j: ix = i - 1: GoTo ff
rr: For j = tmp + 1 To n: If supp(i, j) = 1 Then GoTo jjj
For r = j + 1 To n: If supp(i, r) = 1 Then supp(i, j) = 1: supp(i, r) = 0: GoTo jjj
Next r
jjj: Next j
Next i: For i = 1 To n: det(i) = i: Next i: sig = 1: pro = 0
aa: For i = 2 To n: sig = sig * supp(i - 1, det(i)): Next i: pro = pro + sig
For i = n - 1 To 1 Step -1: sig = n + 1: For j = i + 1 To n: If det(j) > det(i) And det(j) < sig Then sig = det(j): tmp = j
Next j: If sig < n + 1 Then sig = det(i): det(i) = det(tmp): det(tmp) = sig: tmp = i + 1: GoTo ran
Next i: res(n) = pro: GoTo bb
ran: If tmp = 2 Then res(det(1) - 1) = pro: pro = 0
For i = 1 To n: If i < tmp Then GoTo rani
For j = i + 1 To n: If j < tmp Then GoTo ranj
If det(j) < det(i) Then sig = det(i): det(i) = det(j): det(j) = sig
ranj: Next j
rani: Next i: sig = 1: For i = 1 To n: snt(i) = det(i): Next i: For i = 1 To n - 1
If snt(i) <> i Then
For j = i + 1 To n: If snt(j) = i Then snt(j) = snt(i): sig = -sig: GoTo sigi
Next j: End If
sigi: Next i: GoTo aa
bb: tmp = 0: For i = 1 To n: If res(i) = 0 Then GoTo ee
If tmp = 0 Then tmp = Abs(res(i)) Else r = Abs(res(i)): sig = (tmp + r + Abs(tmp - r)) / 2: pro = (tmp + r - Abs(tmp - r)) / 2: Do Until pro = 0: r = pro: pro = sig Mod pro: sig = r: Loop: tmp = r
ee: Next i: If tmp = 0 Then ix = n - 1: GoTo ff
For i = 1 To n: res(i) = res(i) / tmp: If Abs(res(i)) > 675 Then MsgBox ("Absolue > 675 !!  M'avertir !! "): Exit Sub
Next i: ssp = "": ssn = "": For i = 1 To n: If res(i) = 0 Then ssp = ssp & "ZZ": ssn = ssn & "ZZ"
If res(i) > 0 Then
r = res(i) Mod 26: If r = 0 Then ss = "z" Else ss = Chr(64 + r)
r = (res(i) - r) / 26: If r = 0 Then ssp = ssp & "z" & ss Else ssp = ssp & Chr(64 + r) & ss
r = res(i) Mod 26: If r = 0 Then ss = "z" Else ss = Chr(96 + r)
r = (res(i) - r) / 26: If r = 0 Then ssn = ssn & "z" & ss Else ssn = ssn & Chr(96 + r) & ss
End If
If res(i) < 0 Then
r = (-res(i)) Mod 26: If r = 0 Then ss = "z" Else ss = Chr(96 + r)
r = (-res(i) - r) / 26: If r = 0 Then ssp = ssp & "z" & ss Else ssp = ssp & Chr(96 + r) & ss
r = (-res(i)) Mod 26: If r = 0 Then ss = "z" Else ss = Chr(64 + r)
r = (-res(i) - r) / 26: If r = 0 Then ssn = ssn & "z" & ss Else ssn = ssn & Chr(64 + r) & ss
End If: Next i: Open "c:\Eternity\hyperplan\" & a & "\" & b & ".txt" For Input As #1: If EOF(1) Then Close #1: GoTo tt
Do Until EOF(1): Line Input #1, ss: If ss = ssp Or ss = ssn Then Close #1: ix = n - 1: GoTo ff
Loop: Close #1
tt: Open "c:\Eternity\hyperplan\" & a & "\" & b & ".txt" For Append As #1: Print #1, ssp: Close #1: ix = n - 1
ff: tmp = 0: For j = n To 1 Step -1: If supp(ix, j) = 0 Then tmp = j: GoTo supj
If tmp <> 0 Then supp(ix, j) = 0: supp(ix, tmp) = 1: GoTo supr
supj: Next j: If ix > 1 Then ix = ix - 1: GoTo ff Else GoTo fin
supr: For j = tmp + 1 To n: If supp(ix, j) = 1 Then GoTo supjj
For r = j + 1 To n: If supp(ix, r) = 1 Then supp(ix, j) = 1: supp(ix, r) = 0: GoTo supjj
Next r
supjj: Next j: GoTo cc
fin: Next k: MsgBox ("TERMINE !"): End Sub
[/code]
mardi 22 juillet 2008 à 18:39:09 | Re : Convertir VB6 en C++

ghuysmans99

Membre Club
Apprends déjà à bien coder en VB6 ! Il ne faut pas utiliser de goto !
Et pour le reste on ne va pas te faire ça à ta place.
En plus la conversion de VB à C++ n'est pas évidente : on ne code pas de la même façon !
Pour apprendre le C++ : soit du t'achètes un bon livre, soit tu cherches des tutoriels sur le net.
Il y en a un très bon sur le Site du Zéro (mais tu dois passer par le tuto C avant le C++) : [ Lien ]
_______________________________________________________________________
VB.NETis good ...VB6is better
mardi 22 juillet 2008 à 19:26:28 | Re : Convertir VB6 en C++

BruNews

Administrateur CodeS-SourceS
Faisons abstraction du listing plus haut, pas d'indentation du code et trop d'instructions sur la même ligne, je ne lis pas.

il ne "faut" pas de Goto....
La prog n'est pas une secte, les tabous n'y ont pas leur place. Un goto judicieux qui éviterait des tas de IF imbriqués ou autres acrobaties de code ne nuirait en rien, bien au contraire.

ciao...
BruNews, MVP VC++
jeudi 24 juillet 2008 à 23:38:53 | Re : Convertir VB6 en C++

max12

Administrateur CodeS-SourceS
La peur des gotos c'est comme les limites de vitesse, elle est fixe, selon les conditions on peut rouler sans danger au dessus de la limite. Mais la limite à été fixé pour les abrutis qui préfère avoir un jugement deja fait et fixe peu importe ce qui se passe même si c'est cruellement inéfficace.

Cela dit faudrais vraiment envisager de supprimer directement les demandes du type faite ce code pour moi.

http://laptopgun.blogspot.com/
&


Cette discussion est classée dans : to, tmp, supp, if, then


Répondre à ce message

Sujets en rapport avec ce message

Répertoire et sous répertoire [ par afavre69 ] Bonjour à Tous,J'ai un petit problème avec mon  code...Dans mon appli, j'ai une listview dasn laquelle se trouve des fichiers à copier sur clé usb. Je problème de résultat après compilation de mon code source [ par bvdecky ] Bonjour à tousje dois réalisé un programme en C qui permet de récupérer les informations d'une souris ( Positions XY) et les récupérer sur un port USB lire un fichier ligne par ligne [ par jOlcoWboY ] Bien le bonjour, je me suis fait un 'tit bou de code afin de lire un fichier texte ligne par ligne. Je voulais juste savoir si il avait des améliorati PS / PCl To PDF [ par olivier784 ] Bonjour,    J'aurai aimé savoir si quelqu'un a deja réussi à faire des conversions de fichier PS ou PCl en fichier PDF en langage C avec des bibliothè liste doublement chainée [ par sudoku1983 ] Je suis débutant et j'ai un problème avec ma liste doublement chainée. Quand j'essaie de créer plus de 2 éléments, ça plante. Je n'ai aucune erreur de musique qui grésille [Console] [ par BastienL21 ] Bonjour à tous,    Je programme actuellement une console qui fait un peu tout...bref en gros il contient une boucle while( !kbhit()) où se trouve deda Pointeur int dans fonction récursive [ par sudoku1983 ] J'ai un problème pour récupérer un entier qui est paramètre d'une fonction récursive. Cette fonction Grave problème de lecture d'un tableau string [ par alincoln54 ] Bonjour à tous,Le code suivant ne fonctionne pas (BCB C++) :#include #include #include #include #include < ma dll à l'aide plz [ par snpier wolf ] Bonjour, j'ais chercher un moyen de récupérer le message wm_close de la fenêtre active.Après avoir parlez avec BruNews, j'ai compris qu'il me


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales