FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF_dll - nouvelles versions
par Klaus Aujourd'hui à 13:26

» Compilateur FBPano
par Ouf_ca_passe Aujourd'hui à 12:25

» mise a jour calculatrice
par papydall Aujourd'hui à 2:01

» double guillemets "" dans un EDIT
par Marc Hier à 23:43

» Documentation de KGF
par Klaus Lun 20 Nov 2017 - 22:52

» Zoom sur une portion d'écran
par JL35 Lun 20 Nov 2017 - 21:51

» Recherche d'une expression dans un source
par Marc Lun 20 Nov 2017 - 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 17 Nov 2017 - 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 KGF_dll - nouvelles versions

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1 ... 20 ... 36, 37, 38, 39, 40  Suivant
AuteurMessage
Pedro Alvarez

avatar

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

MessageSujet: Demande d'une nouvelle fonction de KGF.   Lun 5 Déc 2016 - 17:16

Bonjour.

Un grand merci Klaus, c'est exactement ce que je recherchais.
Et la fonction est ultra-rapide.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

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

MessageSujet: Demande d'une nouvelle fonction de KGF.   Mar 6 Déc 2016 - 10:57

Bonjour.

@Klaus.

Encore merci pour la nouvelle fonction de recherche de chaîne, dont la vitesse de traitement est vraiment phénoménale.

Mais, au lieu d'envoyer les résultats dans le presse-papiers, te serait-il possible de les envoyer dans un objet système (combo, memo, ...), dont on fournirait le handle.

Merci de la suite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Mar 6 Déc 2016 - 12:43

Nouvelle version:
KGF.dll V7.09 du 06/12/2016

Nouveautés:
- 2 nouveaux paramètres pour SearchStringInTextFile

Modules modifiés:
KGF.dll

La doc est inchangée et reste à corriger. Les sources sont à jour.

Ces deux nouveaux paramètres sont:
OutType%: 0=clipboard  1=memo  2=combo  3=list
Output%: ignoré si OutType%=0, ou handle de l'objet sinon

Voici un programme de démo:
Code:
' test_SearchStringInTextFile.bas

label exec

dim res%, fic$, crit$

full_space 0
dll_on "KGF.dll"
memo  1  : bar_both 1 : top 1,40 : width 1,300 : height 1,400
combo 2  : left 2,310 : top 2,40 : width 2,300 : height 2,400
list  3  : left 3,620 : top 3,40 : width 3,300 : height 3,400

option 10 : top 10,10 : left 10, 10 : caption 10,"Clipboard"
option 11 : top 11,10 : left 11,110 : caption 11,"Memo"
option 12 : top 12,10 : left 12,210 : caption 12,"Combo"
option 13 : top 13,10 : left 13,310 : caption 13,"List"

alpha  20 : top 20,10 : left 20,510 : caption 20,"Critère:"
edit   21 : top 21,10 : left 21,580 : width 21,100
button 22 : top 22,10 : left 22,690 : caption 22,"Exécuter" : on_click 22,exec
mark_on 10

fic$ = "dico_français_espagnol.txt"
text 21,"travail"
end

exec:
  crit$ = text$(21)
  ' res% = dll_call4("SearchStringInTextFile",adr(fic$),adr(crit$),LineNumbers%, AtStartOnly%, OutType%, OutHandle%)
  '     LineNumbers: 0=pas de numéros de ligne  <>0=numéros de ligne
  '     AtStartOnly: 0=dans toute la ligne      <>0=au début de la ligne uniquement
  '     OutType%:    0=clipboard  1=memo  2=combo  3=list
  if checked(10)=1
    clear 1
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,0,0)
    clipboard_paste 1
  end_if
  if checked(11)=1
    clear 1
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,1,handle(1))
  end_if
  if checked(12)=1
    clear 2
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,2,handle(2))
  end_if
  if checked(13)=1
    clear 3
    res% = dll_call6("SearchStringInTextFile",adr(fic$),adr(crit$),1,1,3,handle(3))
  end_if
  message str$(res%)+" lignes trouvées"
  return

end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: Demande d'une nouvelle fonction de KGF.   Mar 6 Déc 2016 - 15:40

Bonjour.

Encore merci Klaus, ces deux nouveaux paramètres simplifient encore un peu plus mon code.

Tout simplement GENIAL !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 6 Déc 2016 - 21:15

