Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3236 connectés 

 


Dernière réponse
Sujet : PB urgent en tp de VB
juju_le_barbare Open Tchoix.Text For Input As #1
 
Je croyais que la commande open ouvrait un fichier séquentiel ! or une zone de texte n'est pas un fichier !
Qui peux m'expliquer ?

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
juju_le_barbare Open Tchoix.Text For Input As #1
 
Je croyais que la commande open ouvrait un fichier séquentiel ! or une zone de texte n'est pas un fichier !
Qui peux m'expliquer ?
Ciler Dim f as integer
f=FreeFile
 
:bic:
Carbon_14 Si on fait  
Open Tchoix.Text For Input As #X, X étant le numéro de buffer,
le test de fin de fichier est
   While Not EOF(X)
 
Quand on ouvre plus d'un fichier en même temps, il me semble qu'il existe une fonction qui retourne le numéro du buffer dispo, ça évite de jongler avec les #1, #2, #3 qui peuvent déja être utilisés dans un autre "coin" du programme (=> erreur).
Ciler Ton erreur est ...  
 

nickola a écrit a écrit :

Private Sub Visu_Click()
Dim num, type1 As Integer
Dim nom, comment, way As String
If Tchoix.Text <> "" Then  
    Open Tchoix.Text For Input As #1
    While Not EOF(Tchoix.Text) <-là
        cptr = cptr + 1
        If cptr > 3 Then
            cpt = cpt + 1
            Line Input #1, phrase
            Call decortique(phrase, num, type1, nom, comment, way) <-ou là
            tabDec(cpt).numéro = num  
            tabDec(cpt).name = nom
            tabDec(cpt).typ = type1
            tabDec(cpt).com = comment
            tabDec(cpt).chem = way
         End If
      Wend
      Close #1
txtchoix.Text = "le nombre de traitmeent est de " + cpt
End Sub
voilà la procédure qui plante et lorsque je compile il me dit :
Type d'argument byref incompatible.
 
DES IDEES ??? C'est urgent  




 
Type d'argument byref incompatible signifie que tu doit passer un paramètre par adresse et que avec le param que tu donnes c'est pas possible, donc il faut que tu vois dans les procédures EOF et decortique laquelle a un paramètre qui doit passer byref.
 
Pour moi, c'est le EOF(TChoix.Text), essaiye de le remplacer par EOF(1), histoire de pas avoir utilisé open pour rien  ;)

 

[edtdd]--Message édité par ciler--[/edtdd]

Bloodymary_ je pense que si tu declares phrase ca devrait deja aller mieux ;)  
 
ptite astuce
 
dim toto,titi as string :  
 
seul toto est string
titi est en fait un variant
[SDF]Poire Explicite un peu +...
Ca plante où éxactement ?
nickola Private Sub Visu_Click()
Dim num, type1 As Integer
Dim nom, comment, way As String
If Tchoix.Text <> "" Then
    Open Tchoix.Text For Input As #1
    While Not EOF(Tchoix.Text)
        cptr = cptr + 1
        If cptr > 3 Then
            cpt = cpt + 1
            Line Input #1, phrase
            Call decortique(phrase, num, type1, nom, comment, way)
            tabDec(cpt).numéro = num
            tabDec(cpt).name = nom
            tabDec(cpt).typ = type1
            tabDec(cpt).com = comment
            tabDec(cpt).chem = way
         End If
      Wend
      Close #1
txtchoix.Text = "le nombre de traitmeent est de " + cpt
End Sub
voilà la procédure qui plante et lorsque je compile il me dit :
Type d'argument byref incompatible.
 
DES IDEES ??? C'est urgent

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)