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.
Comparaison de deux chaînes de caractères Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Comparaison de deux chaînes de caractères Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Comparaison de deux chaînes de caractères Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Comparaison de deux chaînes de caractères Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Comparaison de deux chaînes de caractères Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Comparaison de deux chaînes de caractères Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Comparaison de deux chaînes de caractères Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Comparaison de deux chaînes de caractères Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Comparaison de deux chaînes de caractères Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Comparaison de deux chaînes de caractères Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Comparaison de deux chaînes de caractères Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Comparaison de deux chaînes de caractères Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Comparaison de deux chaînes de caractères Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Comparaison de deux chaînes de caractères Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Comparaison de deux chaînes de caractères 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 : -29%
DYSON V8 Origin – Aspirateur balai sans fil
Voir le deal
269.99 €

 

 Comparaison de deux chaînes de caractères

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


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

Comparaison de deux chaînes de caractères Empty
MessageSujet: Comparaison de deux chaînes de caractères   Comparaison de deux chaînes de caractères EmptyDim 1 Aoû 2010 - 0:50

J'ai fait une nouvelle petite DLL (contenue dans la distribution de KGF.dll) qui s'appelle Strings.dll. Elle est dédiée à de nouvelles fonctions de traitements de chaînes de caractères. Pour l'heure, elle contient une seule fonction:
res% = dll_call2("CompareStr",adr(string1$),adr(string2$))
if res<0 then ... string1$ < string2$
if res=0 then ... string1$ à string2$
if res>0 then ... string1$ > string2$
Il y a comme d'habitude un programme "test Strings.bas" qui permet de visualiser le résultat.

Avec la nouvelle DLL DynamicallyLoadDLL, on peut combiner plusieurs DLL dont Strings.dll par exemple, afin de les avoir simultanément ! Consulter la donc contenue dans Autres_DLL.rtf et le programme démo "test DynamicallyLoadDLL.bas".
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Comparaison de deux chaînes de caractères Empty
MessageSujet: Re: Comparaison de deux chaînes de caractères   Comparaison de deux chaînes de caractères EmptyLun 23 Aoû 2010 - 13:44

La version en Panoramic :

C'est juste un petit exercice, histoire de me déshabituer de la fonction print....
Wink

Code:

hide 0
label EndProg
on_close 0,EndProg

dim Verbose%: Verbose%=1 : ' ***** bla-bla actif
if Verbose%<>0
  dim VerboseForm%:VerboseForm%=9876
  form VerboseForm%:width VerboseForm%,screen_x:height VerboseForm%,200:caption VerboseForm%,"Verbose":top VerboseForm%,screen_y - height(VerboseForm%) -34
  list VerboseForm%+1:parent VerboseForm%+1,VerboseForm%: width VerboseForm%+1,width(VerboseForm%)-8:height VerboseForm%+1,height(VerboseForm%)-34
  dim Verbose$(2)
  on_close VerboseForm%, EndProg
end_if


' ******************************************************************************
' *          Comparaison de 2 chaines de caractère en panoramic.
' ******************************************************************************

' ***** Init variables nécessaires pour strcmp

label strcmp
dim strcmp_s1$,strcmp_s2$,strcmp


' ***** Exemples de comparaison de chaine :

width 0,350:height 0,200:left 0,(screen_x-width(0))/2:top 0,(screen_y-height(0))/2
caption 0,"EXEMPLE D'UTILISATION DE STRCMP"
alpha 2 : caption 2,"Voir les résultats de comparaison dans la fenêtre 'verbose'"
left 2,(width(0)-width(2))/2:top 2,(height(0)/2)-height(2)-21
show 0


strcmp_s1$ = "Aea" : strcmp_s2$ = "Aeb"
gosub strcmp

strcmp_s1$ = "Aea" : strcmp_s2$ = "Aead"
gosub strcmp

strcmp_s1$ = "Aebc"
gosub strcmp

strcmp_s1$ = "Aec" : strcmp_s2$ = "Aeb"
gosub strcmp

strcmp_s1$ = strcmp_s2$
gosub strcmp


end


 
' ******************************************************************************
' *                            Fin du programme
' ******************************************************************************
EndProg:
  terminate



' *******************************************
' *              Procédures
' *******************************************
strcmp:
  strcmp=1
  if Verbose%<>0
    Verbose$(0)="Inferieure": Verbose$(1)="egale": Verbose$(2)="superieure"
  end_if
  while mid$(strcmp_s1$,strcmp,1)=mid$(strcmp_s2$,strcmp,1)
    if ((strcmp = len(strcmp_s1$)) or (strcmp = len(strcmp_s2$)))
      if len(strcmp_s1$)<>len(strcmp_s2$)
        strcmp = sgn(len(strcmp_s1$) - len(strcmp_s2$))
      else
        strcmp=0
      end_if
      if Verbose%<>0 then item_add VerboseForm%+1,"strcmp( "+chr$(34)+strcmp_s1$+chr$(34)+" , "+chr$(34)+strcmp_s2$+chr$(34)+" ) = "+Verbose$(strcmp+1)
      return
    end_if
    strcmp=strcmp+1
  end_while
  strcmp = sgn(asc(mid$(strcmp_s1$,strcmp,1)) - asc(mid$(strcmp_s2$,strcmp,1)))
  if Verbose%<>0 then item_add VerboseForm%+1,"strcmp( "+chr$(34)+strcmp_s1$+chr$(34)+" , "+chr$(34)+strcmp_s2$+chr$(34)+" ) = "+Verbose$(strcmp+1)
return


EDIT : Damned ! il restait encore des "print" !!!

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

Comparaison de deux chaînes de caractères Empty
MessageSujet: Re: Comparaison de deux chaînes de caractères   Comparaison de deux chaînes de caractères EmptyLun 23 Aoû 2010 - 22:50

Effectivement, ça fait exactement cela. Dommage qu'il faille dans d'ingéniosité pour une fonction presque élémentaire de traitement de chaînes de caractères, mais Panoramic continuera d'évoluer, j'en suis certain. En attentant, ta fonction est une alternative intéressante tout-Panoramic à ma fonction DLL.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Comparaison de deux chaînes de caractères Empty
MessageSujet: Re: Comparaison de deux chaînes de caractères   Comparaison de deux chaînes de caractères Empty

Revenir en haut Aller en bas
 
Comparaison de deux chaînes de caractères
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Comparaison des chaînes de caractères
» Tri de chaînes de caractères
» Problème de comparaison de chaînes.
» une idée sur comparaison de chaînes
» Recherche de chaînes de caractères : FINDSTR

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: