PrinceSilk
Messages postés56Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention26 mai 2013
-
31 mai 2008 à 18:40
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
31 mai 2008 à 20:45
Voila mon souhait : créer une fonction qui s'utilise comme, par exemple, Asc() ou Left$()
J'écrirait, par exemple
ChoseModifiée=MaFonction(ChoseAModifier)
sachant que dans mon module j'ai
Public Function MaFonction(ChoseAModifier as String)
...
...
...
... donne un résultat
End Function
J'espere être clair, mon but étant de ne pas avoir à faire écrire le résultat dans une variable par ma fonction pour ensuite avoir à aller la récupérer...
PrinceSilk
Messages postés56Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention26 mai 2013 31 mai 2008 à 19:08
Je vais essayer de donner un exemple plus concret :
MaFonction à pour but par exemple d'extraire le nom d'un fichier depuis sont chemin d'accès complet
Donc je tappe
MaFonction("C:\...\...\MonFichier.Txt")
Dans mon module j'ai donc
MaFonction(CheminFichier as String)
For i = 1 To Len(CheminFichier)
If Left$(Right$(CheminFichier, i), 1) = "" Then Exit For
NomFichier = NomFichier + Left$(Right$(NomComplet, i), 1)
Next i
Enf Function
la variable NomFichier contient le résultat demandé...
Comment faire pour que dans ma form, je puisse simplement faire
A=MaFonction("C:\...\...\MonFichier.Txt")
et que A prenne alors le nom extrait par la fonction ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 31 mai 2008 à 19:16
Harf, tu ne sais pas retourner la valeur à partir de ta fonction...
Public Function MaFonction(CheminFichier as String) As String
For i = 1 To Len(CheminFichier)
If Left$(Right$(CheminFichier, i), 1) = "" Then Exit For
NomFichier = NomFichier + Left$(Right$(NomComplet, i), 1)
Next i
Return NomFichier
End Function
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 31 mai 2008 à 19:23
"Nop, il faut attribuer la valeur à la fonction elle même"
OK merci (Return fonctionne en .NET)
"De plus, dans ce cas de figure, il vaut mieux éviter la boucle."
Bien d'accord, mais je voulais pas m'amuser à modifier le code
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 31 mai 2008 à 19:37
En perso, en quelques semaines (2 à 3 mois), essentiellement pour répondre aux questions sur le forum du temps ou j'étais au chomage, c'est peut-etre d'ailleurs le meilleur apprentissage que j'ai pu avoir.
Ensuite en tant que pro, je peux pas vraiment dire, je suis loin de tout maitriser (je fais vraiment pas assez de prog en VB dans la boite ou je suis actuellement) et quand j'ai repris le boulot, j'avais déjà bien assimiler la philosophie du langage. Donc même si je connais pas tout, j'ai naturellement le reflexe d'aller fouiller dans le framework.
Par contre, maintenant quand je dois faire du VB6, c'est dur, vraiment très dur. Ca ressemble vraiment à un dinosaure comparé à .Net
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 31 mai 2008 à 19:42
Je me permet de te répondre aussi mortalino
C'est clair qu'au début tu t'y perd un peu avec ce gros framework bourré de classes, mais dès que tu comprend un peu sa structure tu y trouve très facilement ce dont tu as besoins. Et grace à IntelliSense, la plupart du temps tu n'as même pas besoins d'aller sur MSDN pour savoir à quoi sert une classe, une procédure ou une fonction (on y va surtout pour avoir un exemple de code).
Reste à apprendre les différences du langage en lui même (les Handles pour les événements par exemple), mais ce n'est pas grand chose non plus.
Ce qui prend du temps, c'est de connaitre toutes les possibilité. Genre au début tu codera tes fonctions comme tu le fais d'habitude (en VB6), puis un jour tu découvre qu'il existe une classe dans le framework qui te fais tout ça en 2 ligne de code
Je pense qu'en une 10aines d'heures tu commence déjà à être à l'aise avec le framework.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 31 mai 2008 à 19:46
Lol, ok merci
Par contre, maintenant quand je dois faire du VB6, c'est dur, vraiment
très dur. Ca ressemble vraiment à un dinosaure comparé à .Net
C'est ça qui m'embête dans l'histoire. Je commence petit à petit à maitriser les bases de VB6, et pareil, sait où chercher. Mais j'ai encore tellement de chose à apprendre avec cet outil de dev que je n'ai pas encore l'envie de l'abandonner pour apprendre autre chose (pis c'est une passion, pas mon taf, donc pas non plus trop trop de temps pour apprendre 50 langages).
En fait je commence seulement à m'amuser avec, et ça m'a pris 2 ans !!
D'où mon apréhension pour vb.Net, va me falloir du temps pour être à l'aise, et j'adore VB6, mais tôt ou tard, il y aura un choix à faire (et il est vite fait, le framework étant d'actualité et plus le VB6)
Don 2 ou 3 mois pour toi = un poil plus pour moi, sachant que l'idéal serait de faire les deux en parallèle.
Merci pour tes infos
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 31 mai 2008 à 19:50
Ok, merci Kevin
J'ai effectivement remarqué que la Msdn locale était très riche. Pis avec mon bouquin de 1200 pages, je devrais m'en sortir.
Reste à trouver cette motivation qui me fait défaut à propos du FrameWork.
De toute façon, faudra que je m'y mette tôt ou tard !! C'est la loi de Murphy, VB6 étant obsolète
Là je suis en train de voir avec ma société pour passer un CIF en tant que Développeur Logiciel en 8 mois, ça serait pas mal, pour connaitre les bases d'autres langages + les bases informatiques (bits, octets, processeurs, enfin tous les trucs de bas niveau)
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 31 mai 2008 à 20:45
Petite astuce pour apprendre le VB.Net plus raidement, systématiquement désactiver la référence Microsoft.VisualBasic dans les projets.
Tu vas galérer bien plus parce que tu ne pourras plus faire du code VB6, mais ça va t'obliger à chercher les solutions dans le framework, chose que tu ne fera pas naturellement si tu continus à coder à la mode VB6.
La principale chose à retenir en .Net c'est la notion d'objet, chose totalement absente en VB6 et qui a toujours été vraiment manquante. VB6 ne connais pas l'objet, en .Net, tout est objet, de la plus simple variable à la classe la plus complexe qui soit.
Une fois que tu as compris le principe de l'objet, tu as compris plus de 50% du fonctionnement du framework.
.Net et le framework, par l'intermédiare de VB évidement mais aussi des autres langages, c'est la Programmation Orientée Objet à la portée de tous.
Ce qui a été rédibitoire pour beaucoup (moi le premier) en C++ est devenu un plaisir avec .Net.