Cette fonction va être une bénédiction pour les recherches...
cyclops
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2364
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Mar 6 Déc 2016 - 23:18

Bonsoir Klaus !

J'ai testé ton code et cette fonction est tout simplement géniale !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Mer 7 Déc 2016 - 1:59

Merci ! Very Happy Very Happy Very Happy

Je prépare une autre surprise, basée sur la technique utilisée dans cette fonction, mais... enfin, vous verrez !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: souci d' affichage specialbutton   Mer 7 Déc 2016 - 5:01

Klaus, j' ai un souci avec l' affichage des specialbutton au démarrage.
J' ai créé une barre avec 8 specialbutton dont certains sont mis en inactif au départ (les séparateurs ).
j' ai une librairie de 8 icones pour ne pas réutiliser un même indice pour ces boutons séparateurs.

Au départ certains boutons (les séparateurs) ont une image qui n' est pas la leur.
mais cela rentre dans l' ordre si je fais survoler la barre par le curseur.

Et autre détails, mes séparateurs qui devraient être inactif, ne le sont pas.

J' ai mis un zip sur mon webdav ( la création se fait de la ligne 329 à ....je ne sais plus, y en a déjà trop  Laughing , si 350)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Mer 7 Déc 2016 - 19:11

Je vais voir ça...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Mer 7 Déc 2016 - 21:04

Premiers résultats:
1. le fichier ILB n'est pas lisible par l'outil IcoLibrary. Il n'a donc pas été créé par cet outil. Ce n'est pas grave en soi, puisque des icônes sont bien visibles dans ton programme, mais cela m'empêche de contrôler l'organisation du fichier. Tant pis, on fera sans.
2. tu as apparemment réservé 3 icônes par bouton. Extrait de la doc:
Citation :
On définit une ImageList pour la barre d'outils, et tous les boutons prennent leurs images dans cette ImageList, via un numéro d'image (1, 2, ...). Pour chaque bouton, il faut prévoir 3 images dont les numéros se suivent, et qui correspondent à 4 états différents. Les états possibles sont:
dim sbsNormal% : sbsNormal% = 0
dim sbsHover% : sbsHover% = 1
dim sbsHit% : sbsHit% = 2
dim sbsInactive% : sbsInactive% = 3
Je confesse: j'aurais dû écrire "4 images" au lieu de 3 images. Mais la suite du texte dut bien qu'il s'agit des images pour les 4 états possibles, et les 4 états sont indiqués. Et en conséquence, pour les boutons en état "inactive", ce sera la première icône du bouton suivant qui sera utilisée. Ce qui explique ton décalage au démarrage. Je corrige la faute de frappe dans la doc et mets à jour.
3. il y avait un bug dans la gestion du survol d'un bouton inactif. Ceci est corrigé et tu peux charger la nouvelle version de la DLL.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Mer 7 Déc 2016 - 21:05

Nouvelle version:
KGF.dll V7.10 du 07/12/2016

Nouveautés:
- SpecialButton: correction d'un bug dans la gestion du survol d'un bouton inactif

Modules modifiés:
KGF.dll

La doc est inchangée et reste à corriger. Les sources sont à jour.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 7997
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 7 Déc 2016 - 23:20

J' ai rechargé la dll
adapté mon programme
ajouté des images dans l' imagelist

...et tout est rentré dans l' ordre !

cheers Merci Klaus.

J' ai aussi testé la dernière fonction de recherche, c' est phénoménal !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Jeu 8 Déc 2016 - 1:48

Very Happy Very Happy Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Jeu 8 Déc 2016 - 22:56

Nouvelle version:
KGF.dll V7.11 du 08/12/2016

Nouveautés:
- nouvel objet: FastTextFile et ses fonctions de gestion

Modules modifiés:
KGF.dll
KGF.chm


La doc est inchangée et reste à corriger. Les sources sont à jour.

Cet objet utilise le mode d'accès ultra-rapide de la fonction SearchStringInTextFile (dont la documentation a été faite dans le groupe des fonctions de chaînes de caractères !) pour réaliser des fonctions de lecture, écrituren recherche dans un fichier texte quelconque. C'est très, très rapide. Et, cerise sur le gâteau, on peut faire de l'accès direct par ligne, malgré le fait que les lignes dont de longeur variable ! En effet, on gère la notion de "position actuelle" qui est le prochain numéro de ligne à lire. Et cette position peut être manipulée en la modifiant, soit de façon relative par rapport la position actuelle, soit de façon absolue en imposant une nouvelle position actuelle. C'est une grande nouveauté.

Voici un programme démo qui utilise un des dictionnaires de Pdreo Alvarez, à titre d'exemple. Ma version (déjà ancienne) contient plus de 43000 Lignes. Le programme de démo demande d'abord l'autorisation de faire une copie du fichier (sous un autre nom). Elle est réalisée par une boucle lecture séquentielle/écriture séquentielle. L'occasion de constater vraiment les performances. Puis, le programme lit les 1000 premières lignes dans un mémo, effectue quelques opérations de positionnement suivi de lectures et affiche les résultats dans des combos et lists, en affichage des libellés indiquant la nature des opérations. Etudiez bien le source - la manipulation est très aisée. La documentation est complète, dans ma section des "Objets":
Code:
' test_FastTextFile.bas


dim res%, fic$, s$, ActLig%, crit$

dll_on "KGF.dll"

dim ftfOtClipboard% : ftfOtClipboard% = 0
dim ftfOtMemo%      : ftfOtMemo%      = 1
dim ftfOtCombo%    : ftfOtCombo%    = 2
dim ftfOtList%      : ftfOtList%      = 3

memo 1 : full_space 1 : bar_both 1 : height 1,height(1) - 30 : top 1,top(1) + 30
combo 2 : width 2,width(1)

dim ligne$ : ligne$ = string$(500," ") : ' 500 ou plus - il faut mettre la longueur maximale attendue
dim ncar% : ' nombre de caractères lus
dim FTF% : ' identification du fichier ouvert en lecture
dim FTF2% : ' identification du fichier en écriture
dim fichier$ : ' nom du fichier à ouvrir
dim fichier2$ : ' nom du fichier en sortie
dim txt$ : ' texte récupére après la lecture
dim i%

fichier$ = "dico_français_espagnol.txt"
fichier2$ = "dico_français_espagnol_copie.txt"

if message_confirmation_yes_no("Dupliquer le fichier ?")=1
  ' *** copie complète par read/write
  FTF% = dll_call4("OpenFastTextFileForRead",adr(fichier$),adr(ligne$),0,adr(ActLig%))
  if FTF%=0 then message "Erreur en ouverture"
  if file_exists(fichier2$)=1 then file_delete fichier2$
  FTF2% = dll_call3("OpenFastTextFileForWrite",adr(fichier2$),0,adr(ActLig%))
  ncar% = 0
  cursor_hourglass 0
  cursor_hourglass 1
  while ncar%>=0
    ncar% = dll_call2("ReadFastTextFileLine",FTF%,0) : ' lire une ligne séquentiellement
    if ncar%>=0 then res% = dll_call2("WriteFastTextFileLine",FTF2%,adr(ligne$)) : ' écrire une ligne séquentiellement
  end_while
  res% = dll_call1("CloseFastTextFile",FTF%)
  res% = dll_call1("CloseFastTextFile",FTF2%)
  cursor_default 0
  cursor_default 1
end_if

' *** lire les 1000 premières lignes dans le mémo
FTF% = dll_call4("OpenFastTextFileForRead",adr(fichier$),adr(ligne$),0,adr(ActLig%))
hide 1
for i%=1 to 1000
  ncar% = dll_call2("ReadFastTextFileLine",FTF%,0) : ' lire une ligne séquentiellement
  if ncar%<0
    message "eof"
    exit_for
  end_if
  item_add 1,str$(ActLig%)+" "+ligne$ : ' la fonction place un #0 à la fin du texte lu
next i%
show 1

item_add 1," "
item_add 1,"  Retour de 2 lignes en arrière:"
res% = dll_call2("SkipFastTextFileLines",FTF%,0-2)
  ncar% = dll_call2("ReadFastTextFileLine",FTF%,0) : ' lire une ligne séquentiellement
  item_add 1,str$(ActLig%)+" "+ligne$ : ' la fonction place un #0 à la fin du texte lu
  ncar% = dll_call2("ReadFastTextFileLine",FTF%,0) : ' lire une ligne séquentiellement
  item_add 1,str$(ActLig%)+" "+ligne$ : ' la fonction place un #0 à la fin du texte lu
