begin process at 2012 02 10 17:18:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichiers/Disque

 > ASP - OUVRIR UN FICHIER POUR LE MODIFIER SELON UNE RECHERCHE

ASP - OUVRIR UN FICHIER POUR LE MODIFIER SELON UNE RECHERCHE


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichiers/Disque Niveau :Initié Date de création :23/04/2002 Date de mise à jour :21/05/2003 11:42:29 Vu :17 869

Auteur : fabrice69

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note


 Description

Une astuce que j'ai mis en place pour pouvoir modifier un fichier en live sur le serveur (dans le cas de base c'était directement à la suite de l'upload).

Bref l'exemple va montrer comment changer la seconde et la troisième ligne d'un fichier texte, sans modifier la suite ni le début du fichier.  

Source

  • 'Modification du fichier dans les 3 lignes du début
  • Set FSO = Server.CreateObject("Scripting.FileSystemObject")
  • Fnm = strPath & NomFichier
  • Reste =""
  • 'Ouverture du fichier en lecture
  • set Lecture = FSO.OpenTextFile(Fnm,1,false)
  • 'On garde la premiere ligne en mémoire
  • FirstLine = Lecture.readLine
  • 'on passe les 2 lignes suivantes (la seconde et la troisième)
  • Lecture.skipLine
  • Lecture.skipLine
  • 'On charge enfin en mémoire le reste du fichier.
  • While not Lecture.atEndOfStream
  • Reste = Reste + Lecture.readLine + vbCr
  • Wend
  • Lecture.close
  • 'On Met en mémoire le caractere qu'on souhaite mettre à la place des données d'origine.
  • SecondLine = "AAAAAAAA"
  • ThirdLine = "Le texte"
  • 'On ouvre en écriture
  • set Ecriture = FSO.OpenTextFile(Fnm,2,false)
  • 'On ecrit toute les données stockées en mémoire
  • Ecriture.writeLine FirstLine
  • Ecriture.writeLine SecondLine
  • Ecriture.writeLine ThirdLine
  • Ecriture.writeLine Reste
  • 'On ferme le fichier.
  • Ecriture.close
'Modification du fichier dans les 3 lignes du début
Set FSO = Server.CreateObject("Scripting.FileSystemObject") 

Fnm = strPath & NomFichier

Reste =""

'Ouverture du fichier en lecture
set Lecture = FSO.OpenTextFile(Fnm,1,false) 

'On garde la premiere ligne en mémoire
FirstLine = Lecture.readLine 

'on passe les 2 lignes suivantes (la seconde et la troisième)
Lecture.skipLine 
Lecture.skipLine 

'On charge enfin en mémoire le reste du fichier.
While not Lecture.atEndOfStream
   Reste = Reste + Lecture.readLine + vbCr
Wend 
Lecture.close

'On Met en mémoire le caractere qu'on souhaite mettre à la place des données d'origine.
SecondLine = "AAAAAAAA"
ThirdLine = "Le texte"

'On ouvre en écriture
set Ecriture = FSO.OpenTextFile(Fnm,2,false) 

'On ecrit toute les données stockées en mémoire
Ecriture.writeLine FirstLine 
Ecriture.writeLine SecondLine
Ecriture.writeLine ThirdLine
Ecriture.writeLine Reste

'On ferme le fichier.
Ecriture.close
   

 Conclusion

Il suffit maintenant de l'adapter à votre goût.
Bon codage

Romelard Fabrice (Alias F___)


 Sources du même auteur

Source .NET (Dotnet) SHAREPOINT 2007 - OBTENIR LA LISTE DES WEBPARTS DANS UNE PAG...
Source .NET (Dotnet) SHAREPOINT 2007 - OBTERNIR LA LISTE DES FEATURES D'UN SITE
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES COLLATIONS SHAREPOINT...
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES LANGUES INSTALLÉES DA...
Source .NET (Dotnet) C# - FONCTION TRÈS SIMPLE POUR ENVOYER UN MAIL VIA SMTP

 Sources de la même categorie

Source .NET (Dotnet) IMPORTER UN FICHIER EXCEL DEPUIS UN POSTE ET L'AJOUTER SUR L... par jseblavoie
SERVER.MAPPATH QUI ACCEPTE LES ../ par divlys
UPLOAD D'IMAGES VIA ADODB.STREAM ET SQL SERVER par Nicolas_kojack
LISTING DE FICHIERS ET RÉPERTOIRES (FONCTION RÉCURSIVE) par Warwick
Source avec Zip UTILITAIRE POUR FORCER LE TÉLÉCHARGEMENT D'UN FICHIER SUR UN... par shaiulud

Commentaires et avis

