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

Probleme bete, de Function ArrayList

8 réponses
Avatar
TroXsA
Salut a tous

Question, qui est tout con je suis sur, comment faire pour recuperer les
items dans le ArrayList (Chose)
_________________________________________
Public Function chose(paramettre As Integer) As Arraylist
Chose = New ArrayList
For i As integer = 0 To paramettre
Chose.Add(i)
Next
Return Chose
End Function
_________________________________________
Private Sub Form_Load ......
Chose(100)
End Sub
_________________________________________

J'ai bien essayer de faire ça ..........
_________________________________________
For i as Integer = 0 To Chose(100).count - 1
Console.WriteLine(Chose(100).item(i).Tostring
Next
_________________________________________
Mais sa ne fonctionne pas !

Je suis sur ça doit etre tout "con" comme solution mais je trouve pas !!!!

Qui aurais une idée ?
Merci d'avance

Cordialement,

Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl

8 réponses

Avatar
Fred
dans : news:e7ecsi$385$,
TroXsA écrivait :

Salut a tous



Bonjour,

Question, qui est tout con je suis sur, comment faire pour recuperer
les items dans le ArrayList (Chose)
_________________________________________
Public Function chose(paramettre As Integer) As Arraylist
Chose = New ArrayList
For i As integer = 0 To paramettre
Chose.Add(i)
Next
Return Chose
End Function
_________________________________________
Private Sub Form_Load ......
Chose(100)
End Sub
_________________________________________

J'ai bien essayer de faire ça ..........
_________________________________________
For i as Integer = 0 To Chose(100).count - 1
Console.WriteLine(Chose(100).item(i).Tostring
Next
_________________________________________
Mais sa ne fonctionne pas !



Qu'est-ce que c'est que ce machin ?? :-D
Ta fonction Chose recrée un nouvel arrayList à chacun de ses appels et
tu l'appelles :
1 fois dans le load
1 fois à l'initialisation de la boucle (si le compilateur est
intelligent)
et *100* fois dans la boucle !
Est-ce vraiment un comportement voulu ?

Et le «ça ne fonctionne pas» ... c'est un peu vague.
Que veux-tu faire ?


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
Ambassadeur Kosh
ArrayList list = Chose(100)

For i As integer = 0 To list.Count - 1
Dim value as integer
text = list.item(i).ToString ;
Next

et ça va pas plus loin que ça.

"TroXsA" a écrit dans le message de news:
e7ecsi$385$
Salut a tous

Question, qui est tout con je suis sur, comment faire pour recuperer les
items dans le ArrayList (Chose)
_________________________________________
Public Function chose(paramettre As Integer) As Arraylist
Chose = New ArrayList
For i As integer = 0 To paramettre
Chose.Add(i)
Next
Return Chose
End Function
_________________________________________
Private Sub Form_Load ......
Chose(100)
End Sub
_________________________________________

J'ai bien essayer de faire ça ..........
_________________________________________
For i as Integer = 0 To Chose(100).count - 1
Console.WriteLine(Chose(100).item(i).Tostring
Next
_________________________________________
Mais sa ne fonctionne pas !

Je suis sur ça doit etre tout "con" comme solution mais je trouve pas !!!!

Qui aurais une idée ?
Merci d'avance

Cordialement,

Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl





Avatar
TroXsA
Salut Fred

C'est du code que j'ai tapé vite fait sans être dans Visual, donc j'y a peut
être des erreurs !

Ce que je recherche a faire c'est une fonction (Function) avec le paramètre
As ArrayList
Exemple : Public Function Chose(Str as string) As ArrayList la question est
comment tu ajoute des items a la fonction en faisant bien Chose.Add("Item1")
non ?
Une fois que tes Items sont peuplés comment fais tu pour savoir ce que tu as
?
Il me semble que c'est ce que j'ai fais (vite fait) dans mon exemple

Ma fonction qui est :
_________________________________________________
Public Function chose(Int As Integer) As Arraylist
' Si je fait pas d'instance de la ArrayList ça ne fonctionne pas !
' Il me dit que l'obj doit etre instantier
Chose = New ArrayList
' Une boucle For Next Pour peupler mes items de ma fonction a retrouner
For i As integer = 0 To Int
Chose.Add(i)
Next
'une fois peuplé mes items je lui demande de me retourner Mon ArrayList
Return Chose
End Function
________________________________________________
Il me semble que je me suis pas planté jusqu'a là si ?

Donc dans le Load de ma Form je lance ma Fonction !
_____________________________________
Private Sub Form_Load ......
'Chose prend que de l'integer en paramétre
Chose(100)
End Sub
___________________________________
Donc la ça fonctionne il me semble, mais ce que je recherche a faire c'est
qu'il me retourne mes items qui ont ete peuplés dans la fonction
donc j'ai essayé le code suivant pour recuperer tous les items

_________________________________________
For i as Integer = 0 To Chose(100).count - 1
Console.WriteLine(Chose(100).item(i).Tostring
Next
_________________________________________

Je pense pas que le code que j'ai donné en exemple soit du n'importe quoi !
sauf si :) ....

Donc ou est l'erreur


Merci



"Fred" a écrit dans le message de news:
%
dans : news:e7ecsi$385$,
TroXsA écrivait :

Salut a tous



Bonjour,

Question, qui est tout con je suis sur, comment faire pour recuperer
les items dans le ArrayList (Chose)
_________________________________________
Public Function chose(paramettre As Integer) As Arraylist
Chose = New ArrayList
For i As integer = 0 To paramettre
Chose.Add(i)
Next
Return Chose
End Function
_________________________________________
Private Sub Form_Load ......
Chose(100)
End Sub
_________________________________________

J'ai bien essayer de faire ça ..........
_________________________________________
For i as Integer = 0 To Chose(100).count - 1
Console.WriteLine(Chose(100).item(i).Tostring
Next
_________________________________________
Mais sa ne fonctionne pas !



Qu'est-ce que c'est que ce machin ?? :-D
Ta fonction Chose recrée un nouvel arrayList à chacun de ses appels et tu
l'appelles :
1 fois dans le load
1 fois à l'initialisation de la boucle (si le compilateur est
intelligent)
et *100* fois dans la boucle !
Est-ce vraiment un comportement voulu ?

Et le «ça ne fonctionne pas» ... c'est un peu vague.
Que veux-tu faire ?


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT


Avatar
Ambassadeur Kosh
> For i as Integer = 0 To Chose(100).count - 1
Console.WriteLine(Chose(100).item(i).Tostring
Next
_________________________________________

Je pense pas que le code que j'ai donné en exemple soit du n'importe quoi
! sauf si :) ....



ben celui la, si un peu. même si d'un point de vue deterministe, Chose(100)
a le même contenu fabriqué, c'est juste une abberation.
Chose(n) est une sorte de Builder / Constructeur. donc, on construit l'objet
une fois, et en suite, on l'exploite...

voila voila...
Avatar
TroXsA
Bonsoir Kosh

J'ai vu aussi ton autre message :) merci de participer a ce problème :)

J'ai fait une Fonction avec plusieurs paramètre (en tout il y en a trois)
exemple : Function Rechercher(Lecteur as string, Fichier as string,
LectureLine as string) As ArrayList
Le peuple ce fait en fonction des critères rechercher donc je ne connais pas
le résultat donc rien a voir avec l'exemple que j'ai donné sauf sur un point
de vu qui est le fonctionnement de ma fonction.
Dans le code que tu as donné en exemple ! j'ai l'impression que tu fait un
Mix de C# avec du Vb.net :)
Quand je fait une un peux ce que tu as fait ça ne fonctionne pas !
Exemple :

Dim List As ArrayList = Rechercher("StrLecteurC:", "StrFichier",
"StrLecture")

Ma List est toujours a Zero, et pourtant quand je fait Pas par Pas il trouve
bien le fichier et il le lis bien
Je pense quand meme que le probleme vien d'ailleur !!

Qu'en pense tu ?

@+


"Ambassadeur Kosh" a écrit dans le message de
news:
For i as Integer = 0 To Chose(100).count - 1
Console.WriteLine(Chose(100).item(i).Tostring
Next
_________________________________________

Je pense pas que le code que j'ai donné en exemple soit du n'importe quoi
! sauf si :) ....



ben celui la, si un peu. même si d'un point de vue deterministe,
Chose(100) a le même contenu fabriqué, c'est juste une abberation.
Chose(n) est une sorte de Builder / Constructeur. donc, on construit
l'objet une fois, et en suite, on l'exploite...

voila voila...



Avatar
TroXsA
C'est bon j'ai trouvé d'ou ça venais
comme j'ai dit un truc tout con, faut prenne des vacances !

En tout cas vous m'avez mis sur la vois tous les deux

Merci encore
Avatar
Fred
Dans : news:449aefb3$0$10976$
TroXsA écrit :
Salut Fred



Salut,

C'est du code que j'ai tapé vite fait sans être dans Visual, donc j'y
a peut être des erreurs !



Comme tu écris que cela ne fonctionne pas, je pensais que tu l'avais
testé.

Ce que je recherche a faire c'est une fonction (Function) avec le
paramètre As ArrayList



Exemple : Public Function Chose(Str as string) As ArrayList la
question est comment tu ajoute des items a la fonction en faisant
bien Chose.Add("Item1") non ?



Non, si Chose est une fonction, tu ne peux l'appeler sans son paramètre.

Une fois que tes Items sont peuplés comment fais tu pour savoir ce
que tu as ?
Il me semble que c'est ce que j'ai fais (vite fait) dans mon exemple

Ma fonction qui est :
_________________________________________________
Public Function chose(Int As Integer) As Arraylist
' Si je fait pas d'instance de la ArrayList ça ne fonctionne pas !
' Il me dit que l'obj doit etre instantier
Chose = New ArrayList
' Une boucle For Next Pour peupler mes items de ma fonction a
retrouner For i As integer = 0 To Int
Chose.Add(i)
Next
'une fois peuplé mes items je lui demande de me retourner Mon
ArrayList Return Chose
End Function
________________________________________________
Il me semble que je me suis pas planté jusqu'a là si ?



Non, ta fonction retourne bien un ArrayList, mais un nouvel ArrayList à
chaque fois que tu l'appelles.
Il convient donc, comme l'explique Ambassadeur Kosh, de récupérer la
valeur de retour dans une variable et de l'exploiter ensuite.

Donc la ça fonctionne il me semble, mais ce que je recherche a faire
c'est qu'il me retourne mes items qui ont ete peuplés dans la fonction
donc j'ai essayé le code suivant pour recuperer tous les items

_________________________________________
For i as Integer = 0 To Chose(100).count - 1
Console.WriteLine(Chose(100).item(i).Tostring
Next
_________________________________________



Donc ou est l'erreur



Le programme fonctionne. Là n'est pas la question. En l'exécutant, j'ai
bien l'affichage des 101 valeurs.
Si tu ne comprends pas ce que je t'ai répondu et ce qu'Ambassadeur Kosh
a expliqué, remplace ton 100 par 2 ou 3 et lance un débogage en pas à
pas détaillé. Je pense qu'alors tout deviendra clair.


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
TroXsA
Merci Fred !
Jai vu ça hier soir que je me plantait !
C'est sa quand on travail 12 heure par jour des fois les choses les plus
absurdes sont les plus dur à trouver quand on est fatigué.

Merci a tout les deux !


Cordialement,

Site : http://www.troxsa.info
Mail : http://cerbermail.com/?rIXgaw9Xsl


"Fred" a écrit dans le message de news:
%
Dans : news:449aefb3$0$10976$
TroXsA écrit :
Salut Fred



Salut,

C'est du code que j'ai tapé vite fait sans être dans Visual, donc j'y
a peut être des erreurs !



Comme tu écris que cela ne fonctionne pas, je pensais que tu l'avais
testé.

Ce que je recherche a faire c'est une fonction (Function) avec le
paramètre As ArrayList



Exemple : Public Function Chose(Str as string) As ArrayList la
question est comment tu ajoute des items a la fonction en faisant
bien Chose.Add("Item1") non ?



Non, si Chose est une fonction, tu ne peux l'appeler sans son paramètre.

Une fois que tes Items sont peuplés comment fais tu pour savoir ce
que tu as ?
Il me semble que c'est ce que j'ai fais (vite fait) dans mon exemple

Ma fonction qui est :
_________________________________________________
Public Function chose(Int As Integer) As Arraylist
' Si je fait pas d'instance de la ArrayList ça ne fonctionne pas !
' Il me dit que l'obj doit etre instantier
Chose = New ArrayList
' Une boucle For Next Pour peupler mes items de ma fonction a
retrouner For i As integer = 0 To Int
Chose.Add(i)
Next
'une fois peuplé mes items je lui demande de me retourner Mon
ArrayList Return Chose
End Function
________________________________________________
Il me semble que je me suis pas planté jusqu'a là si ?



Non, ta fonction retourne bien un ArrayList, mais un nouvel ArrayList à
chaque fois que tu l'appelles.
Il convient donc, comme l'explique Ambassadeur Kosh, de récupérer la
valeur de retour dans une variable et de l'exploiter ensuite.

Donc la ça fonctionne il me semble, mais ce que je recherche a faire
c'est qu'il me retourne mes items qui ont ete peuplés dans la fonction
donc j'ai essayé le code suivant pour recuperer tous les items

_________________________________________
For i as Integer = 0 To Chose(100).count - 1
Console.WriteLine(Chose(100).item(i).Tostring
Next
_________________________________________



Donc ou est l'erreur



Le programme fonctionne. Là n'est pas la question. En l'exécutant, j'ai
bien l'affichage des 101 valeurs.
Si tu ne comprends pas ce que je t'ai répondu et ce qu'Ambassadeur Kosh a
expliqué, remplace ton 100 par 2 ou 3 et lance un débogage en pas à pas
détaillé. Je pense qu'alors tout deviendra clair.


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT