Coucou Michel, Lavachri et tous,
OK, content que tu sois arrivé à tes fins.
Tout à fait d'accord avec LavaChri, pour que tes données soient
manipulables avec pratiquement tous les langages de programmation
connus, l'idéal serait peut-être d'utiliser le format XML.
Comme viens de le préciser LavaChri, il existe aussi le format JSON,
JavaScript Object Notation que j'affectionne particulièrement et qui
offre des fonctionnalités fort appréciables.
Voici un tuto qui explique comment utiliser ce format de données
structurées en PureBasic, à savoir que dès que tu auras créé ton fichier
de données, il sera manipulable aussi bien en PureBasic, qu'en Python,
qu'en PHP, JavaScript, Java, etc.
http://www.purebasic.fr/french/viewtopic.php?f=21&t=14511
Bien amicalement,
Abdel.
Le 10/04/2018 à 16:36, LavaChri a écrit :
salut,
étrange je viens de découvrir cette discussions qu'au bout du
troisième message...
Bon, concernant ton problème je me demande si j'ai bien compris car
c'est un peu archaïque comme méthode.
1) pour un accès direct il faut soit que toutes les entrées aient la
même taille soit faire une table d'indexation.
si toutes les entrée s ont la même taille pour accéder à une entrée tu
devrais faire un truc du genre
if readFile(0, "monfichier")
FileSeek(0, NuméroEntrée * LongueurEntrée)
Block = ReadData( 0, LongueurEntrée)
closefile(0)
endif
mais tu pourrais utiliser d'autres façon plus courante pour stocker
des infos, tel que les fichiers de préférences, JSON, XML ou les bases
de données.
A mon sens, un fichier XML serait bien adapté, en utilisant l'attribut
ID pour identifier ton entrées.
Ainsi tu pourrais accéder et modifier n’importe qu’elles entrées sans
devoir tout lire.
Tu dis lire l'aide mot-clé par mot-clé, alors peut-être n'as tu pas vu
que dans le livret manuel tu as des sous-livret regroupant ces
mot-clé par thème.
Et tu y trouveras les thèmes Préférences pour les fichier INI, JSON,
DataBase, XML, ...
Bonjour et merci pour cette réponse,
Depuis mes questions, j'ai beaucoup évolué en consultant l'aide de
Purebasic, mot-clé par mot-clé. J'ai résolu le problème des fichiers
à accès direct en créant l'équivalent de ce que Python nomme "un
dictionnaire", c'est-à -dire que j'ouvre mon fichier séquentiel et le
charge en mémoire dans un bloc indexé grâce auquel je peux faire
toute mes opérations comme s'il s'agissait d'un fichier à accès
direct ; à la fin, je recopie les données ainsi traitées dans le
fichier séquentiel.
Bien cordialement,
Michel Farfallini
Le 10/04/2018 à 13:34, Abdel a écrit :
Salut Michel,
Je te souhaite la bienvenue dans ce forum réservé à l'entraide en
matière de programmation.
Mes questions :
Je cherche à traiter des fichiers en accès direct, c'est-à -dire
tels qu'on puisse aller directement rechercher un enregistrement
par son numéro pour le lire ou le modifier.
Cette procédure était très simple en Basic ou QuickBasic.
Je ne parviens pas à la retrouver en PureBasic, langage sous lequel
j'essaye de réécrire mes vieux programmes.
Alors :
Comment faire dans ce cas ?
Sinon, l'utilisation de Python (que j'ai commencé à étudier un peu)
serait-elle envisageable pour ce faire?
Je ne pourrai t'aiguiller pour le PureBasic, mais par contre, pour
le Python, ma réponse est affirmative, ce que tu recherches est bien
faisable en Python.
Tu trouveras une documentation assez bien faite en français à ce
sujet ici :
http://python.jpvweb.com/python/mesrecettespython/doku.php?id=fichier_acces_direct
Bien amicalement,
Abdel.
Le 30/03/2018 à 11:15, Michel Farfallini a écrit :
Bonjour,
Comme je rencontre des difficultés pour remettre au goût du jour de
vieux programmes que j'avais écrits en QuickBasic, des amis à qui
j'ai fait état de ces difficultés m'ont conseillé de m'inscrire Ã
cette liste. Mon nom est Michel Farfallini ; j'ai tâté de la
programmation depuis fort longtemps mais toujours en Basic ou en
Basic évolué.
Mes questions :
je cherche à traiter des fichiers en accès direct, c'est-à -dire
tels qu'on puisse aller directement rechercher un enregistrement
par son numéro pour le lire ou le modifier. Cette procédure était
très simple en Basic ou QuickBasic. Je ne parviens pas à la
retrouver en PureBasic, langage sous lequel j'essaye de réécrire
mes vieux programmes.
Alors :
Comment faire dans ce cas ?
Sinon, l'utilisation de Python (que j'ai commencé à étudier un peu)
serait-elle envisageable pour ce faire ?
Merci de vos conseils.
Bien cordialement,
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est
limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
priv�, je vous r�pondrez en priv�.
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pi�ces jointe sont activ�s leur taille est
limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en
priv�, je vous r�pondrez en priv�.
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je
vous r�pondrez en priv�.