VB/VB.Net Système de trajets 1.29

Inscrit
24 Novembre 2016
Messages
28
Reactions
0
#21
Je viens d'adapter le code de alex, sous forme d'une fonction voici le code :
Public Function trajet() As Integer
Dim objStreamReader As StreamReader
Dim strLine As String

'Pass the file path and the file name to the StreamReader constructor.
objStreamReader = New StreamReader("data/trajert.txt")

'Read the first line of text.
strLine = objStreamReader.ReadLine

'Continue to read until you reach the end of the file.
Do While Not strLine Is Nothing

'Do something here

'Read the next line.
strLine = objStreamReader.ReadLine
Loop

'Close the file.
objStreamReader.Close()

Console.ReadLine()
Dim PathSteps As New Dictionary(Of String, String)

Do While Not strLine Is Nothing

'Do something here
Dim parts() As String = strLine.Split(" ")
Dim coords As String = parts(0)
Dim direction As String = parts(1)

PathSteps.Add(coords, direction)
If direction = "Haut" Then
SeDeplacerMap(changeurHaut)
End If
If direction = "Bas" Then
SeDeplacerMap(changeurBas)
End If
If direction = "Gauche" Then
SeDeplacerMap(changeurGauche)
End If
If direction = "Droite" Then
SeDeplacerMap(changeurDroite)
End If
'Read the next line.
strLine = objStreamReader.ReadLine

Loop
End Function

Je voudrais savoir comment appeler la fonction dans un sub, qui se situe dans un autre document,' je vous remercie pour vos futurs réponses.
 
Inscrit
24 Novembre 2016
Messages
28
Reactions
0
#24
Quand j'ai partagé la fonction ça me donne des erreurs : 'Impossible de faire référence à un membre instance d'une classe à partir d'une méthode partagée ou d'un initialiseur de membre partagé sans une instance explicite de la classe.'
 

tazman59

Contributeur
Inscrit
20 Decembre 2012
Messages
149
Reactions
27
#25
Je ne te répondrai pas @nomane
C'est la base de la base, du fin fond de la base.
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#26
On veut bien t'aider, mais si tu peine à utiliser une fonction, c'est pas par un bot qu'il faut commencer.
 
Inscrit
27 Juin 2012
Messages
238
Reactions
0
#27
On en revient au premier message d'Alex, occupe toi de lire tout le site OpenClassRoom sur le VB ou même un autre langage car là c'est universel ton problème ^^
 
Inscrit
1 Juin 2016
Messages
20
Reactions
2
#29
De manière générale, un "système de trajet" se fait comme suit:
- On imagine et on met en place des mots clés, une structure à adopter pour le trajet, dans le sens où le parsing doit être assez facile
- On lit notre fichier texte qui contient le trajet structuré
- On reconnait les mots-clés, les paramètres, etc...
- On les interprète, puis on les utilise.

Pour faire ça, il faut quand même des bases en programmation. Tu connais l'expression "c'est en forgeant qu'on devient forgeron" ? Et bien j'en ai une autre qui s'y rapproche, dans un certain sens: "tout vient à point à qui sait attendre".
ça veut dire que la patience est importante. Ce n'est pas la peine de se précipiter à faire des choses compliquées tout de suite: ça ne te sera même pas bénéfique, tu n'apprendras rien.

Je peux concevoir qu'on veuille vraiment faire nous même ce que pas mal de gens savent faire: ça viendra avec le temps. Mais il faut commencer par le commencement: openclassroom, proghelp.fr, developpez, stackoverflow; tous ces sites sont là pour t'aider dans ton apprentissage et, par après, te servir de "documentation".

Ton problème vient du fait que ta classe n'est pas instanciée. "Instanciée", ça veut dire que l'objet n'est en fait pas créé: tu veux accéder à une méthode disponible dans un objet qui n'existe pas.

Pour instancié un objet, c'est à dire créer une instance, c'est à dire créer l'objet en lui même, on procède de cette manière:
Code:
Dim monObjet As New ClassObjet(paramètreDuConstructeur, silyena)
(il me semble que c'est comme ça en VB.Net, je ne fais plus que du c# depuis un bon moment).

Comme tu peux le remarquer, c'est cette instance, qui est comme une "variable", qui va te permettre d'accéder aux éléments de ton objet.
Ainsi, pour avoir accès à la méthode "trajet":

Code:
monObjet.trajet()
.

C'est la base en programmation orienté objet. Pas de chance, le VB.Net (en fait, tous les langages utilisant le framework .NET) sont des langages orientés objet.

Cela fait également parti des chapitres de bases sur la programmation en VB.Net sur openclassroom: tu vois, c'est pour cela que c'est important.

Bonne journée à toi.
 

zahid98

Membre Actif
Inscrit
13 Decembre 2014
Messages
352
Reactions
2
#30
et c'est pas sorcier d'apprendre les bases de la programmation avant de se lancer dans un projet de bot , perso , sans cadernis , j'aurai pas appris à coder , mais quand même , j'ai jamais demander à quelqu'un de me traduire du code (à la limite de ma petite mémoire) .
 
Inscrit
24 Novembre 2016
Messages
28
Reactions
0
#31
De manière générale, un "système de trajet" se fait comme suit:
- On imagine et on met en place des mots clés, une structure à adopter pour le trajet, dans le sens où le parsing doit être assez facile
- On lit notre fichier texte qui contient le trajet structuré
- On reconnait les mots-clés, les paramètres, etc...
- On les interprète, puis on les utilise.

Pour faire ça, il faut quand même des bases en programmation. Tu connais l'expression "c'est en forgeant qu'on devient forgeron" ? Et bien j'en ai une autre qui s'y rapproche, dans un certain sens: "tout vient à point à qui sait attendre".
ça veut dire que la patience est importante. Ce n'est pas la peine de se précipiter à faire des choses compliquées tout de suite: ça ne te sera même pas bénéfique, tu n'apprendras rien.

Je peux concevoir qu'on veuille vraiment faire nous même ce que pas mal de gens savent faire: ça viendra avec le temps. Mais il faut commencer par le commencement: openclassroom, proghelp.fr, developpez, stackoverflow; tous ces sites sont là pour t'aider dans ton apprentissage et, par après, te servir de "documentation".

Ton problème vient du fait que ta classe n'est pas instanciée. "Instanciée", ça veut dire que l'objet n'est en fait pas créé: tu veux accéder à une méthode disponible dans un objet qui n'existe pas.

Pour instancié un objet, c'est à dire créer une instance, c'est à dire créer l'objet en lui même, on procède de cette manière:
Code:
Dim monObjet As New ClassObjet(paramètreDuConstructeur, silyena)
(il me semble que c'est comme ça en VB.Net, je ne fais plus que du c# depuis un bon moment).

Comme tu peux le remarquer, c'est cette instance, qui est comme une "variable", qui va te permettre d'accéder aux éléments de ton objet.
Ainsi, pour avoir accès à la méthode "trajet":

Code:
monObjet.trajet()
.

C'est la base en programmation orienté objet. Pas de chance, le VB.Net (en fait, tous les langages utilisant le framework .NET) sont des langages orientés objet.

Cela fait également parti des chapitres de bases sur la programmation en VB.Net sur openclassroom: tu vois, c'est pour cela que c'est important.

Bonne journée à toi.
Je te remercie pour ta réponse, tu peut me filer ton skype.
 
Inscrit
1 Juin 2016
Messages
20
Reactions
2
#32
Je t’envoie un message privé directement avec mon skype. :)
 
Dernière édition:
Haut Bas