Aide svp => on error goto ...

Aide svp => on error goto ... - VB/VBA/VBS - Programmation

Marsh Posté le 10-02-2005 à 17:04:40    

Private Sub Form_Load() On Error goTo Probleme
 
    Open "D:\abcd.txt" For Input As #1
         
    combo_langue.Text = "Aucune langue choisie"
    combo_langue.AddItem "Français"
    combo_langue.AddItem "Néerlandais"
     
Probleme:
    Open "D:\abcd.txt" For Output As #1
End Sub
 
Quel est le probleme pleeeease   :cry:  :jap:  

Reply

Marsh Posté le 10-02-2005 à 17:04:40   

Reply

Marsh Posté le 10-02-2005 à 17:25:47    

Commençons par le début.
 
• Tout d'abord, tu ouvre un fichier que tu ne ferme pas ! -> problème.
 
• Après tu en fais quoi de ton fichier ? (après l'avoir ouvert) ?
 
• Connais tu les commandes associées à un fichier ?  :??:  
 
Ouvrir un fichier en lecture :

Code :
  1. Open chemin_du_fichier For Input As #1
  2. Input #1, valeur_de_la_ligne_lue
  3. Close #1


Ouvrir un fichier en écriture (et tout effacer) :

Code :
  1. Open chemin_du_fichier For Output As #1
  2. Print #1, écrire_valeur
  3. Close #1


Ouvrir un fichier en écriture (en continuant le fichier) :

Code :
  1. Open chemin_du_fichier For Append As #1
  2. Print #1, écrire_valeur
  3. Close #1


 
• Pour finir, quoi qu'il arrive (qu'il y ai une erreur ou pas), ta boucle d'erreur sera utilisée. Place un ' Exit Sub ' avant ' Problème: '
 
( édit : des fautes de copier/coller. )


Message édité par knakes le 10-02-2005 à 17:27:56
Reply

Marsh Posté le 11-02-2005 à 08:51:03    

J'ai trouvé une autre soluce mais j'ai certainement du oublier  
" le exit sub "
 
Merci bcq.
 
++
 

knakes a écrit :

Commençons par le début.
 
• Tout d'abord, tu ouvre un fichier que tu ne ferme pas ! -> problème.
 
• Après tu en fais quoi de ton fichier ? (après l'avoir ouvert) ?
 
• Connais tu les commandes associées à un fichier ?  :??:  
 
Ouvrir un fichier en lecture :

Code :
  1. Open chemin_du_fichier For Input As #1
  2. Input #1, valeur_de_la_ligne_lue
  3. Close #1


Ouvrir un fichier en écriture (et tout effacer) :

Code :
  1. Open chemin_du_fichier For Output As #1
  2. Print #1, écrire_valeur
  3. Close #1


Ouvrir un fichier en écriture (en continuant le fichier) :

Code :
  1. Open chemin_du_fichier For Append As #1
  2. Print #1, écrire_valeur
  3. Close #1


 
• Pour finir, quoi qu'il arrive (qu'il y ai une erreur ou pas), ta boucle d'erreur sera utilisée. Place un ' Exit Sub ' avant ' Problème: '
 
( édit : des fautes de copier/coller. )


Reply

Marsh Posté le 11-02-2005 à 09:21:34    

Et puis c'est bizarre, tu ouvres ton fichier en entrée. Et en cas d'erreur tu l'ouvres en sortie :??:

Reply

Marsh Posté le 11-02-2005 à 09:37:10    

c'est le contraire :p, mais bon ca fct maintenant .
 
Encore une p'tite question : pour savoir si un fichier existe, vaut mieux utiliser "dir" ou "fileexists" avec un  controle qu'il faut activer .
 
Merci d'avance

Reply

Marsh Posté le 11-02-2005 à 09:38:46    

avec dir ouais y'a moyen

Reply

Marsh Posté le 11-02-2005 à 09:41:15    

mais y a une diff ou pas ....
 
Suppose que fileexists ne sert qu'à ca tandis que dir, c'est pas son but premier.
 
Est ce que fileexists est plus lourd vu qu'il faut activer "microsoft runtime" ... ou un truc dans ce genre ...

Reply

Marsh Posté le 11-02-2005 à 10:32:08    

* tu fermes pas ce que tu ouvres.
* j'ai RIEN compris à ce que tu cherches à faire : tu ouvres ton fichier en lecture (jusque là ok) et si jamais il y a un problème tu le rouvres par dessus en écriture et tu fais rien -> ????
* Le label Problème sera éxécuté dans tous les cas, qu'il y ait erreur ou non : place un exit sub juste avant, ou fais un if/select case sur err.number


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed