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
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!
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 :
Edité par
igal
Le 08/09/2014 à 22h55
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
TurboSEB
Membre non connecté
Conseiller Municipal
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
Edité par TurboSEB Le 08/09/2014 à 22h30
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
Edité par TurboSEB Le 08/09/2014 à 22h30
MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
igal
Membre non connecté
Conseiller Municipal
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
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
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.
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 :
En hexadécimal, ça serait le plus rapide.
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 :
Edité par
GDX
Le 09/09/2014 à 02h17
10 FOR A=1 TO 20 20 BLOAD HEX$(A)+".SCC",S 30 NEXT
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie