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
» PANORAMIC V 1
Problème avec la fonction 'instr'. Emptypar jjn4 Hier à 17:49

» select intégrés [résolu]
Problème avec la fonction 'instr'. Emptypar jjn4 Hier à 17:00

» number_mouse_up
Problème avec la fonction 'instr'. Emptypar jjn4 Hier à 11:59

» Aide de PANORAMIC
Problème avec la fonction 'instr'. Emptypar jjn4 Hier à 11:16

» trop de fichiers en cours
Problème avec la fonction 'instr'. Emptypar lepetitmarocain Hier à 10:43

» Je teste PANORAMIC V 1 beta 1
Problème avec la fonction 'instr'. Emptypar papydall Hier à 4:17

» bouton dans autre form que 0
Problème avec la fonction 'instr'. Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Problème avec la fonction 'instr'. Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Problème avec la fonction 'instr'. Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Problème avec la fonction 'instr'. Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Problème avec la fonction 'instr'. Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Problème avec la fonction 'instr'. Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Problème avec la fonction 'instr'. Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Problème avec la fonction 'instr'. Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Problème avec la fonction 'instr'. 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 :
Cartes Pokémon 151 : où trouver le coffret Collection Alakazam-ex ?
Voir le deal

 

 Problème avec la fonction 'instr'.

Aller en bas 
+4
Jean Claude
Yannick
ambroise
pan59
8 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
pan59

pan59


Nombre de messages : 367
Age : 66
Localisation : Wattignies
Date d'inscription : 16/10/2011

Problème avec la fonction 'instr'. Empty
MessageSujet: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyLun 16 Juil 2012 - 17:39

Bonjour.

Comment faire pour simuler la fonction instr (chaine1, chaine2, P) afin de rechercher la position de la chaine2 dans chaine1, à partir de la position P ?

Cette fonction m'est d'une grande utilité.

Merci de votre aide.
Revenir en haut Aller en bas
ambroise




Nombre de messages : 264
Localisation : Haute-Savoie
Date d'inscription : 29/04/2012

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyLun 16 Juil 2012 - 20:07

Ce script donnera la position du dernier "amis" à partir de "sont" :

Code:

dim a$, b$, position%
a$ = "Les amis de mes amis sont mes amis"
b$ = "amis"

position% = 22

print instr(right$(a$,(len(a$)+1) - position%),b$)


Dernière édition par ambroise le Lun 16 Juil 2012 - 20:18, édité 2 fois
Revenir en haut Aller en bas
http://genealogie.cwebh.org/index.html
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec la fonction 'instr'. Empty
MessageSujet: re   Problème avec la fonction 'instr'. EmptyLun 16 Juil 2012 - 20:08

instr( chaine1$,chaine2$) te renvoie déjà la position de départ de la chaine2$ dans la chaine1$

où est le souci ?.....

après tu peux jouer avec len() pour le nombre de caractères de chaque chaine$....
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyLun 16 Juil 2012 - 20:11

Salut pan59,

Si c'est P que tu recherches, alors tu utilises INSTR comme ceci: P=instr (chaine1, chaine2) . P te donne la position du premier caractère de chaine2 dans chaine1.

A+

Edit:Salut à Ygeronimi et Ambroise, vous m'avez doublé Very Happy
Revenir en haut Aller en bas
ambroise




Nombre de messages : 264
Localisation : Haute-Savoie
Date d'inscription : 29/04/2012

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyLun 16 Juil 2012 - 20:19

Salut à toi... peu de monde sur le forum ces jours : c'est les vacances !
Revenir en haut Aller en bas
http://genealogie.cwebh.org/index.html
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyLun 16 Juil 2012 - 20:30

Abroise a écrit:
peu de monde sur le forum ces jours : c'est les vacances !

Oui, même Jack se fait rare..... Very Happy

A+
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyLun 16 Juil 2012 - 21:07

Citation :
Oui, même Jack se fait rare.....

Je regarde le forum quotidiennement.
Mais je viens juste de rentrer d'un long séjour professionnel à l'étranger et qui m'a littéralement épuisé (je n'ai pas pris beaucoup de repos).
Je vais me reposer un peu, puis je vais continuer le compilateur Panoramic et Toonic.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
papydall

papydall


Nombre de messages : 7006
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyLun 16 Juil 2012 - 21:13

Ça c’est une bonne nouvelle.
Repose-toi bien.
A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec la fonction 'instr'. Empty
MessageSujet: re   Problème avec la fonction 'instr'. EmptyLun 16 Juil 2012 - 21:30

Jack ....le retour

Cà c'est une bonne nouvelle !

Reposes toi un peu ....mais pas trop ,on s'y habitue vite... lol!
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 7:46

Un peu de repos et çà repart, Very Happy

Bon courage...

A+
Revenir en haut Aller en bas
pan59

pan59


Nombre de messages : 367
Age : 66
Localisation : Wattignies
Date d'inscription : 16/10/2011

Problème avec la fonction 'instr'. Empty
MessageSujet: Problèmeavec la fonction instr.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 7:53

Bonjour et merci à tous de votre aide.

Cette fonction me manquait vraiment.

Serait-il possible d'intégrer ce 3è paramètre dans la prochaine version de Panoramic ?
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 13:20

Pan59 a écrit:
Serait-il possible d'intégrer ce 3è paramètre dans la prochaine version de Panoramic ?

Je ne comprend pas ce qui te manque dans cette fonction, c'est quoi le 3ème paramètre ?

p=instr(chaine1$,chaine2$)

j'ai repris la démo du manuel pour info:
Code:
dim a$,b$,p
a$="bonjour les amis"
b$="les"
p=instr(a$,b$)
print P
' résultat=9

Précises ce qui te manque... Question

A+
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Problème avec la fonction 'instr'. Empty
MessageSujet: re   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 13:25

Je te rejoins Jean Claude , je ne vois pas ce qui te manque Suspect

la fonction P% = instr( a$,b$) existe , la fonction len(a$) existe , il te suffit de les utilisées elles sont dans l'aide pour plus de détails.

Et le 3 ème paramètres Question Question Question Question Question Question ..........
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 13:27

Tu peux simuler ce paramètre comme suit:
Code:

pos% = instr(crit$,mid$(chaine$,p%,len(chaine$))
if pos%>0 then pos% = pos% + p% - 1
Cela fait exactement ce que tu cherches.

PS

Au besoin, je peux te faire une fonction DLL. J'ai une DLL nommée strings.dll, dans laquelle cette fonction trouverait logiquement sa place.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 14:01

Heu Klaus, t'es sur de ton coup... J'ai mis les variables pour essayer
Code:
dim crit$,chaine$,p%,pos%

crit$="les"
chaine$="Bonjour les amis"

pos% = instr(crit$,mid$(chaine$,p%,len(chaine$))
if pos%>0 then pos% = pos% + p% - 1

caption 0,str$(p%)+"|"+str$(pos%)

A+
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 14:17

C'est comme ça que ça marche:
Code:
dim crit$,chaine$,p%,pos%

crit$="les"
chaine$="Bonjour les amis"
p% = 3
pos% = instr(mid$(chaine$,p%,len(chaine$)),crit$)
if pos%>0 then pos% = pos% + p% - 1

caption 0,str$(p%)+"|"+str$(pos%)

Il fallait bien sûr mettre une valeur dans p% (0 n'étant pas une position valide) et j'avais malheurusement inversé les deux paramètres de INSTR. Donc, mon conseil est le suivant;
Code:

pos% = instr(mid$(chaine$,p%,len(chaine$)),crit$)
if pos%>0 then pos% = pos% + p% - 1

J'ai ajouté la fonction instr(adr(crit$),adr(chaine$),p%) à strings.dll.


Dernière édition par Klaus le Mar 17 Juil 2012 - 20:57, édité 1 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 14:42

Dommage que tu n'aies pas adopté la syntaxe classique du basic, qbasic, freebasic...
pos% = INSTR([départ%,] source$, chainecherchée$)
et dommage que ça ne soit pas comme ça en natif Panoramic, la syntaxe actuelle resterait valable, ce serait simplement un ajout d'un paramètre optionnel (départ implicite = 1). Comme en basic.
Revenir en haut Aller en bas
pan59

pan59


Nombre de messages : 367
Age : 66
Localisation : Wattignies
Date d'inscription : 16/10/2011

Problème avec la fonction 'instr'. Empty
MessageSujet: Fonction instr.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 15:03

Finalement, j'utilise la routine suivante:

dim a$, b$, position%
a$ = "les amis de mes amis sont mes amis"
b$ = "amis"

position% = 18

print instr(right$(a$,(len(a$)+1) - position%),b$)+position%-1
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 17:03

Merci Pan59, avec ta démonstration je comprend maintenant où tu voulais en venir "rechercher la chaine2 dans la chaine1, en donner la position, et continuer jusqu'à la fin de chaine1"

J'ai adapté le prog de Klaus pour montrer la finalité
Code:
label go
dim crit$,chaine$,p%,pos%
p% = 1
crit$="amis"
chaine$="Bonjour, les amis de mes amis sont mes amis"

go:
' Klaus
pos% = instr(mid$(chaine$,p%,len(chaine$)),crit$)
if pos%>0 then pos% = pos% + p% - 1
' -----
print str$(pos%)
if pos%>0
  p%=pos%+1:goto go
else
  end
end_if

Ta demande initial est, à mon avis, pas très explicite. Avec ton dernier message on comprend ce que tu voulais....

A+
Revenir en haut Aller en bas
pan59

pan59


Nombre de messages : 367
Age : 66
Localisation : Wattignies
Date d'inscription : 16/10/2011

Problème avec la fonction 'instr'. Empty
MessageSujet: Fonction instr.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 17:41

Bonjour.

Connaissez-vous la date de sortie de la nouvelle version de Panoramic, incluant le passage de paramètres ?

Je l'attends avec impatience.

Merci.
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 21:22

J'ai ajouté la fonction requise dans strings.dll. Voici un extrait de la doc:
Code:

    res% = dll_call3("instr",adr(crit$),adr(chaine$,p%)
        res%   position de crit$ dans chaine$, à partir de la position p%
        crit$   chaîne de caractères à chercher
        chaine$   chaîne de caractères dans laquelle il faut chercher
        p%   position à partir de laquelle on cherche
Cette fonction retourne la position de la chaîne crit$ à l’intérieur de la chaîne chaine$, en cherchant à partir de la position p%.  Si crit $n’est pas trouvé, la fonction retourne 0 (zéro). Sinon, la fonction retourne la position du premier caractère de crit$ dans chaine$.

Et voici comment on peut l'utiliser:
Code:

dim s$, mois$, p%, p1%, mm%
mois$ = "Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre,"

mm% = 5
' chercher le mois en lettres
p%  = 0
s$ = ","
dll_on "strings.dll"
while mm%>0
  p1% = p% + 1
  p% = dll_call3("instr",adr(s$),adr(mois$),p1%)
  mm% = mm% - 1
end_while
message "Le mois 5 s'appelle "+mid$(mois$,p1%,p%-p1%)
dll_off

end
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
pan59

pan59


Nombre de messages : 367
Age : 66
Localisation : Wattignies
Date d'inscription : 16/10/2011

Problème avec la fonction 'instr'. Empty
MessageSujet: Utilisation de le dll.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 21:32

Bonjour.

Merci de m'indiquer où l'on peut télécharger cette DLL.

Cordialement.
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyMar 17 Juil 2012 - 21:43

Comme pour toutes mes DLLs, c'est sur mon WebDav:
Site: http://www.mydrive.ch/
Identifiant: panoramic@klausgunther
Mot de passe: panoramic123
Dossier: DLL's
Il y a toutes mes DLLs, ainsi que les fichiers de documentation.

La doc de strings.dll est dans Autres_dll.rtf.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
pan59

pan59


Nombre de messages : 367
Age : 66
Localisation : Wattignies
Date d'inscription : 16/10/2011

Problème avec la fonction 'instr'. Empty
MessageSujet: Fonction instr.   Problème avec la fonction 'instr'. EmptyDim 22 Juil 2012 - 17:30

Bonjour.

Merci Klaus pour le travail accompli.

Il me manque encore une fonction importante:

mid$ avec seulement 2 paramètres, je m'explique:

Comment extraire une sous-chaîne B$ à partir d'une chaîne A$, et à partir d'une position P, et cela jusu'à la fin de la chaîne A$.

Exemple
----------

B$ = mid2$ ("forum de discussion", 10) donnerait "discussion".

Pourrait-elle être également ajoutée dans la DLL ?

Merci de la réponse..
Revenir en haut Aller en bas
ambroise




Nombre de messages : 264
Localisation : Haute-Savoie
Date d'inscription : 29/04/2012

Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. EmptyDim 22 Juil 2012 - 17:55

Cette fonction existe :

Voilà une solution :
Code:
dim chaine$ , position%
chaine$ = "forum de discussions"
position% = 10
print right$(chaine$,len(chaine$) - position% + 1)


Dernière édition par ambroise le Dim 22 Juil 2012 - 18:20, édité 1 fois
Revenir en haut Aller en bas
http://genealogie.cwebh.org/index.html
Contenu sponsorisé





Problème avec la fonction 'instr'. Empty
MessageSujet: Re: Problème avec la fonction 'instr'.   Problème avec la fonction 'instr'. Empty

Revenir en haut Aller en bas
 
Problème avec la fonction 'instr'.
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Problème avec 'instr'.
» Problème avec select case Probleme réglé merci
» problème avec edit ou bien avec combo?
» KGF_dll - nouvelles versions
» Problème avec les "if".

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: