Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Demande d'une nouvelle fonction de KGF. Lun 7 Nov 2016 - 14:05 | |
| Bonjour à tous. @Klaus. Je dispose d'un dictionnaire français-anglais, contenant plus de 528.000 mots et expressions, sous cette forme: manger (v) = to eatLe dernier élément du dico étant la ligne "ZZZ". A partir de ce dico, je dois créer régulièrement, à chaque modification, un autre dico anglais-français. Exemple: to eat = manger (v)J'ai donc créé une sub en Panoramic, mais le temps d'exécution est beaucoup trop long,à mon avis (plusieurs minutes). La même routine, exécutée avec Purebasic, ne dure que 1,2 sec !! Serait-il possible de créer une fonction dans KGF, réalisant la même chose ? Merci de ta réponse. Voici ma sub, sans les 'dim': - Code:
-
file_open_read 4,"dico_français_anglais.txt" file_open_write 5,"dico_anglais_français.txt"
manger [sens: se nourrir de] (v) = essen k%=0 while file_eof(4)<>1 k%=k%+1 file_readln 4,ligne$ if ligne$="ZZZ" then exit_while if mod(k%,5000)=0 caption 0,"Création du dictionnaire anglais->français, mot n° "+str$(k%)+"." if object_exists(1328)=1 then text 1328,caption$(0) end_if
y%=instr(ligne$,"=") if y%=0 item_add 802,"Erreur ligne n° "+str$(k%)+": "+ligne$ file_writeln 5,ligne$ else file_writeln 5,trim$(right_pos$(ligne$,y%+1))+" = "+trim$(left$(ligne$,y%-1)) end_if end_while file_writeln 5,"ZZZ" file_close 4 file_close 5 | |
|
Invité Invité
| Sujet: Re: Demande d'une nouvelle fonction de KGF. Lun 7 Nov 2016 - 14:59 | |
| Bonjour, Je dis cela comme ça, car j'ai pas le temps de développer, mais ce serait intéressant de développer un système de hachage pour ce type de fichier.
Pour les explications, voir plutôt sur la recherche web, qui sera mieux expliquer, que ce que je pourrai le faire. hachage hasch ..
|
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande d'une nouvelle fonction de KGF. Lun 7 Nov 2016 - 15:26 | |
| Donc, tu veux recopier un fichier vers un autre, en inversant au passage, pour chaque ligne, les infos qui se trouvent à gauche et à droite du signe "=", tout en maiintenant à jour une indication sur la progression du processus.
Bien entendu, tout peut s'écrire en Delphi, et cela également. Et ce sera évidemment plus rapide. Mais il s'agirait d'une fonctiion DLL "personnelle" qui ne sera utile qu'à toi, et je ne vois pas vraiment la place qu'une telle fonction pourrait avoir dans KGF.dll.
Mais il y a évidemment des moyens de gérer cela.
D'abord, est-ce que tu n'as pas les deux dictionnaires en mémoire, dans des objets StringList ? Tu vois où je veux en venir ?
D'autre part, je pourrais te proposer la réalisation d'un outil externe écrit en Delphi que tu pourrais lancer par la commande EXECUTE. Mais si j'ai bien compris, tu l'as déjà fait en Purebasic. Alors, pourquoi ne pas générer un outil en forme EXE pour cela, avec Purebasic, et appeler cet outil par EXECUTE (pas EXECUTE_WAIT !) ? Ce serait une solution, non ? | |
|
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Demande nouvelle fonction. Lun 7 Nov 2016 - 18:30 | |
| Bonjour.
Merci Klaus pour la réponse rapide.
C'est bien ce que j'ai réalisé en fait: créer un exe en Purebasic que je lance ensuite avec execute_wait.
| |
|
Contenu sponsorisé
| Sujet: Re: Demande d'une nouvelle fonction de KGF. | |
| |
|