Recupérer données TXT par VB ?
Résolu
Utilisateur anonyme
-
alexandretlse Messages postés 35 Statut Membre -
alexandretlse Messages postés 35 Statut Membre -
Bonjour, voila le probleme que je pose sur ce site :
Pour ma part, je suis en BTS Informatique de Gestion en 1ere année... Je doit faire une action pro dans une entreprise, je l'ai donc commencé je suis allé voir le patron, qui veut que je crée un espece de programme qui lui permetrait d'entrer des adresses de maisons et de les imprimer directement, sans passer par word et tout, sur des enveloppes...Il veut pouvoir mettre des commentaires pour chaques maison...
Je pensais utiliser une base de donnée mais je ne saurais pas l'utiliser apres... a part en php et html... Donc je suis parti sur l'idée de créer un fichier .txt avec VB qui stockerais les données des maisons (je suis entrain d'etudié ca en ce moment en cours c'est pour ca que j'ai eu l'idée :-)...) Seulement voila je bloc, a ce moment je ne sais pas comment recuperer les données que j'ai rentré dans le fichier .txt...
Voila je vais arreter pour les questions et les explications (c'est tout de même a moi de faire le programme ;-)...)
Si vous pouvez au moins me mettre sur la voix, me dire si je fais bien de passer par VB ou si il y a mieux a faire avec une base de donnée...Me diriger vers un tuto pour recuperer des donnée dans un fichier .txt ou bien m'envoyer un bout de code...
Merci beaucoup a tout ceux qui repondrons et merci quand meme a ceux qui ne ferons que passer par ce topic....
Arthur
Pour ma part, je suis en BTS Informatique de Gestion en 1ere année... Je doit faire une action pro dans une entreprise, je l'ai donc commencé je suis allé voir le patron, qui veut que je crée un espece de programme qui lui permetrait d'entrer des adresses de maisons et de les imprimer directement, sans passer par word et tout, sur des enveloppes...Il veut pouvoir mettre des commentaires pour chaques maison...
Je pensais utiliser une base de donnée mais je ne saurais pas l'utiliser apres... a part en php et html... Donc je suis parti sur l'idée de créer un fichier .txt avec VB qui stockerais les données des maisons (je suis entrain d'etudié ca en ce moment en cours c'est pour ca que j'ai eu l'idée :-)...) Seulement voila je bloc, a ce moment je ne sais pas comment recuperer les données que j'ai rentré dans le fichier .txt...
Voila je vais arreter pour les questions et les explications (c'est tout de même a moi de faire le programme ;-)...)
Si vous pouvez au moins me mettre sur la voix, me dire si je fais bien de passer par VB ou si il y a mieux a faire avec une base de donnée...Me diriger vers un tuto pour recuperer des donnée dans un fichier .txt ou bien m'envoyer un bout de code...
Merci beaucoup a tout ceux qui repondrons et merci quand meme a ceux qui ne ferons que passer par ce topic....
Arthur
A voir également:
- Recupérer données TXT par VB ?
- Fuite données maif - Guide
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Vb - Télécharger - Langages
- Comment recuperer une video sur youtube - Guide
5 réponses
re:
Tiens, voilà un exemple complet que j'ai codé sous VB6.
Tu y trouveras 2 boutons pour lire, et 2 boutons pour écrire.
Méthode avec les objets de scripting (Natif sous WindowsXP)
Méthode VB6 avec la librairie RunTime de VB6.
http://membre.oricom.ca/lupin/xfr/chemin.zip
Cdt
Lupin
Tiens, voilà un exemple complet que j'ai codé sous VB6.
Tu y trouveras 2 boutons pour lire, et 2 boutons pour écrire.
Méthode avec les objets de scripting (Natif sous WindowsXP)
Méthode VB6 avec la librairie RunTime de VB6.
http://membre.oricom.ca/lupin/xfr/chemin.zip
Cdt
Lupin
Bon maintenant j'ai un niveau suffisant pour réussir à faire un programme comme celui que j'ai décrit... personne ne m'a répondu c'est bien dommage...
Bonjour,
Vous pouvez utiliser les objets de scripting sous VB pour lire/écrire
dans un fichier texte.
Puisque VBS est un sous ensemble de VB, VB reconnait les instructions
"VBS".
Exemple pour lire écrire :
En VB, ça donne quelque chose comme :
Cdt
Lupin
Vous pouvez utiliser les objets de scripting sous VB pour lire/écrire
dans un fichier texte.
Puisque VBS est un sous ensemble de VB, VB reconnait les instructions
"VBS".
Exemple pour lire écrire :
' Fichier Lire.vbs Const ctePourLecture = 1 Const ctePourEcrire = 2 Const ctePourAjouter = 8 Const cteRapport = "Rapport.txt" Dim objFSO, objFichier, varNomFic, Texte, Message Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du script et du fichier à lire varNomFic = WScript.ScriptFullName varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport If ( objFSO.FileExists(varNomFic) ) Then Set objFichier = objFSO.OpenTextFile(varNomFic,ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic,ctePourEcrire) End If While Not objFichier .AtEndOfStream Texte = objFichier .ReadLine Message = Message & vbCrLf & Texte Wend objFichier.Close Set objFichier = Nothing Set objFSO = Nothing WScript.Echo Message WScript.Quit(0) ' '---------------------------------------------------------------------------------------------------------------------------------------------- ' Fichier Ecrire.vbs Const ctePourLecture = 1 Const ctePourEcrire = 2 Const ctePourAjouter = 8 Const cteRapport = "Rapport.txt" Dim objFSO, objFichier, varNomFic Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du fichier à écrire varNomFic = WScript.ScriptFullName varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport ' Valide si fichier existe If ( objFSO.FileExists(varNomFic) ) Then Set objFichier = objFSO.OpenTextFile(varNomFic,ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic,ctePourEcrire) End If ' Écrire dans fichier objFichier.WriteLine "Bonjour le monde" objFichier.Close Set objFichier = Nothing Set objFSO = Nothing WScript.Quit(0) '---------------------------------------------------------------------------------------------------------------------------------------------- '
En VB, ça donne quelque chose comme :
Option Explicit Const ctePourLecture = 1 Const ctePourEcrire = 2 Const ctePourAjouter = 8 Const cteRapport = "Rapport.txt" ' Sub LireFichier() Dim objFSO As Object, objFichier As Object Dim varNomFic As String, Texte As String, Message As String Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du script et du fichier à lire varNomFic = Application.Path varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport If (objFSO.FileExists(varNomFic)) Then Set objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire) End If While Not objFichier.AtEndOfStream Texte = objFichier.ReadLine Message = Message & vbCrLf & Texte Wend objFichier.Close Set objFichier = Nothing Set objFSO = Nothing End Sub ' Sub Ecrire() Dim objFSO As Object, objFichier As Object, varNomFic As String Set objFSO = CreateObject("Scripting.FileSystemObject") ' Localisation du fichier à écrire varNomFic = Application.Path varNomFic = Left(varNomFic, InStrRev(varNomFic, "\")) varNomFic = varNomFic & cteRapport ' Valide si fichier existe If (objFSO.FileExists(varNomFic)) Then Set objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter) Else Set objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire) End If ' Écrire dans fichier objFichier.WriteLine "Bonjour le monde" objFichier.Close Set objFichier = Nothing Set objFSO = Nothing End Sub '
Cdt
Lupin
bonjour Lupin,
Tt d'abord merci pour ton aide.
J'ai encore besoin de tes services. J'ai compilé le code que tu m'as envoyé pour lire un fichier en VB. Je n'ai pas recopié le code pour la solution écrire puisque je n'écrit pas dans le fichier txt. Mais ca servira pour d'autre.
Pour le code lire il me dit que j'ai deux erreurs:
'Path' n'est pas un membre de 'System.windows.forms.application
'Public Property Left() As integer' n'a aucun paramètre et son type de retour ne peut pas etre indexé.
As tu une idée a tt ca? J'ai cherché mais sans succes!!!
Merci
Tt d'abord merci pour ton aide.
J'ai encore besoin de tes services. J'ai compilé le code que tu m'as envoyé pour lire un fichier en VB. Je n'ai pas recopié le code pour la solution écrire puisque je n'écrit pas dans le fichier txt. Mais ca servira pour d'autre.
Pour le code lire il me dit que j'ai deux erreurs:
'Path' n'est pas un membre de 'System.windows.forms.application
'Public Property Left() As integer' n'a aucun paramètre et son type de retour ne peut pas etre indexé.
As tu une idée a tt ca? J'ai cherché mais sans succes!!!
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re:
1er Point :
L'instruction [ Application.Path ] vient du VBA, j'aurais du me souvenir
que la syntaxe était différente sous VB.
Je ne sais s'il s'agit de VB6 ou VB.NET ...
Sous VB.NET, l'instruction se lit :
Chemin = Application.ExecutablePath
Sous VB6, l'instruction se lit :
Chemin = App.Path
2è Point :
L'instruction [Left] dans :
varNomFic = Left(varNomFic, InStrRev(varNomFic, "\"))
Essai avec la syntaxe suivante :
varNomFic = Left$(varNomFic, InStrRev(varNomFic, "\"))
sinon :
Le groupe d'instruction :
' Localisation du script et du fichier à lire
varNomFic = Application.Path
varNomFic = Left(varNomFic, InStrRev(varNomFic, "\"))
varNomFic = varNomFic & cteRapport
devrait pouvoir être écrite ainsi sous VB6:
varNomFic = App.Path
varNomFic = varNomFic & "\" & cteRapport
Vérifie le chemin avec l'instruction pour ne pas avoir 2 [ \ ] dans le chemin:
MsgBox varNomFic
Cdt
Lupin
1er Point :
L'instruction [ Application.Path ] vient du VBA, j'aurais du me souvenir
que la syntaxe était différente sous VB.
Je ne sais s'il s'agit de VB6 ou VB.NET ...
Sous VB.NET, l'instruction se lit :
Chemin = Application.ExecutablePath
Sous VB6, l'instruction se lit :
Chemin = App.Path
2è Point :
L'instruction [Left] dans :
varNomFic = Left(varNomFic, InStrRev(varNomFic, "\"))
Essai avec la syntaxe suivante :
varNomFic = Left$(varNomFic, InStrRev(varNomFic, "\"))
sinon :
Le groupe d'instruction :
' Localisation du script et du fichier à lire
varNomFic = Application.Path
varNomFic = Left(varNomFic, InStrRev(varNomFic, "\"))
varNomFic = varNomFic & cteRapport
devrait pouvoir être écrite ainsi sous VB6:
varNomFic = App.Path
varNomFic = varNomFic & "\" & cteRapport
Vérifie le chemin avec l'instruction pour ne pas avoir 2 [ \ ] dans le chemin:
MsgBox varNomFic
Cdt
Lupin
Salut je me suis permi de le mettre a la sauce VB6 (je t'ai mis des étoiles la ou j'avais des modif si ca t'interesse) et donc voici ce que ca donne il n'y a plus d'erreurs de compil mais j'ai encore un PB c'est le chemin. Il ne trouve pas le bon chemin et je vois pas ou est ce qu'il va chercher ca.
Public Class Form1
Const ctePourLecture = 1
Const ctePourEcrire = 2
Const ctePourAjouter = 8
Const cteRapport = "doc.txt"
'
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objFSO As Object, objFichier As Object
Dim varNomFic As String, Texte As String, Message As String
objFSO = CreateObject("Scripting.FileSystemObject")
' Localisation du script et du fichier à lire
varNomFic = Application.ExecutablePath '*****
varNomFic = varNomFic & "\" & cteRapport
MsgBox(varNomFic)
If (objFSO.FileExists(varNomFic)) Then
objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter)
Else
objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire)
End If
While Not objFichier.AtEndOfStream
Texte = objFichier.ReadLine
TextBox1.Text = TextBox1.Text & vbCrLf & Texte '*****
End While
objFichier.Close()
objFichier = Nothing
objFSO = Nothing
End Sub
End Class
Public Class Form1
Const ctePourLecture = 1
Const ctePourEcrire = 2
Const ctePourAjouter = 8
Const cteRapport = "doc.txt"
'
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim objFSO As Object, objFichier As Object
Dim varNomFic As String, Texte As String, Message As String
objFSO = CreateObject("Scripting.FileSystemObject")
' Localisation du script et du fichier à lire
varNomFic = Application.ExecutablePath '*****
varNomFic = varNomFic & "\" & cteRapport
MsgBox(varNomFic)
If (objFSO.FileExists(varNomFic)) Then
objFichier = objFSO.OpenTextFile(varNomFic, ctePourAjouter)
Else
objFichier = objFSO.CreateTextFile(varNomFic, ctePourEcrire)
End If
While Not objFichier.AtEndOfStream
Texte = objFichier.ReadLine
TextBox1.Text = TextBox1.Text & vbCrLf & Texte '*****
End While
objFichier.Close()
objFichier = Nothing
objFSO = Nothing
End Sub
End Class
Tt d'abord merci. J'ai réussi a faire un truc avec ce que tu m'as envoyé et j'arrivais pas à faire un .exe avec VB 2008. J'ai fini par trouver une astuce d'un gars en prenant le fichier:
toto.exe.deploy => toto.exe (en changeant l'extension seulement)
Mais je suis confronter à un autre pb c'est l'ordi sur lequel je veux faire tourner mon programme il m'affiche ca: "Please set registry key HKLM\Software\Microsoft\.NETFramework\InstallRoot to point to the .NET Framework install location".
As tu une idée de ce que ca peut etre?
Je ne peux pas faire de MAJ de window (sachant que l'ordi a un windows2000) ni installer de logiciel sur cet ordi car il est uniquement dédié à une application.
Merci.
En effet, il te faut installer le FrameWork.Net 3.5 sur ton W2K.
n.b. Ce n'est pas vraiment un logiciel mais une librairie de DLL, d'objects, etc ...
Sous VB2008, il n'y a pas d'autres choix !
Cdt
Lupin
En revanche est ce que je pourrais trouver un devellopeur VB antérieur a 2008 susceptible de fonctionner avec mon petit programme moyenant quelque modifications?
Encore merci.
Dans un tel cas, je ne vois que le VBS (Visual Basic Scripting) qui pourrait
t'accomoder. Car même sous VB6, VB5 ... la DLL du "run time" s'installera
lors du déploiment de l'application.
J'ai moi-même programmer tout une série de script en VBS pour la maintenance
de la solution "ServiceCenter 6.1.1" étalé sur 6 serveurs. Aucune installation
n'est requise.
Dans l'exemple que j'ai déposé le 12 avr 2011 à 17:04, le script est fonctionnel
si l'extension du fichier est [ *.vbs ]. Les objets de scripting sont aussi natif
sous W2K. Toutefois tu perderas l'aspect "Formulaire" puisque VBS ne fournit
pas de formulaire.
Tu prends le code que j'ai déposé, tu l'enregistre au format "MonScript.vbs",
et tu pourra ainsi lire le fichier souhaité.
Cdt
Lupin
Bonne fin de journee.