FSO, Pour ou contre ?

MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 - 16 juil. 2005 à 13:53
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 16 juil. 2005 à 17:47
Bonjours, j'aurai simplement voulu savoir ce qui motivent certain programmeurs à utiliser FSO ?

Je ne l'utilise jamais parce que ce système est extremement lent mais y a t'il des avantages ??



Alors, pour ou contre ?

-=Ar$£nik=-

6 réponses

cs_MasterHack Messages postés 586 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 13 février 2008 2
16 juil. 2005 à 13:57
salut, moi j'utilise fso en cas de programmation vbs car ça donne un grand avantage,mais au cas ou je programme sous vb je prefere passer par le billet des api ou des fonction predefinies.si non je ne suis pas contre fso.
0
MaxSoldier Messages postés 289 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 28 février 2009 2
16 juil. 2005 à 14:06
Un grand avantage :p Mais lequel :p ( perso, je suis plutôt contre )???

-=Ar$£nik=-
0
cs_MasterHack Messages postés 586 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 13 février 2008 2
16 juil. 2005 à 14:12
celui de pouvoire traiter les fichiers et repertoires sous vbs,si non tu devera creer t propres typelib en vb et les utliser en vbs a l'aide de createobject().le seul blem que j'ai avec fso c la presence des antivirus (script bloking), mais pour etre contre faut justifier ça aussi ,a vous :)
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Modérateur Dernière intervention 15 juillet 2011 37
16 juil. 2005 à 15:50
Salut,



Dans tous mes programmes, j'utilise les FSO.



Je peux faire de la programmation objet avec.

Passer des textstream en parametre de fonction

Exemple pour ecrire du code HTML , c'est pratique, une classe ou un module, et c'est plus propre.



Exemple



sautdeligne(ts) ---> ecrit
sur le textstrem. comme le faire avec des #1 ????

enteteHTML(ts) --> ecrit <HTML><META> .......</META>

bien sur c'est tres sommaire mais le code HTML n'est pas tout dans la meme fonction.



Il y a peut etre d'autre méthode.



Autre aspect interressant c'est la completion automatique.

le delete d'un fichier est sur file

sinon il faut savoir que kill --> Suppresion d'un fichier



Le principe est repris dans DOTNET.



Et dernier point peut etre pas vrai, c'est la gestion des fichier reseau.

Je ne sais pas si les apis les gere bien les fichier \\machine\rep\fichier.

J'ai pas testé ce genre de fichier avec les API KILL et MKDIR ...



Espérant faire avancé le débat?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
16 juil. 2005 à 16:49
Salut ;O)


FSO est fait pour le scripting. C'est là qu'on le retrouvera principalement. FSO étant un objet COM, il est bien évident qu'on peut l'utiliser à travers n'importe quel langage reconnaissant COM. FSO est très facile à utiliser et est présent sur Win2000 et XP et ultérieur. Pour un petit programme vite fait en VB ayant une diffusion limitée, pourquoi ne pas l'utiliser ?

Voici les arguments en sa défaveur :

- exécutable lié à différentes DLL (au moins 7 versions différentes ):

msvcrt.dll - Runtime Library
scrrnfr.dll - Ressources internationales de l'exécutable Script Microsoft
scrrun.dll - Microsoft Script Runtime

- FSO est extrêmement lent : lien :
Performance Comparison - FSO vs. API
http://vbnet.mvps.org/index.html?code/fileapi/fsoapicompare.htm

- il est possible de désactiver FSO pour une question de sécurité

Pour des développements à orientation professionnelle, il serait plus judicieux de s'en passer et de reproduire les fonctionnalités en pure VB avec l'utilisation d'API. Le code est sera beaucoup plus rapide car FSO est un gros lourdeau.
En ce qui me concerne, je n'utilise jamais FSO via VB6 mais je l'utilise en scripting.

Guy
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 18
16 juil. 2005 à 17:47
Salut,
Ok avec Neo.balastik, de toutes façons, le scripting est déjà lent (langage interprété). Une lourdeur de plus ou de moins ....

Pour nhervagault, kill et mkdir ne sont pas des API mais des instructions (ou fonctions) héritées des anciens vb qui les avaient héritées du DOS et conservées pour compatibilité.

Effectivement, kill et mkdir sont incapables de reconnaitre un chemin réseau (sans lettre logique).
Les API qui leur correspondent, et qui acceptent les chemins réseau, sont en vb6 :
DeleteFile et CreateDirectory

en vb.net :
System.IO.File.Delete et System.IO.Directory.CreateDirectory

En dehors du scripting, (quoique), il y a donc toujours une solution pour se passer du FSO qui, soit dit en passant n'est qu'un intermédiaire généraliste qui se sert lui-même des API.

Un de mes formateurs a dit : Utiliser FisSystemObject pour effectuer une simple action comme effacer un fichier c'est comme mobiliser une caserne de pompier entière pour écraser un moustique.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0