Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

question bête sur la sauvegarde de variable

14 réponses
Avatar
squat541
salut
voila le morceau de prog
Dim T(1 To 3) As byte
Open "D:\adresse.txt" for Input As #1
For i=Lbound(T) To Ubound(T)
i=0
Do While EOF(1) = False
i=i+1
Input #1,T(i)
Loop
Next i
Close i
je creer un tableau T qui se remplie depuis un fichier.txt
g trois variable T(1),T(2) et T(3),quand je fait le debogage je voit bien
les 3 variable qui prenne les valeurs du fichier.txt mais le prog agit comme
si le tableau est vide,je pense que c parce que je n'est pas de sauvegarde
pour les variables si quelqu'un a la reponse ce serait sympa
mais g il ne les rentre dans le tableau

10 réponses

1 2
Avatar
Patrice Henrio
Dim T(1 To 3) As byte
Open "D:adresse.txt" for Input As #1
For i=1 To 3
i=i+1
Input #1,T(i)
Next i
Close

ou alors

Dim T(1 to 100) As byte
Open "D:adresse.txt" for Input As #1
i=0
Do While EOF(1) = False
i=i+1
Input #1,T(i)
Loop
Close #1
Redim preserve T(1 to i)


"squat541" a écrit dans le message de
news:
salut
voila le morceau de prog
Dim T(1 To 3) As byte
Open "D:adresse.txt" for Input As #1
For i=Lbound(T) To Ubound(T)
i=0
Do While EOF(1) = False
i=i+1
Input #1,T(i)
Loop
Next i
Close i
je creer un tableau T qui se remplie depuis un fichier.txt
g trois variable T(1),T(2) et T(3),quand je fait le debogage je voit bien
les 3 variable qui prenne les valeurs du fichier.txt mais le prog agit
comme
si le tableau est vide,je pense que c parce que je n'est pas de sauvegarde
pour les variables si quelqu'un a la reponse ce serait sympa
mais g il ne les rentre dans le tableau


Avatar
Pascal B.
Salut Squat,

Le principe de lecture semble bon (il ne faut rien d'autre pour que les valeurs "restent" dans le tableau).
L'erreur doit être plus loin dans le programme (quant tu exploites ton tableau)

Sinon la seule erreur que je vois, c'est "Close i" à remplacer par "Close 1".
Aussi les puristes (dont je fais partie!) diront qu'il faut utiliser "FreeFile".

Cordialement
Pascal B.

PS: La fin de tes explications ne sont pas claires !!!



"squat541" wrote in message news:
| salut
| voila le morceau de prog
| Dim T(1 To 3) As byte
| Open "D:adresse.txt" for Input As #1
| For i=Lbound(T) To Ubound(T)
| i=0
| Do While EOF(1) = False
| i=i+1
| Input #1,T(i)
| Loop
| Next i
| Close i
| je creer un tableau T qui se remplie depuis un fichier.txt
| g trois variable T(1),T(2) et T(3),quand je fait le debogage je voit bien
| les 3 variable qui prenne les valeurs du fichier.txt mais le prog agit comme
| si le tableau est vide,je pense que c parce que je n'est pas de sauvegarde
| pour les variables si quelqu'un a la reponse ce serait sympa
| mais g il ne les rentre dans le tableau
Avatar
squat541
salut patrice, g essaye la premiere il me met une erreue sur Input #2,T(i)
et la deuxieme il me tableau deja dimensionne pour Redim preserve T(1 to i)
en le close i c'est une erreur de ma par c close #1
"Patrice Henrio" a écrit :

Dim T(1 To 3) As byte
Open "D:adresse.txt" for Input As #1
For i=1 To 3
i=i+1
Input #1,T(i)
Next i
Close

ou alors

Dim T(1 to 100) As byte
Open "D:adresse.txt" for Input As #1
i=0
Do While EOF(1) = False
i=i+1
Input #1,T(i)
Loop
Close #1
Redim preserve T(1 to i)


"squat541" a écrit dans le message de
news:
> salut
> voila le morceau de prog
> Dim T(1 To 3) As byte
> Open "D:adresse.txt" for Input As #1
> For i=Lbound(T) To Ubound(T)
> i=0
> Do While EOF(1) = False
> i=i+1
> Input #1,T(i)
> Loop
> Next i
> Close i
> je creer un tableau T qui se remplie depuis un fichier.txt
> g trois variable T(1),T(2) et T(3),quand je fait le debogage je voit bien
> les 3 variable qui prenne les valeurs du fichier.txt mais le prog agit
> comme
> si le tableau est vide,je pense que c parce que je n'est pas de sauvegarde
> pour les variables si quelqu'un a la reponse ce serait sympa
> mais g il ne les rentre dans le tableau





Avatar
squat541
le close est une erreur c close #1 excuse mais ce que je veu dire c que g
pris le prog a part et g essaye cette partie tout seule g mis un point
d'arret sur le prog et on voit bien qu'il prend toute les valeur t(1),t(2) et
t(3) du fichier mais qu'on je le remet dans le prog il fait comme si mon
tableau n'existait il met de lui meme la valeur 0

"Pascal B." a écrit :

Salut Squat,

Le principe de lecture semble bon (il ne faut rien d'autre pour que les valeurs "restent" dans le tableau).
L'erreur doit être plus loin dans le programme (quant tu exploites ton tableau)

Sinon la seule erreur que je vois, c'est "Close i" à remplacer par "Close 1".
Aussi les puristes (dont je fais partie!) diront qu'il faut utiliser "FreeFile".

Cordialement
Pascal B.

PS: La fin de tes explications ne sont pas claires !!!



"squat541" wrote in message news:
| salut
| voila le morceau de prog
| Dim T(1 To 3) As byte
| Open "D:adresse.txt" for Input As #1
| For i=Lbound(T) To Ubound(T)
| i=0
| Do While EOF(1) = False
| i=i+1
| Input #1,T(i)
| Loop
| Next i
| Close i
| je creer un tableau T qui se remplie depuis un fichier.txt
| g trois variable T(1),T(2) et T(3),quand je fait le debogage je voit bien
| les 3 variable qui prenne les valeurs du fichier.txt mais le prog agit comme
| si le tableau est vide,je pense que c parce que je n'est pas de sauvegarde
| pour les variables si quelqu'un a la reponse ce serait sympa
| mais g il ne les rentre dans le tableau





Avatar
squat541
si,si patrice sa a marché j'essaye d'ameliorer sa et je te l'envoie

"squat541" a écrit :

salut patrice, g essaye la premiere il me met une erreue sur Input #2,T(i)
et la deuxieme il me tableau deja dimensionne pour Redim preserve T(1 to i)
en le close i c'est une erreur de ma par c close #1
"Patrice Henrio" a écrit :

> Dim T(1 To 3) As byte
> Open "D:adresse.txt" for Input As #1
> For i=1 To 3
> i=i+1
> Input #1,T(i)
> Next i
> Close
>
> ou alors
>
> Dim T(1 to 100) As byte
> Open "D:adresse.txt" for Input As #1
> i=0
> Do While EOF(1) = False
> i=i+1
> Input #1,T(i)
> Loop
> Close #1
> Redim preserve T(1 to i)
>
>
> "squat541" a écrit dans le message de
> news:
> > salut
> > voila le morceau de prog
> > Dim T(1 To 3) As byte
> > Open "D:adresse.txt" for Input As #1
> > For i=Lbound(T) To Ubound(T)
> > i=0
> > Do While EOF(1) = False
> > i=i+1
> > Input #1,T(i)
> > Loop
> > Next i
> > Close i
> > je creer un tableau T qui se remplie depuis un fichier.txt
> > g trois variable T(1),T(2) et T(3),quand je fait le debogage je voit bien
> > les 3 variable qui prenne les valeurs du fichier.txt mais le prog agit
> > comme
> > si le tableau est vide,je pense que c parce que je n'est pas de sauvegarde
> > pour les variables si quelqu'un a la reponse ce serait sympa
> > mais g il ne les rentre dans le tableau
>
>
>


Avatar
squat541
je te remercie ca marche c'etait une erreur bete,un oublie de ma part
si g une autre question si par ex dans mon fichier texte g 85.22
et je voudrai 85 dans une variable1 et variable2 pour 22 commen je pourrai
faire g pas trouver je ne c meme si c possible

"Pascal B." a écrit :

(Bien qu'il y aie quelques bugs dans vb)
Les valeurs d'un tableau ne se remettent pas à 0 tout seul, par magie!!!
Il y a donc quelque part dans ton prog (entre le moment où tu remplis ton tableau et le moment où tu le lis) une intruction qui
"vide" ton tableau (ex: ReDim, Erase, etc..)

Il est aussi possible que tu aies déclaré 2 tableaux avec le même nom, mais l'un au niveau de la procédure, l'autre au niveau
Déclaration du module, par exemple. Et par concéquant, tu ecris dans un tableau, mais tu lis un autre tableau (si le code d'écriture
et de lecture sont dans des procédures différentes)

Conclusion: relis bien ton code.

Cordialement
Pascal B.

"squat541" wrote in message news:
| le close est une erreur c close #1 excuse mais ce que je veu dire c que g
| pris le prog a part et g essaye cette partie tout seule g mis un point
| d'arret sur le prog et on voit bien qu'il prend toute les valeur t(1),t(2) et
| t(3) du fichier mais qu'on je le remet dans le prog il fait comme si mon
| tableau n'existait il met de lui meme la valeur 0
|
| "Pascal B." a écrit :
|
| > Salut Squat,
| >
| > Le principe de lecture semble bon (il ne faut rien d'autre pour que les valeurs "restent" dans le tableau).
| > L'erreur doit être plus loin dans le programme (quant tu exploites ton tableau)
| >
| > Sinon la seule erreur que je vois, c'est "Close i" à remplacer par "Close 1".
| > Aussi les puristes (dont je fais partie!) diront qu'il faut utiliser "FreeFile".
| >
| > Cordialement
| > Pascal B.
| >
| > PS: La fin de tes explications ne sont pas claires !!!
| >
| >
| >
| > "squat541" wrote in message news:
| > | salut
| > | voila le morceau de prog
| > | Dim T(1 To 3) As byte
| > | Open "D:adresse.txt" for Input As #1
| > | For i=Lbound(T) To Ubound(T)
| > | i=0
| > | Do While EOF(1) = False
| > | i=i+1
| > | Input #1,T(i)
| > | Loop
| > | Next i
| > | Close i
| > | je creer un tableau T qui se remplie depuis un fichier.txt
| > | g trois variable T(1),T(2) et T(3),quand je fait le debogage je voit bien
| > | les 3 variable qui prenne les valeurs du fichier.txt mais le prog agit comme
| > | si le tableau est vide,je pense que c parce que je n'est pas de sauvegarde
| > | pour les variables si quelqu'un a la reponse ce serait sympa
| > | mais g il ne les rentre dans le tableau
| >
| >
| >





Avatar
Pascal B.
(Bien qu'il y aie quelques bugs dans vb)
Les valeurs d'un tableau ne se remettent pas à 0 tout seul, par magie!!!
Il y a donc quelque part dans ton prog (entre le moment où tu remplis ton tableau et le moment où tu le lis) une intruction qui
"vide" ton tableau (ex: ReDim, Erase, etc..)

Il est aussi possible que tu aies déclaré 2 tableaux avec le même nom, mais l'un au niveau de la procédure, l'autre au niveau
Déclaration du module, par exemple. Et par concéquant, tu ecris dans un tableau, mais tu lis un autre tableau (si le code d'écriture
et de lecture sont dans des procédures différentes)

Conclusion: relis bien ton code.

Cordialement
Pascal B.

"squat541" wrote in message news:
| le close est une erreur c close #1 excuse mais ce que je veu dire c que g
| pris le prog a part et g essaye cette partie tout seule g mis un point
| d'arret sur le prog et on voit bien qu'il prend toute les valeur t(1),t(2) et
| t(3) du fichier mais qu'on je le remet dans le prog il fait comme si mon
| tableau n'existait il met de lui meme la valeur 0
|
| "Pascal B." a écrit :
|
| > Salut Squat,
| >
| > Le principe de lecture semble bon (il ne faut rien d'autre pour que les valeurs "restent" dans le tableau).
| > L'erreur doit être plus loin dans le programme (quant tu exploites ton tableau)
| >
| > Sinon la seule erreur que je vois, c'est "Close i" à remplacer par "Close 1".
| > Aussi les puristes (dont je fais partie!) diront qu'il faut utiliser "FreeFile".
| >
| > Cordialement
| > Pascal B.
| >
| > PS: La fin de tes explications ne sont pas claires !!!
| >
| >
| >
| > "squat541" wrote in message news:
| > | salut
| > | voila le morceau de prog
| > | Dim T(1 To 3) As byte
| > | Open "D:adresse.txt" for Input As #1
| > | For i=Lbound(T) To Ubound(T)
| > | i=0
| > | Do While EOF(1) = False
| > | i=i+1
| > | Input #1,T(i)
| > | Loop
| > | Next i
| > | Close i
| > | je creer un tableau T qui se remplie depuis un fichier.txt
| > | g trois variable T(1),T(2) et T(3),quand je fait le debogage je voit bien
| > | les 3 variable qui prenne les valeurs du fichier.txt mais le prog agit comme
| > | si le tableau est vide,je pense que c parce que je n'est pas de sauvegarde
| > | pour les variables si quelqu'un a la reponse ce serait sympa
| > | mais g il ne les rentre dans le tableau
| >
| >
| >
Avatar
Pascal B.
La méthode la plus simple est d'utiliser la function Split qui retourne un tableau.
Ex:

Dim Txt as string
Dim Elements as Variant
Dim i as Integer
Txt = "85.22"
Elements = Split(Txt,".")
For i = LBound(Elements) To UBound(Elements)
Debug.Print Elements(i)
Next i

Cordialement
Pascal B.

"squat541" wrote in message news:
| je te remercie ca marche c'etait une erreur bete,un oublie de ma part
| si g une autre question si par ex dans mon fichier texte g 85.22
| et je voudrai 85 dans une variable1 et variable2 pour 22 commen je pourrai
| faire g pas trouver je ne c meme si c possible
|
| "Pascal B." a écrit :
|
| > (Bien qu'il y aie quelques bugs dans vb)
| > Les valeurs d'un tableau ne se remettent pas à 0 tout seul, par magie!!!
| > Il y a donc quelque part dans ton prog (entre le moment où tu remplis ton tableau et le moment où tu le lis) une intruction qui
| > "vide" ton tableau (ex: ReDim, Erase, etc..)
| >
| > Il est aussi possible que tu aies déclaré 2 tableaux avec le même nom, mais l'un au niveau de la procédure, l'autre au niveau
| > Déclaration du module, par exemple. Et par concéquant, tu ecris dans un tableau, mais tu lis un autre tableau (si le code
d'écriture
| > et de lecture sont dans des procédures différentes)
| >
| > Conclusion: relis bien ton code.
| >
| > Cordialement
| > Pascal B.
| >
| > "squat541" wrote in message news:
| > | le close est une erreur c close #1 excuse mais ce que je veu dire c que g
| > | pris le prog a part et g essaye cette partie tout seule g mis un point
| > | d'arret sur le prog et on voit bien qu'il prend toute les valeur t(1),t(2) et
| > | t(3) du fichier mais qu'on je le remet dans le prog il fait comme si mon
| > | tableau n'existait il met de lui meme la valeur 0
| > |
| > | "Pascal B." a écrit :
| > |
| > | > Salut Squat,
| > | >
| > | > Le principe de lecture semble bon (il ne faut rien d'autre pour que les valeurs "restent" dans le tableau).
| > | > L'erreur doit être plus loin dans le programme (quant tu exploites ton tableau)
| > | >
| > | > Sinon la seule erreur que je vois, c'est "Close i" à remplacer par "Close 1".
| > | > Aussi les puristes (dont je fais partie!) diront qu'il faut utiliser "FreeFile".
| > | >
| > | > Cordialement
| > | > Pascal B.
| > | >
| > | > PS: La fin de tes explications ne sont pas claires !!!
| > | >
| > | >
| > | >
| > | > "squat541" wrote in message news:
| > | > | salut
| > | > | voila le morceau de prog
| > | > | Dim T(1 To 3) As byte
| > | > | Open "D:adresse.txt" for Input As #1
| > | > | For i=Lbound(T) To Ubound(T)
| > | > | i=0
| > | > | Do While EOF(1) = False
| > | > | i=i+1
| > | > | Input #1,T(i)
| > | > | Loop
| > | > | Next i
| > | > | Close i
| > | > | je creer un tableau T qui se remplie depuis un fichier.txt
| > | > | g trois variable T(1),T(2) et T(3),quand je fait le debogage je voit bien
| > | > | les 3 variable qui prenne les valeurs du fichier.txt mais le prog agit comme
| > | > | si le tableau est vide,je pense que c parce que je n'est pas de sauvegarde
| > | > | pour les variables si quelqu'un a la reponse ce serait sympa
| > | > | mais g il ne les rentre dans le tableau
| > | >
| > | >
| > | >
| >
| >
| >
Avatar
Gloops
Salut,

Peux-tu préciser à quoi sert ceci ?

squat541 a écrit, le 04/04/2005 12:47 :

For i=Lbound(T) To Ubound(T)
i=0



Next i


Avatar
LE TROLL
Bonjour Gloops,

LBount et UBound donnent respectivement les extrémités
d'un tableau, dans le cas présent: 1 et 3...
Nonobstant, nous préférâmes certes, quelques chose de plus
classique, comme:
dim T(3) as byte
for i = 1 to 3
T(i)

Mais bon, ad libitum...
--------

"Gloops" a écrit dans le message de news:
4253d9d6$0$19359$
Salut,

Peux-tu préciser à quoi sert ceci ?

squat541 a écrit, le 04/04/2005 12:47 :

For i=Lbound(T) To Ubound(T)
i=0



Next i





1 2