MSX Village forum

La Place des Développeurs [EN COURS] generateur ultra rapide de noms de fichiers. Comment charger une liste de fichiers par ordre chronologique.

igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 08/09/2014 à 21h37
Salut à tous.

Je cherche LE MOYEN le plus rapide de générer une liste de fichiers très rapidement.

Même si une chronologie décimale est plus simple pour s'y retrouver, l'important quant à la vitesse globale de l'opération est tel que je suis prêt à faire avec des fichiers aux "noms binaires" si c'est plus rapide.

Avant tout il faut savoir que le générateur de noms sera dans une boucle la plus courte possible.

La boucle ressemblera a:

10 ON STRIG GOSUB 20,100,200,300,400 etc...
20 BLOAD " FICHIER AUTO GÉNÉRÉS.SCC", S
30 GOTO 10

100 BLOAD" FICHIER AUTO GÉNÉRÉS. SCC", S
110 X=X+4
120 COPY (0,0)-(16,16),1 TO (X, Y),0
130 GOTO 10

400 BLOAD FICHIER AUTO GÉNÉRÉS.SCC", S
410 Y=Y+4
420 COPY (0,0)-(16,16),1 TO (Y, Y),0
430 GOTO 10

Dans les grandes lignes.

Si vous avez des connaissances quelconques sur les temps d'accès aux fichiers n'hésitez pas.
Les idées tordues sont les bienvenues :)

Merci de votre aide :)

Edit: j'avais pensé à quelque chose de ce genre!
Code TEXT :
 
    10 BLOAD"A"+"B"+"C"+"D"+"E"+"F"+"G".SCC",S 20 G=G+1 and 10: F=G/10: E=F/10: D=E/10: C=D/10: B=C/10: A=B/10 
Edité par igal Le 08/09/2014 à 22h55


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5799

Le 08/09/2014 à 22h17
Docteur ! J'ai pas tout compris la ^^

avec des data , c'est pas plus simple ?

je vois pas trop ce que vient faire le copy la dedans ?!

10 SCREEN 8:A$=1
20 A$=A$+1
30 BLOAD "A$.SC8",S,0
40 GOTO 20

je sait pas si il faut utilisé A$ ou X ? ch'ui un debutant Moa :oups
Edité par TurboSEB Le 08/09/2014 à 22h30



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 08/09/2014 à 22h43
La méthode "automatisee" la plus rapide actuellement est celle donnée par 6502man :)

de la ligne 36 à la ligne 90.

la boucle se faisant sur la ligne 90 seulement.



La boucle se faisant sur une seule ligne, ça manque quand même de vitesse.

Ça reste beaucoup plus long que lorsque les fichiers sont nommés un à un par avance :( Edité par igal Le 08/09/2014 à 22h51


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 09/09/2014 à 01h48
J'avais séparé en 2 lignes pour que ce soit facile à lire mais tu n'es pas obligé d'utiliser la variable NME$ et tu peux mettre EX$ sur la même ligne pour accélérer un peu.

Code TEXT :
10 FOR A=1 TO 20
20 EX$=STR$(A):BLOAD LEFT$("1000000",9-LEN(EX$))+RIGHT$(EX$,LEN(EX$)-1)+".SCC",S
30 NEXT


Tu peux aussi essayer de supprimer EX$=STR$(A) et remplacer les EX$ restant par STR$(A) .

Sinon, encore plus rapide, tu supprimes le "1000000" inutile dans le nom du fichier. Ce qui donnerait simplement ça :

Code TEXT :
10 FOR A=1 TO 20
20 BLOAD RIGHT$(STR$(A),LEN(STR$(A))-1)+".SCC",S
30 NEXT


En hexadécimal, ça serait le plus rapide.

Code TEXT :
10 FOR A=1 TO 20
20 BLOAD HEX$(A)+".SCC",S
30 NEXT
Edité par GDX Le 09/09/2014 à 02h17
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie