| Comparaison des chaînes de caractères | |
|
|
Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 2:13 | |
| Panoramic ne dispose pas de fonctions de comparaisons des chaînes de caractères à part l’égalité. On peut faire - Code:
-
IF A$ = B$ THEN ... ou - Code:
-
IF NOT( A$ = B$) then ... Mais on ne peut pas faire - Code:
-
IF A$ > B$ then ... ni - Code:
-
IF A$ < B$ then ... Pour remédier à ceci, voici une procédure sous forme de SUB Str_Compare(a$,b$) qui permet de comparer deux chaînes de caractères et retourne une valeur dans la variable globale RESULT. RESULT = 0 --- > les 2 chaînes sont identiques RESULT = 1 --- > la 1ère chaîne est supérieure à la seconde RESULT = -1 --- > la 1ère chaîne est inférieure à la seconde La comparaison s’effectue sur les codes ASCII des caractères constituant les chaînes. - Code:
-
' ****************************************************************************** ' Comparaison des chaînes de caractàres dim s1$,s2$,result s1$ = "SALUT" : s2$ = "salut" ' s1$ = "SALUT" : s2$ = "SALUT" ' s1$ = "12345" : s2$ = "2" ' s1$ = "Pomme" : s2$ = " Orange" Str_Compare(s1$,s2$) select result case -1 : message s1$ + " < " + s2$ case 0 : message s1$ + " = " + s2$ case 1 : message s1$ + " > " + s2$ end_select end ' ****************************************************************************** ' Comparaison de deux chaînes de caractères ' La comparaison s'effectue sur les codes ASCII des caractères ' Retourne : ' RESULT = 0 si les 2 chaines sont identiques ' RESULT = -1 si la 1ère chaîne est inférieure à la seconde ' RESULT = 1 si la 1ère chaîne est supérieure à la seconde SUB Str_Compare(a$,b$) dim_local l,l1,l2,i l1 = len(a$) : l2 = len(b$) : l = min(l1,l2) : result = 0 for i = 1 to l if asc(mid$(a$,i,1)) < asc(mid$(b$,i,1)) then result = -1 : exit_sub if asc(mid$(a$,i,1)) > asc(mid$(b$,i,1)) then result = 1 : exit_sub next i if l1 > l then result = 1 : exit_sub if l2 > l then result = -1 END_SUB ' ***********************************************************************
| |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 10:52 | |
| A ajouter dans la bibliothèque des procédures utiles
Tiens d'ailleurs je sais que vous faites des bibliothèques de procédure dans vos coins respectifs.
Est-ce que l'un d'entre vous les mets sur son Webdav ?
Je pense en effet que l'on pourrait en mettre quelques une d'utiles par numéro du mag par thème (traitement des date, traitement des chaines, traitement des conversions, traitement des entiers longs, traitement des nombres (fractions, PPCM, PGCD, ...), etc ...) voir quelqu'un pourrait en faire un petit article, enfin moi je dis ça, c'est juste une idée et ça permettrait des les retrouver facilement. | |
|
| |
Froggy One
Nombre de messages : 598 Date d'inscription : 06/01/2012
| Sujet: Re Lun 12 Aoû 2013 - 11:01 | |
| Hola, ça bosse ! Moi je reviens de vacances. J'avoue que pour ma part, mon webdav est bien vide car les deux ou trois programmes que je fais, je m'en contente même s'il ne sont pas absolument finalisés (une copie d'écran et c'est bon). Mais je prends de bonnes résolutions, si, si ! C'est vrai qu’un petit sous-programme par-ci, par-là, bien rangé, ça facilite les choses. Merci Papydall et Jicehel ! | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 11:05 | |
| Merci papydall, c'est vrai que la comparaison de chaînes < ou > manque, encore une sub à ajouter à ma collection. Tu as raison Jicehel, ce serait bien de mettre tout à disposition, peut-être sur le mag mais c'est peut-être trop généraliste, et il faudrait chercher le bon numéro, perso je verrais ça aussi (ou mieux) dans une ou des rubriques spéciales de 'Vos sources utilitaires...' sur le forum, plus accessible. | |
|
| |
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 11:22 | |
| Ca me titillait un peu cette histoire de chaînes, et finalement j'ai regardé dans ma collection où j'ai retrouvé la Sub Compchain qui fait sensiblement la même chose: https://panoramic.1fr1.net/t2762-quelques-subs-en-vracDonc finalement je n'ai pas rajouté la tienne papydall, je l'avais déjà ! | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 11:42 | |
| KGF.dll contient les fonctions CompareStr et CompareStrA qui font ça. La première selon la collection de caractères dans la langue par défaut (français chez nous), et la seconde selon le code ASCII strict. Car, après tout, en ASCII, "a" est plus grand que "A", "é" est plus grand que "Z" etc. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 11:50 | |
| Klaus, tes fonctions dans KGF sont utiles pour certains usages, et d'ailleurs, le stockage de tous les usages possible de KGF seraient bien, bien rangés par thèmes également dans le magazine (afin de pouvoir les retrouver facilement aussi, mais comme tu as fais une très bonne documentation, il ne faudrait pas que cela fasse doublon au niveau des détails et options, je pense plutôt à l'inventaire des possibilités).
Par contre, là, l'avantage de ces procédures c'est qu'elles sont en pure Panoramic et répondent à la plupart des besoins courants sans qu'il y ait besoin d'addition de fichiers externe ni de gestion de DLL.
Tant que l'objectif est atteignable par ce biais et que les temps de réponses sont acceptables, autant les utiliser. Après, si Panoramic ne permet pas de le faire ou en tout cas pas dans un temps acceptable, alors là, on fait appel à tes fonctions pour pouvoir faire ce que l'on a à faire. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 11:55 | |
| Tout à fait d'accord. C'était juste pour être exhaustif sur le sujet, en particulier au niveau de l'encodage des caractères, car les résultats avec du texte en majuscules/minuscules avec des caractères accentués ne sont par forcément ceux qu'on attendrait intuitivement. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 12 Aoû 2013 - 12:29 | |
| Je reviens sur les bibliothèques de Procédures et leur inclusion dans le site du mag. Je veux bien les inclure dans les téléchargements mais c' est à réfléchir, ne vaut il pas mieux que le lecteur vienne voir cela sur le forum... ou sur les webdavs... | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 13:49 | |
| En fait sur le forum, c'est bien quand on créé une nouvelle procédure, et sur les webdav c'est très bien si le classement et clair et que l'on peut facilement trouver ce que l'on cherche.
Je développe: Quand Papydall ou Cosmos font une procédure, il la publie sur le forum et c'est adapté. Nous qui lisons tout le temps le forum sommes au courant.
Maintenant quelqu'un qui arrive ne va pas forcément se rappeler que JL35 (je crois) a publié un ensemble de procédures ou qu'il y en a des intéressantes dans sa calculatrice ?
Comment peut-il savoir qu'il peut les trouver dans un Webdav particulier et à quel emplacement ?
Le forum n'est pas très pratique pour les recherches (même si c'est un peu mieux en passant par la recherche Google), un récapitulatif des procédures les plus utiles avec une description de l'utilisation etc ... (comme dans la doc de Klaus sur les procédures de KGF.DLL) classées par thème et que l'on puisse trouver facilement dans vos source / utilitaires serait plus simple à retrouver, je pense. Il suffirait d'un fichier pdf par thème par exemple avec la doc et le code de la procédure. Après, cela n’empêche pas de rajouter dans ce fichier un lien du type: "Vous pouvez télécharger toute la librairie des procédures de traitement des chaines de caractère sur le webdav de ... chemin: ...." ou de mettre la librairie en téléchargement dans le même répertoire selon le choix effectué pour l'organisation).
Le forum n'a qu'une organisation chronologique et quelque sujet. Il n'a pas vocation à avoir une arborescence plus fine ou de toute façon nous ne mettrions pas forcément correctement nos sujets. Par contre nous pouvons nous organiser pour en extraire les sujets que l'on veut pour les présenter aux autres utilisateurs et leur faciliter la recherche. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Lun 12 Aoû 2013 - 14:07 | |
| Je vois ce que tu veux dire...ou presque . Le mieux serait que chacun fasse sa bibliothèque mais cela risque d' être "mission impossible" ... ...vue notre grande sens discipline. Je vais réfléchir et je proposerai quelque chose dans les heures ou jours qui viennent. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 15:10 | |
| - Ygeronimi a écrit:
- Le mieux serait que chacun fasse sa bibliothèque mais cela risque d' être "mission impossible" ...
Absolument, le but est de référencer les procédures quelque part où on peut les trouver facilement après on peut se faire sa bibliothèque avec ton outil ou celui de Klaus, par exemple. Le truc c'est de retrouver la bonne procédure quand on en a besoin, surtout pour les nouveaux arrivants. C'est le truc de la question cyclique. Quand un forum existe depuis longtemps, les gens qui arrivent reposent toujours un peu les même questions / rencontrent certains problèmes dont la réponse se trouve dans les tutoriaux, les aides ou dans certains posts. Tout simplement par ce qu'au début, il y a beaucoup de choses à lire ou par ce que les informations sont plus ou moins dures à trouver sur le forum. Là, il y a eu des échanges sur vos utilitaires pour stocker les procédures, mais dans un mois ou deux, il y aura plusieurs messages devant ceux-là et un nouvel utilisateur cherchant une procédure particulière ne saura pas que vous avez déjà prévu les outils et que vous en avez partagé un nombre non négligeable. Il n'aura pas le réflexe de se faire sa propre bibliothèque tout simplement, par ce qu'il risque de ne pas y penser ou par méconnaissance de ces messages que vous avez publié. | |
|
| |
Invité Invité
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 16:10 | |
| Bonjour, Je vous donne mon point de vue (le mien pas le journal pour ceux qui ont de la mémoire). Ces deniers jours j'ai publié une fonction que j'ai appelé InstrPlus. J'ai voulu la mettre dans un post que l'un de vous à publié sur les sub en vrac, et je ne l'ai pas trouvé. Peut importe ma façon de recherché ce que je ne trouve pas. Je dois avoir un problème de ce côté là. Il faut dire que je n'ai pas envie non plus y passer des heures.
Ce qui serait bien, vu que Jack ne veut pas faire une page supplémentaire pour les astuces, ce serait que l'un de vous qui possède un site, fasse une rubrique spéciale (si il n'y a pas de problème de mémoire) pour avoir les subs à dispositions avec une recherche simple pour les retrouver.
Je n'ai pas de site, donc demander est plus facile que de faire. Ayant à peut-près fini mon éditeur, malgré que je n'arrive pas vraiment encore à en sortir, je vais commencé par essayer d'avoir un peu d'ordre dans mes méthodes pour m'y retrouver moi-même. J'ai déjà commencé à mettre un onglet sur le navigateur pour y mettre dedans les programmes que je publie. Edit: comme je l'ai dit, ayant l'esprit bloqué plus ou moins sur ce que je fais, je ne me désintéresse pas de ce que vous publiez, mais il va falloir un peu de temps pour faire le vide, et voir de près vos réalisations. |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 16:58 | |
| Remarque judicieuse Cosmos, il est vrai que l'on est pas obligé de le mettre dans le mag, ça peut être un lien vers un site externe tenu par un des Panoramiciens aussi et Ygeronimi n'aurait pas alors à le gérer une fois le lien ajouté.
En plus le site pourrait être dédié à ça donc avec une structure adapté un des fonctions de recherches dédiées à ça. A réfléchir, si ça tente quelqu'un. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 20:59 | |
| Je pourrais mettre à disposition sur mon WebDav, un sous-dossier en accès libre lecture/écriture, et chacun pourrait y déposer, pour chaque sub: - le fichier BAS contenant ma sub - un fichier RTF, DOC ou TXT contenant la documentation.
Si cela vous tente, je peux le mettre en palce. | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 21:09 | |
| Très bien et une fois qu'il commence à être alimenté, on rajoute l'info sur le site du mag (pour que les arrivants les trouvent) | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 22:06 | |
| D'accord. Je mettrai cela en palce ce soir, et j'y déposerai un fichier texte avec les règles d'utilisation. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Comparaison des chaînes de caractères Lun 12 Aoû 2013 - 23:49 | |
| | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 13 Aoû 2013 - 13:09 | |
| Je crois que nous avons là de quoi mettre en application les fonctions internet de la dll de klaus et tout notre savoir en application.
Comme je l' ai écrit plus haut, je suis en réflexion sur la meilleur approche possible. Laissez moi un peu de temps... | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 13 Aoû 2013 - 14:30 | |
| Il est possible de renommer la rubrique "Articles" par "Bibliothèque" avec deux "sous rubriques". la première "Articles" la deuxième "Procédures". Dans "Articles" on retrouvera l' historique et la recherche d' articles. Dans "Procédures", je peux détourner la partie boutique prévue dans izispot pour en faire une sorte de base de données. Les procédures seront classées par catégorie ( reste à les définir ). Le concepteur de la procédure poste sur le webdav un petit zip avec la procédure*.bas et un explication*.txt. Le *.txt servira pour l' explication sur le site et un lien propose le zip en téléchargement. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 13 Aoû 2013 - 16:41 | |
| J' ai mis une "Sous rubrique" provisoire dans la rubrique article pour vous montrer ce que celà pourrait être. le choix de la catégorie des procédures se fait dans le combo en dessous du titre de la page.
Le lien " Télécharger" renvoi sur la page d' accueil en attendant que tout le monde se prononce.
Pour moi, il me suffit d' un petit zip avec le texte à mettre en commentaires/explications... | |
|
| |
Contenu sponsorisé
| Sujet: Re: Comparaison des chaînes de caractères | |
| |
|
| |
| Comparaison des chaînes de caractères | |
|