Numéro de canal libre pour ouverture d'un fichier [Résolu]

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Numéro de canal libre pour ouverture d'un fichier [Résolu]

Message par Kwai chang caine »

Bonjour à tous

J'ai vu cette instruction quelque part dans un code et pas moyen de la retrouver :?

Comment fait on pour obtenir un n° de canal libre pour l'ouverture d'un fichier.

Exemple :

Code : Tout sélectionner

CanalLibre = ?????

OpenFile(CanalLibre, Fichier$)
ReadFile(CanalLibre, Fichier$)    

.
.
.
Closefile(CanalLibre)
Merci et bonne journée
Dernière modification par Kwai chang caine le mar. 27/mars/2007 14:54, modifié 1 fois.
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

1/ Méthode recommandée :

Code : Tout sélectionner

CanalLibre = Openfile(#PB_Any, Fichier$)
puis, par exemple, ReadString(CanalLibre)

2/ Sinon, j'ai jamais fait mais ca doit fonctionner :

Code : Tout sélectionner

Canal = 0

While IsFile(Canal) 
  Canal + 1
Wend

CanalLibre = Canal
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Bonjour flype,

Je te remercie beaucoup . 8)

Comme tous les bons "Garde code", toujours à l'écoute et à la surveillance des petits navires en perdition sur l'océan purien..... :lol:

Bonne journée
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Code : Tout sélectionner

