FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Demande de fonction spécifique avec KGF. - Page 3 Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Demande de fonction spécifique avec KGF. - Page 3 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Demande de fonction spécifique avec KGF. - Page 3 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Demande de fonction spécifique avec KGF. - Page 3 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Demande de fonction spécifique avec KGF. - Page 3 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Demande de fonction spécifique avec KGF. - Page 3 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Demande de fonction spécifique avec KGF. - Page 3 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Demande de fonction spécifique avec KGF. - Page 3 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Demande de fonction spécifique avec KGF. - Page 3 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Demande de fonction spécifique avec KGF. - Page 3 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Demande de fonction spécifique avec KGF. - Page 3 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Demande de fonction spécifique avec KGF. - Page 3 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Demande de fonction spécifique avec KGF. - Page 3 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Demande de fonction spécifique avec KGF. - Page 3 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Demande de fonction spécifique avec KGF. - Page 3 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 Demande de fonction spécifique avec KGF.

Aller en bas 
2 participants
Aller à la page : Précédent  1, 2, 3
AuteurMessage
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Demande de fonction spécifique avec KGF. - Page 3 Empty
MessageSujet: Re: Demande de fonction spécifique avec KGF.   Demande de fonction spécifique avec KGF. - Page 3 EmptyVen 30 Mar 2018 - 15:43

Bon, j'ai remplacé l'agorithme de recherche par une approche par dichotomie, en chargeant le fichier dans une StringList triée ASCII (mode 2 dans CreateStringList). Le chargement prend un peu de temps, mais c'est normal - le fichier est trié à ce moment précis. Mais c'est une opération que tu fais normalement au démarrage, une fois. A partir de là, la recherche est ultra-rapide. Pour le texte de 100 mots, voici le résultat:
Demande de fonction spécifique avec KGF. - Page 3 Aa162

Voici le programme Panoramic:
Code:
' test_SearchMultipleStringsInTextFile.bas

dim res%, ticks, fichier$, rec$

dim t$

t$ = "El murciélago de herradura de Willard fue descubierto en la República "
t$ = t$ + "Democrática del Congo en 2013 y lo más probable es que se extinga en unas "
t$ = t$ + "décadas . Con él , servicios prestados hasta la mitad de las especies endémicas del corazón de "
t$ = t$ + "África estarán amenazadas en los próximos 50 años . Hasta ahora tenían "
t$ = t$ + "que lidiar con el avance de los humanos , su agricultura y su ganadería , "
t$ = t$ + "que les iban comiendo su territorio . Ahora el cambio climático ha tomado "
t$ = t$ + "el relevo y les arrebatará hasta dos tercios del que les queda . A algunos "
t$ = t$ + "animales , como este quiróptero , los dejará literalmente sin espacio ."

dim interdit$:interdit$="*a*con*de*del*des*dos*el*en*este*la*las*le*les*lo*los*que*se*sin*su*un*une*y*"
fichier$="formes_verbales_espagnol_français_avec_complement.txt"
dim nombre%:nombre%=3
dim marqueur$:marqueur$=" #"

combo 100
combo 101 : left 101,width(100)+10
memo 102 : top 102,height(100)+10 : width 102,300
display

dll_on "kgf"

' AvecLectureDirecte()
 AvecStringList()
message "fin"

end

sub AvecLectureDirecte()
  ticks=number_ticks
  res%=dll_call6("SearchMultipleStringsInTextFile",adr(t$),adr(fichier$),handle(100),adr(interdit$),nombre%,adr(marqueur$))
  item_add 102,"Lecture directe: "+ str$(number_ticks-ticks)+" ("+str$(res%)+" dans la DLL)"                                                                                                                 
  item_add 102,"  "+str$(count(100))+" lignes trouvées"
  display
  text 100,item_read$(100,1)
end_sub

sub AvecStringList()
  dim_local SL%
  SL% = 1
  item_add 102,"Chargement de la StringList..."
  display
  res% = dll_call2("CreateStringList",SL%, 2)
  res% = dll_call2("LoadStringList",SL%,adr(fichier$))
'  fichier$ = "new.txt"
'  res% = dll_call2("SaveStringList",SL%,adr(fichier$))
  item_add 102,"Stringlist chargé."
  display

  ticks=number_ticks
  res%=dll_call6("SearchMultipleStringsInStringList",adr(t$),SL%,handle(101),adr(interdit$),nombre%,adr(marqueur$))
  item_add 102,"StringList: "+ str$(number_ticks-ticks)+" ("+str$(res%)+" dans la DLL)"                                                                                                                 
  item_add 102,"  "+str$(count(101))+" lignes trouvées"
  display
  text 101,item_read$(101,1)
  if count(101)>0
    rec$ = string$(255," ")
    res% = dll_call3("ReadStringList",SL%,val(text$(101)),adr(rec$))
    item_add 102,text$(101)+" = "+trim$(rec$)
  end_if
 
  res% = dll_call1("DeleteStringList",SL%)
end_sub


16 cycles pour 100 mots - ça va ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1595
Date d'inscription : 19/01/2014

Demande de fonction spécifique avec KGF. - Page 3 Empty
MessageSujet: Demande de fonction spécifique avec KGF.   Demande de fonction spécifique avec KGF. - Page 3 EmptyVen 30 Mar 2018 - 17:14

Bonjour.

Alors là bravo !

En prenant un nombre de mots successifs égal à 2, j'obtiens un nombre de cycle de zéro !

La recherche est donc ultra-rapide, on ne pourrait pas mieux faire.

Je te remercie beaucoup d'avoir consacré tout ce temps à la création d'une seule fonction, et rien que pour moi.

Une petite question: est-il possible de remplacer la StringList par un objet Dlist ?
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Demande de fonction spécifique avec KGF. - Page 3 Empty
MessageSujet: Re: Demande de fonction spécifique avec KGF.   Demande de fonction spécifique avec KGF. - Page 3 EmptyVen 30 Mar 2018 - 18:16

Citation :
Une petite question: est-il possible de remplacer la StringList par un objet Dlist ?
Non, malheureusement pas. Bien que, techniquement, ce soit le même objet de façon interne, je n'ai aucun accès aux données d'un DLIST à partir de la DLL. Un problème d'incoimpatibilité des gestionnaires de mémoire entre celui de la DLL et celui de Panoramic. Ceci était d'ailleurs la raison pour laquelle j'ai créé l'objet StringList, à l'époque.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Demande de fonction spécifique avec KGF. - Page 3 Empty
MessageSujet: Re: Demande de fonction spécifique avec KGF.   Demande de fonction spécifique avec KGF. - Page 3 Empty

Revenir en haut Aller en bas
 
Demande de fonction spécifique avec KGF.
Revenir en haut 
Page 3 sur 3Aller à la page : Précédent  1, 2, 3
 Sujets similaires
-
» Compilateur FBPano
» Demande de maquette d'un moteur 2D avec sprites/collisions
» Des dlls compilées a la demande en FreeBasic, avec l'appel
» Font specifique
» Créer un fichier de taille spécifique

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: