Bonjour,

Content de te retrouver ici car nous avions un peu échangé sur le Purebasic, il fut un temps.

Bon ; je vois que j'ai encore beaucoup à apprendre. Les bases de données, je croyais que c'était comme les data en Basic, c'est-à-dire quelque chose de statique, établi une fois pour toute pour un programme déterminé ; quant au xml, cela ne me dit rien du tout.

Là, j'ai créé ce qu'on appelle une liste en Purebasic ; j'ouvre mon fichier en lecture au départ, par un Readfile, je lis chaque ligne qui se termine par un retour de ligne et je la stocke dans ma liste, après quoi, je n'ai plus qu'à travailler sur la liste, ce qui est extrêmement rapide. Même pour un fichier qui contient plus de 350 000 entrées, comme tout est géré en mémoire une fois les données chargées, c'est très performant.

        Bien amicalement,



Michel Farfallini

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�.
        
        

Répondre à