Bonjour, je fais suite à mon précédent post car j'ai continué à développer mon application, mais j'ai malheureusement fait face à un problème. En effet, le problème de mon code est le parcours du fichier texte à chaque requête, et bien évidemment pour des fichiers qui font plusieurs milliers de lignes, le temps d'attente peut-être long si la ligne recherchée se situe à la fin du fichier. J'ai donc pensé qu'à chaque ouverture de l'appli, il y ait un écran de chargement durant lequel il va y avoir une conversion du fichier texte en variable tableau afin d'augmenter la vitesse de recherche.
Mais à vrai dire, je suis dans une impasse car j'ai essayé de coder quelque chose mais je n'arrive pas du tout à faire fonctionner ceci.
Voici le code en question de la fenêtre qui s'ouvre au démarrage de l'application :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 PROCEDURE MaFenêtre() NomCheminFichier est une chaîne IDFichier est un entier LigneLue est une chaîne MonTableau est un tableau <agrandissement=N> de 5 par 1 chaînes // //// Sélection du nom et du chemin du fichier NomCheminFichier="C:\Users\lab\Desktop\basededonnees.txt" //NomCheminFichier = "\My Documents\basededonnees.txt" //// Ouverture du fichier IDFichier = fOuvre(NomCheminFichier) //// Affichage du message d'erreur si l'ouverture n'a pas été effectuée SI IDFichier = -1 ALORS Erreur(ErreurInfo(errMessage)+"Essayez de resynchronisez votre base de données.") SINON BOUCLE // Lecture de la première ligne du fichier LigneLue = fLitLigne(IDFichier) SI ErreurDétectée ALORS Erreur(ErreurInfo()) SORTIR FIN // Fin de fichier ? SI LigneLue = EOT ALORS SORTIR //ChaîneVersTableau(Lignelue, MonTableau, TAB) TableauAjouteLigne(MonTableau,ExtraitChaîne(LigneLue,1, [TAB]), ExtraitChaîne(LigneLue,2, [TAB]), ExtraitChaîne(LigneLue,3, [TAB]), ExtraitChaîne(LigneLue,4, [TAB]), ExtraitChaîne(LigneLue,5, [TAB])) FIN FIN //Ouvre(FEN_MENU)
Partager