CanalLibre = OpenFile(#PB_Any, "c:\Essais")
Debug CanalLibre
Je viens d'essayer et ça me retourne un grand nombre = 8199832 8O

Ce que je voulais c'est le nombre que normalement on ecrit à la place du #PB_Any.

Car si j'essaye :

Code : Tout sélectionner

OpenFile(8199832, "c:\Essais")
Debug CanalLibre
Il est pas content Mr Pure :x
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

c'est normal, puisqu'en faisant #PB_Any
tu delegue a PureBasic la gestion du numero , donc t'a pas a t'en occuper !

tu a deux mode , soit tu utilise tes propre numero

Code : Tout sélectionner

 OpenFile(0, "Test.txt")    
  WriteStringN(0, "         This is a PureBasic file test")
  WriteString(0, "Now it's on ")
  WriteString(0, "the same line.")

  CloseFile(0)
soit tu fais confiance a PureBasic avec #PB_Any

Code : Tout sélectionner

 num=OpenFile(#PB_Any, "Test.txt")    
  WriteStringN(num, "         This is a PureBasic file test")
  WriteString(num, "Now it's on ")
  WriteString(num, "the same line.")

  CloseFile(num)

voila tous simple ! :D


ton

Code : Tout sélectionner

OpenFile(8199832, "c:\Essais")
Debug CanalLibre
ne peux pas marcher car entre de Run le #PB_Any
change !! il est remis a jour en temps reel !
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Bonjour DOBRO

Content de te reparler :D

Ayai, je viens a peu pres de comprendre............ :roll:

En fait, j'ai toujours mis mes propres numéros, depuis le debut.
Mais comme j'ouvre un fichier dans une procedure que je risque de réutiliser dans un autre code, je voulais etre sur de ne pas utiliser un canal deja utilisé.

C'est dur a comprendre comment un chiffre par exemple "0" peut remplacer un "8199832" 8O

Il est drolement intelligent le pure :roll:

J'avais cru voir une fonction qui donnais directement le n° de canal, mais j'y pense c'est peut etre pour VB :oops:
Car je suis obligé d'en faire aussi un peu.

Encore grand merci au 2 grands garde-cote
Bonne journée
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

ca n'a rien de compliqué ou de si intelligent. c'est très simple.

c'est juste toi qui te prend la tete comme d'hab. :lol:


[EDIT]
c'est pas méchant - tu me fais juste rire.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Flype a écrit :ca n'a rien de compliqué ou de si intelligent. c'est très simple.

c'est juste toi qui te prend la tete comme d'hab. :lol:


[EDIT]
c'est pas méchant - tu me fais juste rire.
oouaip il est pas pres de sortir du temple le Kwai chang :D
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Ouuuaih, on se refait pas, et surtout a mon age :(
Je crois que je trainerais ça toute ma vie......

Si un jour je me reincarne apres cette triste vie, je serais informaticien comme toi, avec noir de formule dans ma tete. :wink:

Et je parlerais tous les languages machine, et peut etre que ce jour la, je prendrais un petit navire sous mon aile, pour lui dire que c'est pas compliqué l'informatique. :lol:

Tu sais on a pas du tout la meme vue du haut d'un paquebot ou tu es que du bas d'une barque lorsque je regarde en me faisant peter 3 vertebres le pont du paquebot. :lol:

Vous aurez beau etre modeste,mon admiration pour vous n'en ai que plus grande. 8)

Des fois j'ai beau ramer, ramer, ramer mais j'en ai marre d'etre une barque

Je veux etre un paquebot
Je veux etre un paquebot
Je veux etre un paquebot
Je veux etre un paquebot
Je veux etre un paquebot
Je veux etre un paquebot
Je veux etre un paquebot
Je veux etre un paquebot
...................................

:lol:

Bonne croisiere....a vous deux
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
brossden
Messages : 833
Inscription : lun. 26/janv./2004 14:37

Message par brossden »

Le code de Flype fonctionne trés bien j'ai ci dessous simplement mis son code dans un bout de soft pour le démontrer.

Tu peux mettre le ";" devant n'importe quelle ligne commençant par Openfile(....)

Code : Tout sélectionner


Procedure CanalLibre()
  Canal = 0
  While IsFile(Canal)
    Canal + 1
  Wend
  ProcedureReturn Canal
EndProcedure

OpenFile(0,"c:\toto$$0.$$$")
OpenFile(1,"c:\toto$$1.$$$")
OpenFile(2,"c:\toto$$2.$$$")
OpenFile(3,"c:\toto$$3.$$$")
;OpenFile(4,"c:\toto$$4.$$$")  << Ce Fichier n'est pas ouvert en canal 4 !
OpenFile(5,"c:\toto$$5.$$$")
OpenFile(6,"c:\toto$$6.$$$")

Canal  = CanalLibre()

MessageRequester("Numéro du premier Canal Libre", "Vous pouvez ouvrir le Canal : "+Str(Canal)+".  Il est disponible")

For n=0 To 6
  If n=Canal
    n+1
  EndIf
  CloseFile(n)
  File.s="c:\toto$$"+Str(n)+".$$$"
  DeleteFile(File)
Next 

Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Bonjour BROSSDEN

Effectivement ça marche nickel, comme ça on peut connaitre directement le n° du canal de libre.

Je confirme, pour tout à l'heure, ya une fonction en VB toute prete.
Et c'est la que je l'ai vu, et je me melange les pinceaux

Code : Tout sélectionner

Public Sub AjoutDonnee(strContent As String, strChemFich As String)
     Dim F As Integer

     F = FreeFile '1er numéro libre
     Open strChemFich For Append As #F 'ouvert en ajout
     Print #F, strContent ' écrit dans le fichier dont le numéro est F
     Close #F
End Sub
Pour une fois que VB fait quelque chose de plus simple :lol:
Une fois n'est pas coutume, il est bon de le souligner et de rendre a césar .....:lol:

Je te remercie beaucoup denis
Avec toutes ces aides la traversée de la manche a la rame parait moins longue :lol:

Bonne journée a tous
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

Kwai chang caine a écrit :Je te remercie beaucoup denis
ah bon où çà :lol:
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

J'ai peut etre encore fait une bourde :oops:

Mais je croyais de mémoire que le prénom de BROSSDEN etait denis.

Si je me suis trompé, je lui fait toutes mes excuses. :oops:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

ah peut être - autant pour moi :D c'est juste que pour moi denis c'est denis...
Frenchy Pilou
Messages : 2194
Inscription : jeu. 27/janv./2005 19:07

Message par Frenchy Pilou »

Je veux etre un paquebot
C'est pas si bien que cela un paquebot, cela pollue à mort! :x
Un simple voilier c'est bien mieux 8)
Image
Est beau ce qui plaît sans concept :)
Speedy Galerie
Répondre