Open VBA et TextFieldParser .NET

Résolu
frederic_bevernage Messages postés 6 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 15 novembre 2014 - 8 août 2006 à 23:13
 Utilisateur anonyme - 10 août 2006 à 00:27
Bonsoir,
Je découvre - avec une certaine inquiétude - VB2005....

J'utilise du code VBA dans VB6 pour avoir une macro compilée donc non modifiable et non piratable... tout va bien, il n'y a pas de retouche à faire et le code fonctionne avec Office 2003 et versions antérieures sans problème.
Mais, quand je veux reprendre mon code pour quelque chose d'aussi trivial que " Open nom-de-fichier for input as #n " plus rien ne passe et il semble falloir transformer un simple  :

Dim a as string
Open "C:\testfile.txt"
for input as #1
do while not EOF(1)
  input #1,a
  msgbox (a)
loop
Close 1

en code du style :
Using MyReader AsNew Microsoft.VisualBasic.FileIO.TextFieldParser("C:\testfile.txt")
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",")
Dim currentRow AsString()
WhileNot MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField AsString
ForEach currentField In currentRow
MsgBox(currentField)
Next
EndTry
EndWhile
End Using

Pourquoi faire simple quand on peut faire compliqué... et bien sûr Bilou ne propose rien pour "transmuter" le code !
Le machin .NET bloque avec 100% de ressource processeur occupée quand on essaye de "Mettre à niveau"...

Si vous avez une idée... Merci d'avance; en attendant je désinstalle tout le fourbi .NET et reviens à VB6 !
Cordialement à tous.
Fred

9 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 23:20
Salut Kenji,

je vais bientôt vous rejoindre, j'ai acheter le bouquin Visual Basic 2005
(1300 pages, arf, j'ai de quoi faire...)

Mais de ce que j'ai vu, je préfèrerai certainement coder en VB6 !

++
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 19:32
Salut, en .net, ça donne ça :

   
Public
Sub
EcrireFichier(ByVal CheminFichier As
String
, ByVal Texte As
String
)
       
Dim
FreeF As Integer
        FreeF =
FreeFile
() <samp>'Possibilité de mettre 1</samp>
        Texte = Replace(Texte, vbLf, vbCrLf)
        FileOpen(FreeF, CheminFichier, OpenMode.Output)
       
Print
(FreeF, Texte)
        FileClose(FreeF)
   
End
Function


@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
frederic_bevernage Messages postés 6 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 15 novembre 2014
9 août 2006 à 22:59
Bonsoir,
Je serai une nana je te ferai   !!!
Merci donc... mais pourquoi tant de chemins pour arriver à Rome...
Cordialement
Frédéric
0
Utilisateur anonyme
9 août 2006 à 23:17
Salut,

En utilisant le Framwork ca donne :



Dim
a
As

String

Dim
Sr
As

New
System.IO.StreamReader(
"C:\testfile.txt"
)

While

Not
Sr.EndOfStream

  a = Sr.ReadLine()

  System.Windows.Forms.MessageBox.Show(a)

End

While

Sr.Close()

Sr.Dispose()

Sr =
Nothing





Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
9 août 2006 à 23:56
Fait gaffe au .net.
Pour moi, je l'abandonne. (Je continue d'aider mais je ne code plus de vrais programmes)
J'ai appris le vb.net et le C#, mais je m'aperçois que je ne vais pas vers le droit chemin. Le .net c'est bien que si on veut faire du dev pour Windows (surtout pour vista avec le WinFx).
J'ai donc décidé de migré (dés que j'aurais fini mon travail en cours) vers le java qui est un langage plus portable. Et après vers le c++.

Au final, pour ce qui est du vb, moi aussi je préfère le vb6.


<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>









Ce n'est que mon avis. Après a toi de voir.
En tout cas bonne lecture et bonne prog.
Perso, j'ai eu un peu de mal au début pour le passage en .net, mais une fois lancer, ca va vite.

Kenji











Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 août 2006 à 00:07
Ok je te remercie !

T'es pas le seul à me conseiller java.
Une fois bien habitué à VB6 et mon bouquin en .net lu, je vais essayer de m'y mettre (mais chaque chose en son temps... lol)

Merci Kenji ;)

++
0
frederic_bevernage Messages postés 6 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 15 novembre 2014
10 août 2006 à 00:16
Merci à vous deux qui confortez mon impression première.
Vive donc VB6 pour les applications VBA compilées.
Vive SUN pour avoir inventé Java.

Cordialement
Frédéric
0
frederic_bevernage Messages postés 6 Date d'inscription mardi 25 juillet 2006 Statut Membre Dernière intervention 15 novembre 2014
10 août 2006 à 00:16
Merci à vous deux qui confortez mon impression première.
Vive donc VB6 pour les applications VBA compilées.
Vive SUN pour avoir inventé Java.

Cordialement
Frédéric
0
Utilisateur anonyme
10 août 2006 à 00:27
Bah, le .net pour moi il a aussi des avantages
Par exemple, quand j'ai besoins un truc quelconque qui prends du temps à faire la main alors qu'un petit prog peut faire ca en quelques secondes. Alors hop, quelques lignes de vb.net avec les fonctions toutes faites du framework. Prog vite fait mal fait en quelques minutes mais qui accompli parfaitement sa tache en quelques secondes. Ca m'évite ainsi de potasser des heurs sur le truc.



Kenji



Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
0
Rejoignez-nous