item_add 1," "
item_add 1,"  Positionner en ligne 3:"
res% = dll_call2("PositionToFastTextLine",FTF%,3)
  ncar% = dll_call2("ReadFastTextFileLine",FTF%,0) : ' lire une ligne séquentiellement
  item_add 1,str$(ActLig%)+" "+ligne$ : ' la fonction place un #0 à la fin du texte lu
  ncar% = dll_call2("ReadFastTextFileLine",FTF%,0) : ' lire une ligne séquentiellement
  item_add 1,str$(ActLig%)+" "+ligne$ : ' la fonction place un #0 à la fin du texte lu
  res% = dll_call1("GetFastTextPosition",FTF%)    : ' retourner ma position actuelle
  item_add 1,"  Position actuelle: "+str$(res%)+" = "+str$(ActLig%)
 
item_add 1," "
item_add 1,"  SearchString 'jardin' ==> Combo"
crit$ = "jardin"
res% = dll_call6("SearchStringInFastTextFile",FTF%,adr(crit$),1,1,ftfOtCombo%,handle(2))

item_add 1," "
item_add 1,"  3xFindNextStringInFastTextFile avec jardin"
res% = dll_call3("FindNextStringInFastTextFile",FTF%,adr(crit$),1)
item_add 1,str$(res%)+" "+ligne$
res% = dll_call3("FindNextStringInFastTextFile",FTF%,adr(crit$),1)
item_add 1,str$(res%)+" "+ligne$
res% = dll_call3("FindNextStringInFastTextFile",FTF%,adr(crit$),1)
item_add 1,str$(res%)+" "+ligne$

res% = dll_call1("CloseFastTextFile",FTF%)

end
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2364
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Ven 9 Déc 2016 - 1:25

Bonsoir klaus !

Je me doutais bien que tu allais faire quelque chose comme ça ! Laughing

Par contre, pour la mise en œuvre cela semble moins évident...
Mais je vais prendre mon temps ce week-end pour regarder tout ça. Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Ven 9 Déc 2016 - 1:32

En allant à l'essentiel, c'est simple. Regarde le coeur de la boucle copiant le fichier:
Code:
  FTF% = dll_call4("OpenFastTextFileForRead",adr(fichier$),adr(ligne$),0,adr(ActLig%))
  FTF2% = dll_call3("OpenFastTextFileForWrite",adr(fichier2$),0,adr(ActLig%))
  ncar% = 0
  while ncar%>=0
    ncar% = dll_call2("ReadFastTextFileLine",FTF%,0) : ' lire une ligne séquentiellement
    if ncar%>=0 then res% = dll_call2("WriteFastTextFileLine",FTF2%,adr(ligne$)) : ' écrire une ligne séquentiellement
  end_while
  res% = dll_call1("CloseFastTextFile",FTF%)
  res% = dll_call1("CloseFastTextFile",FTF2%)
2 ouvertures
1 boucle sur un read suivi d'un write
2 fermetures
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: KGF.DLL   Ven 9 Déc 2016 - 10:12

Bonjour.

Klaus, j'ai étudié ton code avec grand intérêt.
J'ai créé une routine afin de tester les différentes possibilités de lecture d'un grand fichier.
Malheureusement, en exécutant le test 3, le programme ne s'arrête pas.
Aurais-je omis quelque chose ?

Merci de ton aide.


Code:
dll_on "kgf"

dim a$, ActLig%, b$, fichier$, FTF%, k%, l%, ligne$, ncar%, res%

dlist 1

b$=time$

fichier$="dico_français_anglais.txt"

test3()

message b$+" : "+time$

end

' 19 sec
sub test1()
    file_load 1,fichier$

    for k%=1 to count(1)
        a$=item_read$(1,k%)
        ' if len(a$)>l% then l%=len(a$)
    next k%
end_sub

' 20 sec
sub test2()
    file_open_read 1,fichier$

    while file_eof(1)=0
        file_readln 1,a$
    end_while
end_sub

' sec
sub test3()
    ' Ajusté à la longueur de la plus grande ligne.
    ligne$=string$(1520," ")
    FTF%=dll_call4("OpenFastTextFileForRead",adr(fichier$),adr(ligne$),0,adr(ActLig%))
    ncar%=0
    while ncar%>=0
          ncar%=dll_call2("ReadFastTextFileLine",FTF%,0) : ' lire une ligne séquentiellement
    end_while
    res%=dll_call1("CloseFastTextFile",FTF%)
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2364
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Ven 9 Déc 2016 - 10:51

Bonjour Klaus !

Dans ton exemple au dessus, à chaque fois que je cherche a dupliquer le fichier j'ai un message d'erreur Panoramic a cessé de fonctionner !
J'ai bien pris la dernière version de KGF mais rien n'y change...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Ven 9 Déc 2016 - 12:04

Tu as raison - il y avait unn bug dans la détection de fun de fichier. C'est corrigé. Tu peux recharger la DLL.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

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

MessageSujet: KGF.DLL   Ven 9 Déc 2016 - 12:15

Bonjour.

Je viens de télécharger la dernière version de KGF.DLL.

Le test 3 indique une durée d'exécution de 36 sec, bien supérieure aux deux autres tests !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Ven 9 Déc 2016 - 12:35

Je vais regarder cela de près.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Ven 9 Déc 2016 - 15:40

Bon, j'ai fait des essais. Au premier regard, effectivement, c'est plus lent, et sensiblement plus lent. Donc, j'ai cherché. Et j'ai trouvé. En fait, c'est le passage de Panoramic à la DLL qui cause problème. L'exécution de la commande DLL_CALLx prend beaucoup de temps. J'ai mesuré avec DLL_CALL0, et ma mesure indique 0,16 ms par appel. Et avec mon fichier de 43000 lignes, on arrive à 7 secondes, rien que pour le DLL_CALL0, sans même faire le READ physique que j'ai éliminé de la fonction pour faire les tests. Avec le READ, on passe de 7 secondes à 8 secondes pour 43000 lignes.

Conclusion:
Tant que je n'ai pas trouvé une astuce pour accélérer l'appel des fonctions DLL, ce composant FastTextFile ne sert à rien, malheureusement. Il reste très performant tant qu'on reste en Delphi pur (la preuve en est la fonction SearchStringInTextFile qui est époustouflante), les performances sont excellentes. Mais dès qu'on veut faire des accès individuels, l'interface Panoramic/DLL fait s'écrouler les performances.

Reste que la fonction de positionnement relatif ou absolu dans un fichier texte par numéro de ligne est une fonctionnalité intéressante et là, pour le coup, performante puisqu'elle s'effectue en Delphi pur.

A suivre.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2364
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Ven 9 Déc 2016 - 20:48

Bonsoir Klaus !

Y a t il un moyen de récupérer le numéro de l'objet Panoramic qui supporte la fenêtre SYNEDIT ?
J'ai le HANDLE mais comment récupérer ensuite le numéro ?

Il s'agit de récupérer la hauteur et la largeur de l'objet Panoramic ( WIDTH(n%) et HEIGHT(n%) )
j'ai récupéré des valeurs mais elle ne semble pas correctes ! Je suis perdu... silent
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Klaus

avatar

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

MessageSujet: Re: KGF_dll - nouvelles versions   Ven 9 Déc 2016 - 21:25

Tu as le handle ? Alors, essaie ceci:
Code:
res% = DLL_call5("GetFormMetrics",hnd%,adr(gauche%),adr(haut%),adr(largeur%),adr(hauteur%))
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Minibug

avatar

Nombre de messages : 2364
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: KGF_dll - nouvelles versions   Ven 9 Déc 2016 - 21:40

Merci Klaus ! cheers
ça fonctionne parfaitement.

Avec KGF on a plein de fonctions que l'on ne connaît pas...
Même si ta documentation est bien faite, elle reste dans certains cas assez obscure.
C'est dommage car il y a une tonne de chose dans cette DLL qui sont tout simplement de vrais bijoux.

Peut être faudrait il y insérer des copies d'écrans ou peut être des d'explications plus détaillées.
Perso, j'avoue ne pas toujours savoir ou comprendre comment les utiliser et c'est vraiment dommage. silent

Heureusement tu es là pour nous guider dans cette bibliothèque géante... drunken

Encore merci Klaus. sunny

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Contenu sponsorisé




MessageSujet: Re: KGF_dll - nouvelles versions   

Revenir en haut Aller en bas
 
KGF_dll - nouvelles versions
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 37 sur 40Aller à la page : Précédent  1 ... 20 ... 36, 37, 38, 39, 40  Suivant
 Sujets similaires
-
» Nouvelles versions éditeur et firmware FR3X
» Nouvelles versions de TC et TP
» Nouvelles versions de TypViewer 4.015 et suivantes
» Deux nouvelles versions de la Porsche 911 (type 991)
» Dacia : La Success Story Continue Avec Quatre Nouvelles Versions Et Séries Limitées

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: