begin process at 2012 05 28 11:13:57
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > MANIPULATION DE FICHIERS ET DOSSIERS

MANIPULATION DE FICHIERS ET DOSSIERS


 Information sur la source

Note :
9,57 / 10 - par 7 personnes
9,57 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Niveau :Expert Date de création :05/06/2004 Vu :27 621

Auteur : delord_19

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Et oui, grace à l'utilisation de l'activeX le VBS n'a plus le monopole de la manipulation de fichiers.
Voila quelques instructions permettant de créer d'écrire et de lire un fichier. Ils en existent bien d'autres permettant notamment de copier de détruire ou de déplacer les fichiers et dossiers ainsi que les bases de registres ou les fichiers temporels. J'en expliquerai surement le fonctionnement dans un autre article.

Source

  • <html>
  • <!-- date de creation: 16/07/2003 -->
  • <head>
  • <title></title>
  • <meta name="Description" content="">
  • <meta name="Keywords" content="">
  • <meta name="Author" content="Ak3naton">
  • <meta name="Generator" content="WebExpert 2000">
  • </head>
  • <script>
  • function create() { //fonction de création d'un fichier
  • var Object = new ActiveXObject('Scripting.FileSystemObject'); //Crée un espace mémoire ActiveX qui va nous servir à contenir et à modifier le fichier voulu.
  • var NouvTxt = Object.CreateTextFile('Hello.txt',true); //Ici on crée un nouveau fichier .txt mais vous pouvez mettre l'extension que vous voulez comme .html, le paramètre "false" indique qu'un fichier existant ne sera pas écrasé, "true" a l'effet inverse. Aprés avoir été créé avec cette fonction le fichier est immédiatement accessible pour une lecture ou une écriture.
  • NouvTxt.Write('Hello world !'); //On écrit un petit mot.
  • NouvTxt.Close(); //Puis on referme le fichier.
  • }
  • function read() { //fonction de lecture d'un fichier
  • var Object1 = new ActiveXObject('Scripting.FileSystemObject'); //Même formule que dans la fonction précédente, j'ai juste changé le nom de la variable pour ne pas s'embrouiller, même si ce n'est pas indispensable étant donné que l'on change de fonction.
  • var LirTxt = Object1.GetFile('Hello.txt'); // GetFile() permet d'attribuer à l'objet activeX la valeur d'un fichier existant, ici , celui que l'on a créé précedemment. Seulement getfile() ne le rend pas immédiatement accessible comme le createTextFile, il va falloir utiliser une autre fonction.
  • var doc1 = LirTxt.OpenAsTextStream(1); //Maintenant que notre fichier .txt est initialisé on va pouvoir le manipuler, le paramètre 8 signifie que l'on va ouvrir le fichier et le compléter , la valeur 1 permet de l'ouvrir en lecture seule, et le 2 l'ouvre et écrit en écrasant les valeurs déjà existantes.
  • doc1.Skip(5); //cette instruction permet d'exclure les 5 premiers caractères du fichier lors de sa lecture.
  • var txt = doc1.ReadAll(); // On "lit tout" le fichier, il existe aussi ReadLine(x) qui lit la ligne x et Read(x) qui lit les x premiers caractères du fichier.
  • fenetre.value=txt; //On affiche le contenu.
  • doc1.Close(); //On referme.
  • }
  • </script>
  • <body>
  • <input type="button" value="Créer" Onclick="create()"><br>
  • <input type="button" value="Lire" Onclick="read()">
  • <input type="text" size=40 value="" name="fenetre">
  • </body>
  • </html>
<html>
<!-- date de creation: 16/07/2003 -->
<head>
<title></title>
<meta name="Description" content="">
<meta name="Keywords" content="">
<meta name="Author" content="Ak3naton">
<meta name="Generator" content="WebExpert 2000">
</head>
<script>
function create() {  //fonction de création d'un fichier
var Object = new ActiveXObject('Scripting.FileSystemObject'); //Crée un espace mémoire ActiveX qui va nous servir à contenir et à modifier le fichier voulu.
var NouvTxt = Object.CreateTextFile('Hello.txt',true); //Ici on crée un nouveau fichier .txt mais vous pouvez mettre l'extension que vous voulez comme .html, le paramètre "false" indique qu'un fichier existant ne sera pas écrasé, "true" a l'effet inverse. Aprés avoir été créé avec cette fonction le fichier est immédiatement accessible pour une lecture ou une écriture.
NouvTxt.Write('Hello world !'); //On écrit un petit mot.
NouvTxt.Close(); //Puis on referme le fichier.
}
function read() { //fonction de lecture d'un fichier
var Object1 = new ActiveXObject('Scripting.FileSystemObject'); //Même formule que dans la fonction précédente, j'ai juste changé le nom de la variable pour ne pas s'embrouiller, même si ce n'est pas indispensable étant donné que l'on change de fonction.
var LirTxt = Object1.GetFile('Hello.txt'); // GetFile() permet d'attribuer à l'objet activeX la valeur d'un fichier existant, ici , celui que l'on a créé précedemment. Seulement getfile() ne le rend pas immédiatement accessible comme le createTextFile, il va falloir utiliser une autre fonction.
var doc1 = LirTxt.OpenAsTextStream(1); //Maintenant que notre fichier .txt est initialisé on va pouvoir le manipuler, le paramètre 8 signifie que l'on va ouvrir le fichier et le compléter , la valeur 1 permet de l'ouvrir en lecture seule, et le 2 l'ouvre et écrit en écrasant les valeurs déjà existantes.
doc1.Skip(5); //cette instruction permet d'exclure les 5 premiers caractères du fichier lors de sa lecture.
var txt = doc1.ReadAll(); // On "lit tout" le fichier, il existe aussi ReadLine(x) qui lit la ligne x et Read(x) qui lit les x premiers caractères du fichier.
fenetre.value=txt; //On affiche le contenu.
doc1.Close(); //On referme.
}
</script>
<body>
<input type="button" value="Créer" Onclick="create()"><br>
<input type="button" value="Lire" Onclick="read()">
<input type="text" size=40 value="" name="fenetre">
</body>
</html>

 Conclusion