Commentaire de cyrille le 23/11/2004 17:21:53

Bonjour,

J'ai un problème à l'utilisation de votre exemple. Le message dans le navigateur est le suivant :

Erreur de compilation Microsoft VBScript error '800a0401'

Fin d'instruction attendue

/iisHelp/common/500-100.asp, line 11

Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP Dim strMethod, lngPos, datNow, strQueryString, strURL
--------------------------------------------------------------------------^
Erreur d'exécution Microsoft VBScript error '800a0035'

Fichier introuvable

/generer_texte.asp, line 21

Peut-être avez-vous un indice ou une information pour m'aider ?

Merci d'avance et salutations,

Cyrille Christophe.

Commentaire de cyrille le 23/11/2004 17:47:26

Désolé pour le dérangement, j'ai trouvé.

Salutations,

Cyrille Christophe.

Commentaire de bo2ni le 08/10/2005 14:05:07

Bonjour

Est-il possible de modifier un fichier en cours de lecture ?
Je ne vois que des exemples d'écriture de fichier en partant d'un nouveau fichier vide.
Dans l'exemple ci-dessus, on ouvre en lecture un fichier "Lecture" pour ecrire dans un fichier "Ecriture".

Dans mon cas, j'ai besoin de lire un fichier, et de modifier une ligne pendant que je parcours ce fichier. Je n'ai pas envie de manipuler deux fichiers.

Merci pour votre aide

Bo2ni

Commentaire de fabrice69 le 08/10/2005 15:08:02 administrateur CS

Bonjour,
Vous n'avez pas bien consulté cette source. Il s'agit du même fichier que nous modifions dans cette exemple.
Je ne fait que :
- ouvrir > Lire > Modifier > Enregistrer
Je ne gère pas 2 fichiers mais un seul.
Cordialement
Romelard Fabrice.

Commentaire de bo2ni le 08/10/2005 15:20:09

Tu me dis que l'on ne gère qu'un seul fichier dans ce code mais pourtant je vois 2 instanciations :

# 'Ouverture du fichier en lecture
# set Lecture = FSO.OpenTextFile(Fnm,1,false)

# 'On ouvre en écriture
# set Ecriture = FSO.OpenTextFile(Fnm,2,false)

Je vois également que la méthode Readline ne se fait que sur le fichier "Lecture" et que la méthode Writeline ne se fait que sur le fichier "Ecriture".

# FirstLine = Lecture.readLine
(..)
#    Reste = Reste + Lecture.readLine + vbCr

# Ecriture.writeLine FirstLine
# Ecriture.writeLine SecondLine
# Ecriture.writeLine ThirdLine
# Ecriture.writeLine Reste

Je suis débutant en programmation VBScript mais il me semble que ce code source est assez clair. Surtoput au niveau du nommage des variables.

Peux tu m'expliquer quel est le SEUL fichier que l'on manipule ici ?

Merci
Bo2ni

Commentaire de bo2ni le 08/10/2005 15:39:13

Autant pour moi
Je n'avais pas vu que le fichier, étant nommé Fnm, est utilisé à la fois en lecture et en écriture.

merci par ta rapidité
Bo2ni

Commentaire de fabrice69 le 08/10/2005 17:32:19 administrateur CS

Pas de soucis.
Bonne continuation.
Romelard Fabrice

Commentaire de sboinot le 03/02/2006 12:16:45

Bonjour,
J'ai un probleme lors de l'ouverture en ecriture il me met "Permission refusée"
Je pense que c'est parce que je n'est pas les droits ??
Mais pourtatn le dossier est autorisé en ecriture :( avez vous une idée ??

Merci

Commentaire de fabrice69 le 03/02/2006 14:37:30 administrateur CS

Il est possible, mais le compte faisant fonctionner IIS a t'il les droits d'écriture.
Fabrice

Commentaire de sboinot le 03/02/2006 14:45:57

En fait je ne sait pas trop ou puis-je voir ca ?? répertoire de base ??
Car en fait mon fichier se trouve en dehors de ce dernier :(
J'ai essayer egalement d'enlever les anti virus mais sans résultats..
aurait tu d'autre solutions a me proposer ?

Merci

Commentaire de fabrice69 le 03/02/2006 23:03:35 administrateur CS

Ce sont les droits NTFS appliqués au répertoire ou sont stockés les fichiers.
Fabrice

Commentaire de salas_wolf le 28/04/2006 12:34:27

Slt g bien regarder tous vos commentaire et je voudrais savoir si lon peu aussi rechercher un mot ds une ligne via la methode : Lecture.Read(5) = mot_recherché.
Bien sur le mot_recherché serait de 5 caratères.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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 : 6,318 sec (3)

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