OVH Cloud OVH Cloud

utilité # dans fichiers ?

3 réponses
Avatar
Joseph PUSZTAY
Bonjour, je comprends toujours pas tout, concernant le # des fichiers,
parfois ça marche sans #, par exp:
P=pointeur
Line...P... c'est bon

Mais avec print, "P" tout seule ne passe pas, il faut mettre #P

Alors à quoi sert le # dans l'absolu, pourquoi il pase ou pase pas suivant
les commades de fichiers ???

Merci, @+, bye, Joe.

3 réponses

Avatar
François Picalausa
Bonjour/soir,

# remonte aux débuts du basic, tout comme les $, &, ... pour typer les
fonctions.

pour savoir si ce # est obligatoire, il faut te référer à l'aide:

Open Statement:
Syntax : Open pathname For mode [Access access] [lock] As [#]filenumber
[Len=reclength]

On voit que le # est entre crochets, ce qui signifie qu'il est optionnel

Par contre, il s'agit de
Print # Statement
Syntax : Print #filenumber, [outputlist]
et par conséquent, # faisant partie de l'instruction, il est obligatoire.
(probablement pour ne pas confondre avec la méthode print, qui elle ne
possède pas de #).

Mais le fait est que l'ouverture en mode binaire, qui est la plus rapide, ne
requiert jamais (ou du moins, très peu souvent) de #

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Joseph PUSZTAY" a écrit dans le message de
news:
Bonjour, je comprends toujours pas tout, concernant le # des fichiers,
parfois ça marche sans #, par exp:
P=pointeur
Line...P... c'est bon

Mais avec print, "P" tout seule ne passe pas, il faut mettre #P

Alors à quoi sert le # dans l'absolu, pourquoi il pase ou pase pas suivant
les commades de fichiers ???

Merci, @+, bye, Joe.




Avatar
patrice henrio
Est-ce que le pb ne viendrait pas surtout de la reconnaissance du type de la
variable, puisque VB fait du transtypage automatique. Ainsi pour Open il va
de toute façon essayer de transformer dasn le type # (double), pour print,
il ne peut pas savoir si vous voulez écrire 1 (byte, 1octet) ou integer (2
octets) ou long ou ...ou si voulez écrire dans le fichier #1. Par contre je
me pose la question, et si je veux écrire la valeur double de 1 (8 octets),
je fais comment ?
A part en passant par une variable ?

"François Picalausa" a écrit dans le message de
news:%
Bonjour/soir,

# remonte aux débuts du basic, tout comme les $, &, ... pour typer les
fonctions.

pour savoir si ce # est obligatoire, il faut te référer à l'aide:

Open Statement:
Syntax : Open pathname For mode [Access access] [lock] As [#]filenumber
[Len=reclength]

On voit que le # est entre crochets, ce qui signifie qu'il est optionnel

Par contre, il s'agit de
Print # Statement
Syntax : Print #filenumber, [outputlist]
et par conséquent, # faisant partie de l'instruction, il est obligatoire.
(probablement pour ne pas confondre avec la méthode print, qui elle ne
possède pas de #).

Mais le fait est que l'ouverture en mode binaire, qui est la plus rapide,


ne
requiert jamais (ou du moins, très peu souvent) de #

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"Joseph PUSZTAY" a écrit dans le message de
news:
> Bonjour, je comprends toujours pas tout, concernant le # des fichiers,
> parfois ça marche sans #, par exp:
> P=pointeur
> Line...P... c'est bon
>
> Mais avec print, "P" tout seule ne passe pas, il faut mettre #P
>
> Alors à quoi sert le # dans l'absolu, pourquoi il pase ou pase pas


suivant
> les commades de fichiers ???
>
> Merci, @+, bye, Joe.
>
>




Avatar
François Picalausa
Bonjour/soir,

Ainsi pour Open il va
de toute façon essayer de transformer dasn le type # (double), pour print,
il ne peut pas savoir si vous voulez écrire 1 (byte, 1octet) ou integer (2
octets) ou long ou ...ou si voulez écrire dans le fichier #1.



VB sait faire la différence entre Le fichier #1 (numéro 1) et le un double,
1#.
Donc, pour un écrire un double dans le fichier 1, via Put, en ouverture
Binary:

Open "c:toto.txt" For Binary As #1
Put 1,, 1#
'ou
Put #1,,1#
Close #1

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

"patrice henrio" a écrit dans le message de
news:
Est-ce que le pb ne viendrait pas surtout de la reconnaissance du type de


la
variable, puisque VB fait du transtypage automatique. Ainsi pour Open il


va
de toute façon essayer de transformer dasn le type # (double), pour print,
il ne peut pas savoir si vous voulez écrire 1 (byte, 1octet) ou integer (2
octets) ou long ou ...ou si voulez écrire dans le fichier #1. Par contre


je
me pose la question, et si je veux écrire la valeur double de 1 (8


octets),
je fais comment ?
A part en passant par une variable ?

"François Picalausa" a écrit dans le message de
news:%
> Bonjour/soir,
>
> # remonte aux débuts du basic, tout comme les $, &, ... pour typer les
> fonctions.
>
> pour savoir si ce # est obligatoire, il faut te référer à l'aide:
>
> Open Statement:
> Syntax : Open pathname For mode [Access access] [lock] As [#]filenumber
> [Len=reclength]
>
> On voit que le # est entre crochets, ce qui signifie qu'il est optionnel
>
> Par contre, il s'agit de
> Print # Statement
> Syntax : Print #filenumber, [outputlist]
> et par conséquent, # faisant partie de l'instruction, il est


obligatoire.
> (probablement pour ne pas confondre avec la méthode print, qui elle ne
> possède pas de #).
>
> Mais le fait est que l'ouverture en mode binaire, qui est la plus


rapide,
ne
> requiert jamais (ou du moins, très peu souvent) de #
>
> --
> François Picalausa (MVP VB)
> FAQ VB : http://faq.vb.free.fr
> MSDN : http://msdn.microsoft.com
>
> "Joseph PUSZTAY" a écrit dans le message de
> news:
> > Bonjour, je comprends toujours pas tout, concernant le # des fichiers,
> > parfois ça marche sans #, par exp:
> > P=pointeur
> > Line...P... c'est bon
> >
> > Mais avec print, "P" tout seule ne passe pas, il faut mettre #P
> >
> > Alors à quoi sert le # dans l'absolu, pourquoi il pase ou pase pas
suivant
> > les commades de fichiers ???
> >
> > Merci, @+, bye, Joe.
> >
> >
>
>