bluetoote
Messages postés5Date d'inscriptionlundi 30 avril 2007StatutMembreDernière intervention 1 mai 2007
-
1 mai 2007 à 17:23
Anguel
Messages postés31Date d'inscriptionmardi 8 novembre 2005StatutMembreDernière intervention15 septembre 2011
-
5 août 2008 à 21:22
Bonjour TLM,
Je suis entrain de faire une petite application sur VB6. Mon probleme c'est que j'ai pas pu déclarer l'expression monconfig comme variable global pour que chaque étape du progrmamme écris dans le meme fichier texte.
(Mon programme tourne sauf que a chaque fois il ecrase les anciens resultat)
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 1 mai 2007 à 19:34
Je renviens après avoir fait une trsè longue réponse à un autre forumeur.
Si j'ai bien compris, tu as ce bout de code répété à plusieurs endroit de ton programme. Si à chaque fois il fait exactement la même chose, le mieux c'est de l'avoir qu'une seule fois dans une fonction. Ensuite dans ton programme il ne te reste plus qu'à appeler la fonction.
Ensuite, je vois que tu utilise l'objet FSO pour écrire ton fichier. Je ne sais pas si avec cette bestiole tu peux faire du mode Append. Persnellement j'utilise les methodes directes de VB6 qui consiste à ouvrir le fichier avec l'instruction Open, écrire avec Write.
Exemple :
Public Function EcrireRndFichier(valeur As String) As String
Dim fich As Integer
Dim result As Integer
fich = FreeFile
Open "c:\Score.txt" For Append As #fich
Write #fich, valeur
Randomize
valeur = ""
result = CInt(Int((8 * Rnd()) + 1))
Write #fich, result
EcrireRndFichier = result
Close fich
End Function<hr />
, ----
[code.aspx?ID=41455 By Renfield]
Utilisable ainsi par exemple :
Text1.Text = EcrireRndFichier(Text2.Text)
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 1 mai 2007 à 17:46
Salut,
C'est quoi au juste que tu veux faire, car je n'ai pas vraiment saisi ta demande...Tu sauvegarder les paramètre de ton prog(couleur, text, etat des boutons....) dans un fichier text ?
bluetoote
Messages postés5Date d'inscriptionlundi 30 avril 2007StatutMembreDernière intervention 1 mai 2007 1 mai 2007 à 17:58
Salut,
Le programme que j'ai fait consiste à générer des chiffres aléatoires et les stocker dans un fichier texte.
Le probleme c'est que je ne sais pas comment déclarer 'monconfig' comme variable globale pour que les rotines qui gener ces chiffre ecrivent dans le meme fichier et sans ecraser les anciens chiffres.
bluetoote
Messages postés5Date d'inscriptionlundi 30 avril 2007StatutMembreDernière intervention 1 mai 2007 1 mai 2007 à 18:11
Mr casy Comment je peux faire ça?
En plus j'ai pas compris votre en ecrivant "tu écrira à la fin"
Mon probleme c'est que je dois l'écrire à chaque il générer un chiffre.
Voilà ma routine:
Dim fsys As Object
Dim monfic As Object
Set fsys = CreateObject("Scripting.FileSystemObject")
Set monfic = fsys.CreateTextFile("c:\Score.txt")
With monfic
.WriteLine Text2.Text
Randomize
Text1.Text = ""
Text2.Text = ""
Pause 0.2
A = CInt(Int((8 * Rnd()) + 1))
Text1.Text = A
.WriteLine A
Pause 2
Text1.Text = ""
End With
End If
End Sub
Le probleme c'est que j'en ai d autre routine qui font la meme chose et je ne veux pas ils écrivent dans un autre fichier. Et quand je veux recommence la boucle il ecrase les anciens fichier. C'est pour ça tous ce qui en rouge je dois le déclarer comme variable globale mais je ne sais pas comment??
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 1 mai 2007 à 19:00
Bonjour bluenote,
Nous voudrions bien t'aide (les autres comme moi) !
Le problème principal est que nous ne voyons pas ce que tu cherches à faire exactement...
Si tu veux de l'aide, il va te falloir te montrer très clair et très précis sur ce point.
Expose le avec méthode et rigueur. Accompagne au besoin l'exposé de ce problème d'un petit exemple qui nous permettrait de voir clair dans ce que tu cherches à faire.
bluetoote
Messages postés5Date d'inscriptionlundi 30 avril 2007StatutMembreDernière intervention 1 mai 2007 1 mai 2007 à 19:25
Voilà, c un petit jeu de mémoire.
Au premier lieu, le programme doit afficher 3 chiffre(*).
Ensuite, le joueur doit saisir le premier chiffre affiche,
Apres le programme affiche un autre chiffre. l utilisateur doit rentrer le deuxième chiffre(*)....ainsi de suite...... c ça l idée du jeu.
Je veux que mon programme sauvegarde tous les chiffres affiche par le prog et qui sont rentrer par le joueur dans un fichier quelquonc
Vous trouveriez en bas tous ce que j'ai programmé. et je crois tous ce qui en vert présent mon problemé que je dois le placer quelque part !!:
Private Sub Form_Load()
Dim fsys As Object
Dim monfic As Object
Set fsys = CreateObject("Scripting.FileSystemObject")
Set monfic = fsys.CreateTextFile("c:\Score.txt")
With monfic
Randomize
Form1.Show
Text1.Text = ""
Pause 0.5
A = CInt(Int((8 * Rnd()) + 1))
Text1.Text = A
.WriteLine A
Pause 2
Text1.Text = ""
Pause 0.2
A = CInt(Int((8 * Rnd()) + 1))
Text1.Text = A
.WriteLine A
Pause 2
Text1.Text = ""
Pause 0.2
A = CInt(Int((8 * Rnd()) + 1))
Text1.Text = A
.WriteLine A
Pause 2
End With
Text1.Text = ""
End Sub
*****************************
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Dim fsys As Object
Dim monfic As Object
Set fsys = CreateObject("Scripting.FileSystemObject")
Set monfic = fsys.CreateTextFile("c:\Score.txt")
With monfic
.WriteLine Text2.Text
Randomize
Text1.Text = ""
Text2.Text = ""
Pause 0.2
A = CInt(Int((8 * Rnd()) + 1))
Text1.Text = A
.WriteLine A
Pause 2
Text1.Text = ""
End With
End If
End Sub
loubansky
Messages postés2Date d'inscriptiondimanche 13 janvier 2008StatutMembreDernière intervention29 juin 2008 29 juin 2008 à 21:30
je veux savoir comment lire, modifier, et suprimer des enregistrements dans un fichier .txt en vb.net. j'utilise sharpdevelop 2.2 .......... merci de vos aides
Anguel
Messages postés31Date d'inscriptionmardi 8 novembre 2005StatutMembreDernière intervention15 septembre 2011 5 août 2008 à 21:22
Bonjour Loubansky je crois que cest ca se que tu cherche :
Public Sub AjoutValeurs(ByVal Val1 As Integer, ByVal Val2 As String, ByVal strChemFich As String)
' Ici Val1 est le Numero d'Enrigestremment et Val2 est l'enregistrement (l'information a ecrire)
' strChemFich est le chemin d'acces dans le fichier pe a utiliser :
' AjoutValeurs (X,Y, "C:\Documents and Settings\Administrateur\Mes documents\ESSAI\monFile.txt")
Dim F As Integer
F = FreeFile() '1er numéro libre
FileOpen(F, strChemFich, OpenMode.Append) 'ouvert en ajout
Write(F, Val1, Val2)
' écrit dans le fichier dont le numéro est F
' avec write (contrairement à Print) chaque valeur est séparée par une virgule,
' le texte est entouré de guillemets, les dates sont entouré par des #
FileClose(F)
End Sub
' Line Input est conseillé pour lire ce qui est écrit avec Print
' Pour lire les données séparées par des virgules écrites avec Write, vous devez utiliser Input
Public Sub LitValeurs(ByVal strChemFich As String)
' Ici on lit les valeurs precedement enregistré dans le fichier indiqué
' en utilisant LitValeurs "C:\Documents and Settings\Administrateur\Mes documents\ESSAI\monFile.txt"
Dim Val1 As Object, Val2 As String
Dim F As Integer
F = FreeFile() '1er numéro libre
FileOpen(F, strChemFich, OpenMode.Input)
While Not EOF(F) ' Boucle jusqu'a la fin des toutes enregistrements
Input(F, Val1) ' lire les numeros
Input(F, Val2) ' lire les enregistrements
If Val1 = X Then ' Si Val1 est egal a le numero cherché ici X on affiche Y
Y = Val2
MsgBox(Y)
End If
' Lit chaque valeur de la ligne et les attribue aux variables correspondantes
End While