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
» number_mouse_up
Utilisation de SearchStringList. Emptypar jjn4 Aujourd'hui à 11:59

» Aide de PANORAMIC
Utilisation de SearchStringList. Emptypar jjn4 Aujourd'hui à 11:16

» trop de fichiers en cours
Utilisation de SearchStringList. Emptypar lepetitmarocain Aujourd'hui à 10:43

» Je teste PANORAMIC V 1 beta 1
Utilisation de SearchStringList. Emptypar papydall Aujourd'hui à 4:17

» select intégrés
Utilisation de SearchStringList. Emptypar jjn4 Hier à 18:33

» PANORAMIC V 1
Utilisation de SearchStringList. Emptypar Klaus Hier à 9:53

» bouton dans autre form que 0
Utilisation de SearchStringList. Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Utilisation de SearchStringList. Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Utilisation de SearchStringList. Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Utilisation de SearchStringList. Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Utilisation de SearchStringList. Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Utilisation de SearchStringList. Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Utilisation de SearchStringList. Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Utilisation de SearchStringList. Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Utilisation de SearchStringList. Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -20%
-20% Récupérateur à eau mural 300 ...
Voir le deal
79 €

 

 Utilisation de SearchStringList.

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


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

Utilisation de SearchStringList. Empty
MessageSujet: Utilisation de SearchStringList.   Utilisation de SearchStringList. EmptyJeu 14 Jan 2016 - 13:34

Bonjour.

@Klaus.

Je serais intéressé de connaître l'algorithme utilisé dans cette fonction.

Je pense également que cette fonction pourrait être optimisée en temps d'exécution.

Car la recherche de 1.000 éléments s'exécute en 38 sec. !!

Merci Klaus.
Revenir en haut Aller en bas
Klaus

Klaus


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

Utilisation de SearchStringList. Empty
MessageSujet: Re: Utilisation de SearchStringList.   Utilisation de SearchStringList. EmptyJeu 14 Jan 2016 - 13:53

Le principe est le suivant:
- si la StringList n'est pas triée, on la parcourt à partir du début et un s'arrête si l'enregistrement est trouvé
- si la StringList est triée en mode 1 (système), on effectue la recherche par une seule commande par la méthode Find de l'objet TStringList - durée incompressible car méthode interne à Delphi
- si la StringList est triée en mode 3 (personnalisée), on utilise une recherche par dichotomie, en comparant chaque chaîne trouvée au critère par une fonctions de comparaison spéciale.

La fonction de comparaison est:
Code:
function ComparerChaine1(sTmp1, sTmp2: string): Integer;
var
  i, n, l1, l2, c1, c2: integer;
begin
// Chaines à comparer
  try
    l1 := length(sTmp1);
    l2 := length(sTmp2);
    n := min(l1,l2);
    for i:=1 to n do begin
      result := ord(sTmp1[i])- ord(sTmp2[i]);
      if result<>0 then exit;
    end;
  except
    result := 0;
  end;
end;
Ce qui est très rapide, en procédant par des pointeurs.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


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

Utilisation de SearchStringList. Empty
MessageSujet: Utilisation de SearchStringList.   Utilisation de SearchStringList. EmptyJeu 14 Jan 2016 - 14:00

Bonjour.

Merci Klaus de la réponse rapide.
Enfin, je croyais que tu avais la main sur la fonction 'Find', mais je vois que ce n'est pas le cas.
Dommage.
Revenir en haut Aller en bas
Contenu sponsorisé





Utilisation de SearchStringList. Empty
MessageSujet: Re: Utilisation de SearchStringList.   Utilisation de SearchStringList. Empty

Revenir en haut Aller en bas
 
Utilisation de SearchStringList.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème avec la fonction 'instr'.
» Utilisation USB
» Utilisation de excel_write
» utilisation inkey$
» Utilisation de MAIN_MENU

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: