[Résolu] Erreur lors de la lecture d'un fichier
#1
Bonjour,
Voici mon code fonctionnel m'ouvrant un fichier .txt
TCL
bind pubm -|- "*" pub_modo2
proc pub_modo2 {nick host hand chan arg} {
        set arg [mirc_strip $arg]
        set cmd [lindex $arg 0]
      set cmd2 [string tolower [lindex $arg 1]]
      set fichiertext "scripts/project/modo/$cmd2.txt"
        switch -- $cmd {
      "!modo2" {
      if {$cmd2 eq "" } {putfast "NOTICE $nick :\0034SyntaXe :\0033 !modo2 <pseudo1/pseudo2> "; }
      set ouverturefichier [open $fichiertext r]
      while { ![eof $ouverturefichier] } {
      gets $ouverturefichier lecturefichier
      set len [string length $lecturefichier]
      set lecturefichier [string map {"Pseudonyme :" "\0034Pseudonyme :\0033" "Prenom :" "\0034Prenom : \0033" "Departement :" "\0034Departement :\0033" "Description :" "\0034Description :\0033" "Phrase perso :" "\0034Phrase perso :\0033"} $lecturefichier]
      putdccraw 0 [expr $len + 1] "$lecturefichier\n" 
      putquick "PRIVMSG $nick :\0034$lecturefichier"
      }
      close $ouverturefichier
      return 1
      }
   }
}



Si je tape "!modo pseudo1" il va me sortir le texte suivant avec les couleurs que j'ai mis dans le code:
Code :
Informations sur le moderateur
Pseudonyme : Pseudo1
Prenom : Pseudo2
Departement : XX
Description : Aime les lasagnes
- - - -
Phrase perso : Aucune idée

Maintenant si je tape "!modo toto" il me retourne l'erreur suivante (qui est normal):

Code :
couldn't open "scripts/project/modo/toto.txt": no such file or directory


M'a question:
Comment faire en sorte pour que le code renvoie une erreur si le .txt n'existe pas?
(J'ai fait divers essai non concluant pour cela que je me retourne vers vous)
Répondre
#2
Tu peux soit d'abord faire une vérification avec file exists soit faire un catch sur l'ouverture du fichier
Répondre
#3
Ca n'engage que moi, mais je trouve qu'utiliser catch plutôt que file exists, c'est comme faire un créneau avec sa voiture en écoutant si ça racle plutôt que d'utiliser les rétroviseurs Smile
Répondre Avertir
#4
Je suis bien d'accord, pour ma part je n'utilise que très rarement les catch, et jamais pour tester un fichier. Uniquement pour des connexions (DB ou serveurs distants) dont je ne peux maitriser l'état.
Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Resolu] Ajout de couleur durant une lecture de fichier heretoc 0 2,418 16/12/2012, 02:10
Dernier message: heretoc
  [Résolu]Fichier vide. aliasangelius 1 2,337 18/09/2012, 15:46
Dernier message: aliasangelius
  [Résolu]Une sauvegarde de fichier. aliasangelius 4 2,434 16/07/2012, 16:19
Dernier message: aliasangelius
  problèmes de collision lors d'opérations d'écriture dans un fichier MenzAgitat 4 3,332 28/06/2011, 20:12
Dernier message: djkenny
  Lecture fichier (ou bdd) heretoc 5 4,177 15/06/2011, 23:31
Dernier message: heretoc
  Erreur Trivia.tcl ( résolu ) ShadoW 4 5,065 27/04/2011, 02:10
Dernier message: despotes
  voir l'ip lors d'une connection lesny 4 2,675 06/01/2011, 22:57
Dernier message: lesny
  Erreur lecture fichier.db heretoc 6 3,079 10/07/2010, 03:01
Dernier message: heretoc
  erreur au lancement de trivia.tcl [résolu] dimoala 3 3,199 13/08/2009, 18:22
Dernier message: CrazyCat

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)