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
» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Comparaison de deux chaînes de caractères Emptypar jjn4 Aujourd'hui à 15:06

» PANORAMIC V 1
Comparaison de deux chaînes de caractères Emptypar papydall Aujourd'hui à 3:22

» select intégrés [résolu]
Comparaison de deux chaînes de caractères Emptypar jjn4 Hier à 17:00

» number_mouse_up
Comparaison de deux chaînes de caractères Emptypar jjn4 Hier à 11:59

» Aide de PANORAMIC
Comparaison de deux chaînes de caractères Emptypar jjn4 Hier à 11:16

» trop de fichiers en cours
Comparaison de deux chaînes de caractères Emptypar lepetitmarocain Hier à 10:43

» Je teste PANORAMIC V 1 beta 1
Comparaison de deux chaînes de caractères Emptypar papydall Hier à 4:17

» bouton dans autre form que 0
Comparaison de deux chaînes de caractères Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Comparaison de deux chaînes de caractères Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Comparaison de deux chaînes de caractères Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Comparaison de deux chaînes de caractères Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Comparaison de deux chaînes de caractères Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Comparaison de deux chaînes de caractères Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Comparaison de deux chaînes de caractères Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Comparaison de deux chaînes de caractères 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 à ne pas rater :
Jeux, jouets et Lego : le deuxième à -50% (large sélection)
Voir le deal

 

 Comparaison de deux chaînes de caractères

Aller en bas 
2 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12295
Age : 74
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 : 55
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 : 12295
Age : 74
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: