oups merci
Version imprimable
oups merci
pour créer une extention perso tu peux tout simplement créer un nouveau fichier par exemple
fichier c'est le nom du fichier et ext ton extention...Citation:
fichier.ext
par contre il sera toujours possible de le modifier en l'ouvrant avec notpad ou un autre prog du style
sinon pour la 2ème question
perso ça m'étonnerai si tu le met en lecture seule il est pas possible de le modifier (peut etre si tu peux modifier cette propriété avec ton programme)Citation:
Et a ce sujet est il possible de mettre un fichier .ini comme fichier caché et en lecture seule tout en pouvant le modifier, biensur, par mon programme.
biensur ce code ne marche pas mais comme je sais pas comment faire, c'est juste pour visualiser un peu le trucCode:
1
2
3
4 fichier.ext->lecture seule = false; //je le modifie fichier.ext->lecture seule = true;
Ouais ...
Merci Mangacker, mais j'en sais pas plus...
Dans l'excellente FAQ de C++ Builder, ici vous pouvez changer les attributs d'un fichier (dernier aliéna du lien donné) et donc le mettre ou non en lecture seule et le cacher ou non. Pour le reste, il s'agit de créer un algorithme identique à celui des fichiers ini pour aller chercher une valeur correspondant à un code, ce n'est pas très difficile mais il faut être précis.
À bientôt
Gilles
Salut !
Pour tout ce qui ne doit pas être directement accessible (pour autant qu'on puisse le faire), il me semble qu'il est possible de modifier les ressources d'un exe.
Voir en particulier dans l'aide Win32 SDK, la partie "Resources" :
L'idée est donc de faire en sorte que le programme modifie son propre *.exe.Citation:
BeginUpdateResource
UpdateResource
EndUpdateResource
Si c'est dans ce sens là, il serait bon d'ouvrir une nouvelle discussion (à moins qu'il existe déjà des réponses ailleurs... je n'ai pas trop le temps de rechercher).
A plus !
J'avoue que cette idée m'a toujours plu mais n'ai pas réussi à la mettre en oeuvre (il est vrai aussi que je n'ai pas trop insisté non plus pour trouver une solution n'en ayant nul besoin). En effet, si vous déclarez une zone avec un mot-clé juste avant pour identifier son adresse dans le .exe et que vous écriviez dans cette zone, cette modification sera valide durant l'exécution du programme mais si vous sauvegardez le nouveau .exe sous un autre nom (car le même nom sera refusé), à l'exécution de ce nouveau .exe, les modifications sont annulées ou ignorées, je suppose que c'est une sécurité. C'est vrai que c'est une autre conversation mais c'est connexe malgré tout.
À bientôt
Gilles
Salut
Un lien sur la modification d'une ressource d'un .EXE
Je pense que le probleme a ete resolu par BandyBoy mais je n'ai pas retrouve son Post
Merci pour vos réponses,
Mais Gilles j'ai effectivement trouvé dans la faq le moyen de lire l'état des attributs d'un fichier mais rien pour donner ou modifier un état.
Et pour ce qui est de modifier la ressource dans l'exe j'y ai bien pensé mais ça me semble un peu "lourd" et comme j'était déjà parti sur un fichier externe je voudrais poursuivre dans cette voie là, pour cette fois ... (n'oublions pas que je débute en prog )
Merci.
Mais j'ouvrirais une autre dicussion si je vais dans le sens de la modification de la ressource dans l'exe, encore que j'ai vu que c'était pas mal expliqué dans la faq donc je m'en débrouillerais peut être...
On peut rendre un fichier en lecture seule via la fonction FileSetReadOnly ainsi :
L'écriture est de nouveau possible en remplaçant true par false.Code:FileSetReadOnly("File1.txt",true);
Donc vous pouvez utiliser un fichier ini que vous bloquez au moment du OnDestroy de la forme principale (fin d'exécution de l'application) et que vous débloquiez dans le constructeur de la forme principale.
Pour connaître les fonctions C++ Builder de traitements de fichiers, mettez le curseur sur FileSetReadOnly, faites F1, puis cliquez sur routines de gestion de fichiers, c'est ainsi que j'ai trouvé cette fonction.
À bientôt
Gilles
Bonjour et une fois de plus merci gilles.
Je crois que je vais pouvoir clore le sujet.
Merci