Amusez vous bien !


 Sources du même auteur

PAGE DE CONNEXION LOGIN/PASS VRAIMENT SIMPLE ET ASSEZ SURE ;...
Source avec Zip BASES DE DONNÉES JAVASCRIPT
INSERRER UN SCRIPT DANS UNE PAGE CIBLE
Source avec une capture ENCORE UN EFFET MATRIX DIFFÉRENT

 Sources de la même categorie

Source avec Zip POUR LES DÉBUTANTS EN JAVASCRIPT par lecurieux41
CALCULER LA DISTANCE ENTRE DEUX ADRESSES DE FORMULAIRE GRÂCE... par nebenobo
Source avec Zip RÉCEPTION DE SMS EN JAVASCRIPT par hhoareau
APPELER, UN NUMÉRO DE TÉLÉPHONE GRÂCE À UNE ICÔNE SUR L'ÉCRA... par Rainbow
Source avec Zip Source avec une capture CSS3 TRANSFORM par kazma

Commentaires et avis

Commentaire de vdzh le 07/06/2004 07:47:20

Merci pour toutes ces expliaction bien claires !
Débutant sur HTML, je cherche à me créer un menu personnel que je pourrais ainsi modifier en "live".

Toutefois, une petite question : Est-t'il possible (au lieu de lire/écrire) dans un fichier *.txt, de le faire dans une base de données
ex: Excel (*.xls ou *.mdb) ? et ainsi, au lieu de lire ligne à ligne, de lire cellule par cellule.

Merci !

Commentaire de delord_19 le 07/06/2004 13:07:53

Je ne peux pas tester ce que je vais te dire parce que je n'ai pas excel!
Mais tu peux essayer de remplacer :
  new ActiveXObject('Scripting.FileSystemObject');
par :
  new ActiveXObject('Excel.Application');

Tiens moi au courant stp !

Commentaire de vdzh le 08/06/2004 09:17:55

Et non, cela ne fonctionne pas !
J'obtiens l'erreur suivante :
"Cet objet ne gère pas cette propriété ou cette méthode"

Commentaire de shopoto le 06/08/2004 17:07:24

J'ai voulu tester ce code,
je l'ai copié/collé et enregistré ds une page html
d'un site hebergé sur IIS 6.

Quand j'accède à la page et que je clique
sur "CREER" ou "LIRE" j'ai droit à une
erreur javascript:

"Un composant ActiveX ne peut pas créer un objet."

Qu'est ce que cela signifie?

Faut il "autoriser" les ActiveX sur le serveur Web?
Si oui comment faire?

Ou bien j'ai manké kelkechose?

Merci d'avance!

Commentaire de WindPowa le 30/08/2004 22:30:26

J'ai... un problème. Je ne sais pas si c'est chez moi seulement mais quand je clique sur "Lire", le champ de texte, supposé afficher "Hello world !", n'affiche que
" world !" (avec un espace avant world).

Commentaire de WindPowa le 30/08/2004 22:31:21

J'ai... un problème. Je ne sais pas si c'est chez moi seulement mais quand je clique sur "Lire", le champ de texte, supposé afficher "Hello world !", n'affiche que
" world !" (avec un espace avant world).
Sinon c'est très bien et ça reste bien comme source. 9/10+1 point pour les bons commentaires = 10/10 !

Commentaire de delord_19 le 30/08/2004 22:51:44

en fait c'est tout simplement la fonction Skip qui enlève le 'hello' !
donc c'est fait expré et ça le fait j'espère chez tout le monde.
cela dit cette fonction ne serre à rien ici, c'est juste pour montrer qu'elle existe.

Commentaire de delord_19 le 30/08/2004 22:56:59

dsl shopoto, je te répond que maintenant, tu as peut-être déjà trouvé la réponce à ton problème, mais pour ma part je pense que tu as raison il faut que ton serveur autorise les activeX ce qui devient rare étant donné que ces fonctions peuvent être utilisées par des virus ... tu n'as plus qu'a trifouiller dans les options !

Commentaire de marilyn_manson le 13/10/2004 17:10:34

moi aussi j'ai un problème:
quand je clik sur creer on me dit: erreur de script, l'objet ne prend pas en charge cette action.

est-ce qu'on est obligé demetrre ce script sur serveur web pour ki marche??

merci

Commentaire de Foucse le 12/12/2004 20:12:32

Merci beaucoup pour toutes ces explications !!

Mais comment on fait pour creer un fichier dans un autre repertoir de Windows... Si c'est posible bien sûr.

Merci encore !
                                                                     Foucse

Commentaire de wiwiwiwi le 19/06/2011 20:51:53

activeX ne fonctionne que sur IE... c'est pour cette raison que vous utilisez un autre navigateur

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales