Fraisoo37
Messages postés12Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention19 janvier 2007
-
6 sept. 2006 à 09:49
geobasic
Messages postés69Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention 3 octobre 2006
-
9 sept. 2006 à 01:47
Bonjour,
Je travaille actuellement avec vb6. Toutes les applications que je fais sont composé uniquement de module sans fenêtre ce qui permet de lancer des applications toute seule.
Je voulais savoir si parmis vous, il y en a qui ont fait la même chose et comment ils ont passé leur application vb6 en .net.
Est ce que pour chaque module que j'ai dans VB6, je dois faire une classe dans .NET? Ou est ce que je dois décomposé en beaucoup plus de classe
De plus dans mon module principale dans VB6, je fais pas mal d'appel de procédures. Comment fait-on en VB.net?
J'ai également d'autres questions, notamment au niveau de la lecture de fichier XML très volumineux, mais bon ça ca se ra pour après.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 6 sept. 2006 à 10:10
Tu peux normalement garder en .net la même structure générale de ton programme que tu avais en vb6.
Le principe général des modules, fonctions, ... fonctionne pareil.
En ce qui concerne les classes, dans un premier temps, si tu n'en as pas en vb6, tu n'en as pas besoin en .net.
Dans un second temps, il est possible que certaines parties de ton code soient plus efficace dans des classes, mais cela dépend essentiellement de ton code, de ce que tu y fais dedans. Il n'y a pas de règle préétablie. Commence par faire marcher ton code actuel sous .net. Ensuite, tu pourras chercher à optimiser ton code dès que tu sera plus à l'aise avec .net.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Fraisoo37
Messages postés12Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention19 janvier 2007 6 sept. 2006 à 10:24
Merci pour ta réponse,
je vais essayer ce que tu m'a dis.
Cependant, tu me dit de laisser ça comme ça pour l'instant et quand je serais plus àl'aise avec .net de faire des classes. Mais comment faire pour être plus à l'aise?
Quel outils utilisé? C'est vrai que vb.net pour une application windows (avec des fenêtres) y a pas de problèmes. Mais moi toutes mes applications sont sans fenêtre. Je passe une argument dans la ligne de commande et je lance mon programme.
Donc je voulais passé en .net pour voire si au niveau temps de traitement je pouvais gagner du temps, notamment lors de la lecture de fichier xml très volumineux (3Go)
Dans vb6 je le lis comme un fichier texte, y a t'il une meilleure solution?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 6 sept. 2006 à 10:59
C'est normal, le code VB6 n'est pas directement réutilisable en .net. Beaucoup de chose ont changé, des fonctions ont disparu, d'autres ont été remplacées, ...
De faire un imports microsoft.visualbasic, te permet justement de garder la compatibilité de code vb6 avec .net.
Quitte à passer à .net, le but est justement de se passer de cet imports. Cela necessite de remanier une partie du code. C'est pas forcement évident quand on débute, cela necessite du temps, et des recherches dans l'aide, des essais, ...
Mais normalement, lorsque tu ouvre un projet vb6 avec .net, tu as un assiatnt qui se lance pour te convertir le code. Il n'est pas parfait, mais il te fait déjà une partie du travail.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Vous n’avez pas trouvé la réponse que vous recherchez ?
Fraisoo37
Messages postés12Date d'inscriptionmardi 18 mai 2004StatutMembreDernière intervention19 janvier 2007 6 sept. 2006 à 11:46
Merci j'ai vouert mon projet avec .net, en effet il est pas parfait car il y a bcp d'erreur.
Je me posais une question car en vb6 lorsque je déclarais la strucutre de mon fichier de sortie (car je lis un fichier en entrée par exemple XML) et une fois que j'ai récupéré les infos dont j'ai besoin, je les écrit dans un fichier texte. Donc dans vb6 je déclarais chque zone de mon fichier avec une longueur fixe ex : dim toto as string *35.
Existe t-il une manière de faire pareil en .net car il n'accepte plus cette syntaxe?
geobasic
Messages postés69Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention 3 octobre 2006 9 sept. 2006 à 01:47
Salut,
Je ne comprend pas trop pourquoi tu utilise des zones de taille fixe pour écrire ton fichier texte. Si je ne m'abuse un fichier texte est une suite de ligne de longeur variable se terminant par un code retour chariot (crlf). Tu peux écrire dans un fichier texte avec une simple zone définit en string. Si tu utilise les instructions standart de VB un simple Print #1,zone permet d'écrire du texte, quel que soit la taille de la chaine contenu dans la zone.
A moins que ton fichier texte soit destiné à une application tiers qui a besoin d'un fichier de taille fixe dont les informations sont zonées dans chaque enregistrement. Dans ce cas tu peux également te passer de fixer la taille de tes zones. Tu peux concatener tes informations avec des espaces et tailler la chaine avec l'instruction Left.
Prenont un exemple concret: tu veux écrire un fichier dont l'enregistrement est fixé à 100 octets, avec une zone Nom de 30 octets, une zone Prenom de 20 octets, et une zone Email de 50 octets. On a donc:
Dim Ligne As String
Dim Nom As String, Prenom As String, Email As String
Nom = Left("Holmes" + Space(30),30)
Prenom = Left("Sherlock" + Space(20),20)
Email = Left("sherlock.holmes@scotland-yard.uk" + Space(50),50)
Ligne = Nom + Prenom + Email
Print #1, Ligne