openfile ... createfile ...

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

openfile ... createfile ...

Message par jerexgrz »

Ces 2 fonctions sont un peu les mêmes. Pour openfile, je n'aurais pas autoriser la creation de fichier de maniere à etre plus cohérent avec createfile. J'aurais egalement ajouté un commentaire dans "description" dans l'aide de purebasic sur readfile qui permet de tester si un fichier est déjà existant.
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: openfile ... createfile ...

Message par Ar-S »

Salut,
Petit récapitulatif
OpenFile() : Ouvrir un fichier existant en lecture/ecriture ou création d'un fichier s'il n'existe pas.
CreateFile() : Création d'un fichier vide
ReadFile() : Lecture seule d'un fichier existant

Je suis d'accord avec ta remarque sur OpenFile() sur le fait qu'il ne devrait pas permettre la création d'un fichier, seulement sa modification. En effet, la commande CreateFile n'a plus trop d’intérêt et en se trompant ton peut virer un fichier existant (l'ayant confondue avec OpenFile justement). C'est pas bien grave mais j'ai toujours trouvé ça pas très clean non plus.

Ajouter l'astuce pour tester un fichier avec filesize dans la description comme pour les 2 autres commandes pourquoi pas.

Pour ma part j'opterai pour une fusion des 3 dans OpenFile() avec 2 [options] supplémentaire.

Code : Tout sélectionner

OpenFile(0,"texte",#READWRITE) ou OpenFile(0,"texte") ; #ReadWrite pour la lecture ecriture (par defaut)
OpenFile(0,"texte",#READ) ; #Read ou #ReadOnly pour la Lecture seule
ça réunirait les 3 commandes, ce serait plus simple et je ne vois pas ou serait le désavantage.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: openfile ... createfile ...

Message par falsam »

Personnellement ça ne me dérange pas. D'autres langages font de même.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: openfile ... createfile ...

Message par graph100 »

Très souvent pour des fichiers de données que j'utilises souvent j'utilise Createfile() car il m'est complètement égal de les écraser. Le but étant une mise à jour de leur contenu.
Et ça évite de devoir gérer le cas ou c'est la 1ère fois qu'on lance le programme et que les fichiers n'existent pas !
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: openfile ... createfile ...

Message par Ar-S »

graph100 a écrit :Très souvent pour des fichiers de données que j'utilises souvent j'utilise Createfile() car il m'est complètement égal de les écraser. Le but étant une mise à jour de leur contenu.
Et ça évite de devoir gérer le cas ou c'est la 1ère fois qu'on lance le programme et que les fichiers n'existent pas !
Perso j'utilise souvent des fichiers prefs donc souvent des fichiers à modifier, non à écraser ^^
Tout dépend de la façon dont on code.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
MLD
Messages : 1097
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: openfile ... createfile ...

Message par MLD »

Salut a tous

graph100 a raison, Createfile() a son utilité. le fait d'écrasé le fichier existant avant de le recréer. Si cette fonction n'existait pas , il faudrait deux opération pour faire la même chose.(Supprimer le fichier éxistant, et le recréer.). cela peut servir pour des logiciels qui enregistres des données temporaires pendant le fonctionnement, mais ne doivent pas servir au démarrage du même logiciel.
Répondre