UTILITAIRE DE COPIE DE FICHIERS, APPLICATION CONSOLE, VISUAL BASIC

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 5 juin 2007 à 11:28
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 10 juin 2007 à 14:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42981-utilitaire-de-copie-de-fichiers-application-console-visual-basic

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
10 juin 2007 à 14:20
La discussion sur ce sujet s'arrête ici, merci de votre compréhension.
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
10 juin 2007 à 13:44
Une de mes sources montre que OneHacker n'a JAMAIS tort lol, meme apres une innondation d'arguments PERTINENTS... laissez tomber!
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
10 juin 2007 à 12:17
DIEUZORRO : Si je serait étonné si on me fait des remarques, je fait pas joujou et j'ai bien dit que c'était rare les cas ou on peut pas faire de condition ou while ou autre.

ALLTHEW3 : Je crois que c'est plutôt toi qui est de mauvaise fois mais si tu sais toujours pas à quoi sert le GOTO tant pis pour toi.
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
10 juin 2007 à 11:03
lol seul contre tous, il croit encore avoir raison ...
pire que de la mauvaise foi ^^

Goto End (jamais utilisé de goto de ma vie : je sais même pas si c'est bon)
dieuzorro Messages postés 21 Date d'inscription jeudi 6 janvier 2005 Statut Membre Dernière intervention 14 janvier 2008
10 juin 2007 à 10:43
Moi je ne suis pas un petit géni et la programmation c'est mon métier et le Goto c'est à proscrire et on peut toujours s'en sortir avec une avec une condition. S'il est préservé c'est pour permettre de garder une certaine compatibilité et pour permettre de faire de la programmation vite fait (mal fait). Et quand on développe à plusieurs passer sur du code développé par une autre personne où il y a des sauts de partout c'est la galère à débuguer. Bref il y a des règles de bonne programmation qu'il ne faut pas ignorer. Mais tu peux continuer à faire joue joue sur tout PC mais ne t'étonne pas d'avoir des remarques sur ton code quand tu le publie.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
9 juin 2007 à 22:02
Déjà l'IDE VS 2005 Express détexte les erreurs d'avance et les soulignes si le goto est pas bon.

Ensuite moi aussi j'ai utilisé des GOTO et j'ai commencé le Basic à l'âge de 8 ans et j'arrête pas depuis.

Et le goto est toujours utile dans certain cas ou on une condition ou autre n'est pas possible.
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
9 juin 2007 à 19:52
ah voilà ^^ enfin une explication correcte

en bref, le goto c'est mort depuis longtemps et c'est dommage que certains l'utilise ou le défende!

sur ce, @+
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
9 juin 2007 à 19:50
OneHacker, j'ai appris à programmer en basic sur CPC6128, j'ai utilisé plus de goto et de gosub que tu ne pourras jamais imaginer en utiliser de toute ta vie parce que les imbrications de code et les procédures n'existaient pas. Je pense ne donc pas avoir besoin d'apprendre à quoi ça sert.
Maintenant qu'on n'en a plus besoin pour faire des programmes, il est plus qu'absurde de continuer à les utiliser. La raison est simple : tu ne sais pas quel va être le comportement de ton programme lorsque tu rentres dans un morceau de code où la portée de tes variables est différente, où tu es dans une boucle, où tu es dans un bloc construit.
C'est vrai on peut les utliser, et les obscurciceurs de codes ne s'en privent pas.
L'exemple typique de ce qu'il ne faut pas faire, c'est ça

dim x as integer

do while x < 10
dim y as integer = x
label:
debug.print y
x+=1
loop

goto label

le programme t'affiche tous les nombre de 1 à 10... et après ?
Un programme équivalent sur un amstrad t'aurais fait une belle erreur "LOOP without a DO" juste pour t'apprendre à programmer.
J'ai appris à faire des programmes corrects après avoir écrit des absurdités pareilles. Depuis l'apparition des mots clef sub et function, je n'ai plus écrit des gotos que pour les gestions d'erreurs. Depuis l'arrivée du merveilleux bloc try/catch, la commande est devenue réellement obsolète et aurait du disparaître.
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
9 juin 2007 à 19:20
lol t'as deja vu beaucoup de goto dans des sources faites par des professionels ?

je sais même pas s'il y n'a un seul !

je te laisse avec ton goto, fais ce que tu veux c'était une remarque, prends la mal je m'en fou moi ^^

bonne programmation (avec ou sans goto)
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
9 juin 2007 à 19:11
C'est aussi une instruction VB6. ce n'est pas une mauvaise habitude. Et je vois pas le rapport avec sub, if, select case. car ce sont des conditions qui font un saut mais des fois ont doit faire un saut très loin dans les code qui fait pas partie de la condition ou procédure c'est pour ça que le goto existe et non pas pour rien.
allthew3 Messages postés 551 Date d'inscription samedi 8 janvier 2005 Statut Membre Dernière intervention 12 avril 2008 2
9 juin 2007 à 14:46
le goto est une instruction VB6. elle est uniquement là pour la compatibilité

un bon programmeur utilisera des Sub, Functions, ... (if then, case ...)

mais bon, comme on dit, chacun ses mauvaises habitudes !
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
9 juin 2007 à 12:54
Bah oui, c'est écrit (sur les livres)! XD
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
8 juin 2007 à 20:51
lol, ça s'enflamme ici...
un effort d'orthographe serait à prévoir pour certains...
et je peux pas m'empecher, cite : "apparemment vous savez pas à quoi ça sert et ben je vous explique que cela permet de faire un saut"
J'adore lol...
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
7 juin 2007 à 16:50
Ce n'est pas mon programme est personne n'a vu mon programme où j'utilise goto. Car il est que sur mon ordi.
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
7 juin 2007 à 14:44
J'ai lu ton programme et... le goto ne sert strictement à rien
En effet, soit le fichier n'existe pas, et il ne sert à rien de revenir executer la ligne où il va commencer à lire dedans, soit tu a déjà commencé à lire dedans, et dans ce cas, le message qui s'affiche est faux (le fichier existe) : il faudrait un try/catch à l'interieur du do/while pour gérer les erreurs.
Avant de dire que je suis ridicule, revoit la logique fonctionnelle de ton programme.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
7 juin 2007 à 12:46
Warny, t'es ridicule, et apparemment vous savez pas à quoi ça sert et ben je vous explique que cela permet de faire un saut, je l'utilise rarement mais dans un programme j'ai besoin de faire un saut car il n'y a pas d'autre moyen de le faire.
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
7 juin 2007 à 10:20
Je ne suis pas tout à fait d'accord à vous: j'utilise également rarement le goto (pour ne pas dire jamais), mais dans de rares situations il peut tout de même être pratique sans "mettre un bazar monstrueux". Dans le cas, par exemple, où on a plusieurs boucle imbriquée l'une dans l'autre et qu'on veut quitter une boucle interne (ça évite de mettre une série de boolean).

Evidemment, à utiliser avec beaucoup de modération et en connaissance de cause.
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
7 juin 2007 à 09:25
Si j'ai trouvé à quoi ça sert : à obscurcir le code lors d'une obsfuscation !
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
7 juin 2007 à 09:23
J'adore l'argument, c'est comme pour l'homéopathie pour une grippe (par exemple), c'est dire, ça marche puisque je suis guéri, alors que si on avait rien pris, on aurait été guéri de toute façon.
Goto, c'est pareil, c'est un placébo, ça sert à faire croire qu'un programme fonctionne, mais en cas de panne, c'est indéboggable.
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
7 juin 2007 à 09:16
Si ça existe encore, c'est juste pour uns compatibilité ascendante, tu peux voir mes programmes (même ceux sur mon site), il n'y en a aucun qui utilise GOTO (sauf pour la gestion d'erreur sous VB6, On error goto).
Goto n'est pas une bonne instruction pour programmer dans un langage évoluer, ce la créé un code spaghetti rapidement illisible.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
7 juin 2007 à 09:03
Pas la peine puisqu'on s'est que c'est utile autrement ca existerait pas.
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
7 juin 2007 à 08:09
Il est possible de créer un nouveau sujet sur le thème "L'instruction Goto est-elle encore utile en VB.NET" :)
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
6 juin 2007 à 19:27
Bah si qu'elle devrait exister, et ca marche dans un try catch.
cs_Warny Messages postés 473 Date d'inscription mercredi 7 août 2002 Statut Membre Dernière intervention 10 juin 2015
6 juin 2007 à 10:38
Dans un langage structuré, le goto est susceptible de mettre un bazar monstrueux.
Ici ton goto arrive au beau milieu d'un bloc try/catch. Comment peux-tu être sûr qu'il sera pris en compte ?
Quid des déclarations de variable dont la porté est limité au bloc dont tu viens de sortir et de celles dont la porté est limitée au bloc où tu rentres ?
Cette instruction ne devrait même plus exister !!!
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
5 juin 2007 à 15:35
Je trouve toujours une solution :
- créer une fonction/sub pour le bloc de code posant le problème
- Une variable (type booléen le plus souvent) qui fait office de drapeau
- Une instruction continue/exit

Un Goto est quasi tout le temps évitable.
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
5 juin 2007 à 14:44
Ah j'avais pas compris que tu parlais de summary ^^
Euh pour le goto moi je l'utilise parceque c'est un cas spécial ou une condtition Select Case if ou autre ne me permet pas de faire un saut particulier ^^
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
5 juin 2007 à 13:34
OneHacker je suis syntaxiquement d'accord avec toi, mais en .NET, les usages :

Mettre les 3 ' permet de pouvoir avoir la description du membre dans un tooltip (comme pour les classes du framwork avec la description de ce que l'on fixe).
''' (enter)
donne un truc du genre :
'''<summary>
''' Description de la fonction
'''</summary>
'''<Parameter name=.....

précision, si tu bosse en :
- .NET1 (2003), il faut que tu ajoute l'extension VBCommenter pour pouvoir ajouter cette fonction.
- .NET2 (2005), C'est tout inclu dans l'EDI.


Ensuite pour le GOTO, il s'agit d'une calamité dans un langage aussi évoluer, il existe d'autre méthodes pour faire ce genre de controle :
continue
exit
...


Remarque :
select case Bouléen
case is=true
...
case is=false
...
end select

peut se remplacer par :
if Bouléen Then
...
Else
...
End if
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
5 juin 2007 à 13:18
nHenry, si on peut utiliser GOTO dans une application VB.Net et un ' suffit pour les remarques, ca sert à rien d'en mettre 3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
5 juin 2007 à 11:28
Bonjour,

Quelques remarques :

- Que vois-je ??? GoTo Processing !!!!!!!!!
Pas de GOTO dans une application VB.NET, utilise une autre méthode.

- Utilise les 3 ' (''') pour décrire tes méthodes.

- Pourquoi c'est en anglais ?

@+
Rejoignez-nous