Discussions au sujet de NI LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Ecrire dans un fichier texte qui est en lecture seule

Solved!
Go to solution

Bonjour,

Merci d'avance pour l'aide que vous pouvez m'apporter.

Je voudrais savoir s'il existe un moyen d'écrire dans un fichier texte qui est configuré en lecture seul.

 

En gros j'ai un programme qui va me générer des données que je vais sauvegarder dans des fichier text.

je voudrais les securisés. Je me suis dis que les configuer en lecture seule se serait une solution.

Le soucis c'est que je n'arrive plus à les alimenter en données??? Car labview me dis que je n'ai pas les autorisations.

 

Je suis preneur de toute solution permettant d'empecher que l'on puisse modifier manuellement ces fichier.

Merci à tous votre aide et vos conseil

 

Cordialement,

 

0 Kudos
Message 1 of 16
(5,913 Views)

Je n'ai jamais été confronté à ce type de besoin ... donc je m'y suis collé 10min.

 

je suis parti d'un fichier wordpad (.rtf) ... je l'ai placé manuellement en "lecture seule" via windows.

 

si je fais un "get permission" sur ce fichier (lecture seule), j'ai permissions = 292

 

je place ensuite manuellement le même fichier en "lecture + écriture" (via windows)

 

un get permission sur ce fichier en "lecture+écriture" me donne : permissions = 438

 

et en efet ...

 

si sur ce fichier placé en" lecture seule",  je fais un set permissions avec permissions=438

 

Bingo .... le fichier passe de "lecture seule" en "lecture+écriture". 

 

Le seul souics ....

 

que signifie ce "282" et ce "438" ?

 

quel est la signification de chaque bit ?

 

ou se trouve le bit qui détermine, soit une lecture seule, soit une lecture+écriture ?

 

Je me suis arrêté ici, car je suis en train de bosser sur autres choses.

 

peut-être un point de départ vers une solution à 100%   Smiley Happy

 

 

A.png

0 Kudos
Message 2 of 16
(5,904 Views)
Solution
Accepted by Sentenza

ok ... trouvé.

 

c'est le bit n°7 qui conrôle cela.

 

bit 7 = 1 = lecture + écriture (128 en base 10)

bit 7 = 0 = lecture seule

 

apparemment, il semblerait que Windows ignore les autres bits.

 

En effet, j'ai vérifié, ça fonctionne.

 

donc, solution :

 

Set Permission (128) - écriture dans le fichier - Set permission (0) pour replacer le fichier en "lecture seule".

Message 3 of 16
(5,902 Views)

salut,

 

juste pour compléter la réponse de Ouadji :

http://zone.ni.com/reference/en-XX/help/371361B-01/glang/setting_permissions/

 

Adeline.

Message 4 of 16
(5,878 Views)

Salut, Ouadji,

Je viens de prendre connaissance de ta solution, que je vais m'empresser de tester sur mon programme.

Je te tiens au courant

En tous cas Merci!!! beaucoup de ton aide!!!

0 Kudos
Message 5 of 16
(5,870 Views)

merci pour le complément d'infos

0 Kudos
Message 6 of 16
(5,860 Views)

ça fonctionne parfaitement!!!

Je vais voir comment je peut intégré cela dans mon programme afin de guarantir la sécurité des mes données.

 

Merci encore pour ton aide.

0 Kudos
Message 7 of 16
(5,855 Views)

ça fonctionne parfaitement!!!

 

yesss ! content ! Smiley Happy

0 Kudos
Message 8 of 16
(5,852 Views)

Salut à tous, si vous voulez modifier ou lire plus d’options sur les fichiers ou dossier, comme :

  • lecture seul (ReadOnly)
  • caché (hidden)
  • système (system)
  • dossier (directory)
  • Archive (archive), qui est le bit d’archive pour signaler qu’un fichier a été archivé
  • Normal
  • temporaire
  • Compressé (compressed)
  • Horsline (offline)
  • Indexé
  • crypté (encrypted) uniquement en lecture

 

en utilisant kernel32.dll, GetFileAttributesA ou SetFileAttributesA

 

File Attributes.png

 

File Attributes IHM.png

 

 

A+

banniere Luc Livre NXG Champion.png

Luc Desruelle | Mon profil | Mon blog LabVIEW |
LabVIEW Architect (CLA) & TestStand Developper (CTD) | LabVIEW Champion
MESULOG | NERYS

Message 9 of 16
(5,834 Views)

Merci également!

c'est très intéressant car cela m'ouvre d'autre porte.

Cordialement,

0 Kudos
Message 10 of 16
(5,827 Views)