| Problème avec 'instr'. | |
|
|
Auteur | Message |
---|
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Problème avec 'instr'. Sam 27 Sep 2014 - 13:18 | |
| Bonjour. Le code suivant fonctionne parfaitement. - Code:
-
dim diphtongue_e_ie$, infinitif_espagnol$, reponse%
diphtongue_e_ie$="*abnegar*cegar*denegar*derrengar*desasosegar*desplegar*empezar*estregar*fregar*negar*pensar*plegar*refregar*renegar*replegar*restregar*segar*sentar*sosegar*trasegar*" diphtongue_e_ie$=diphtongue_e_ie$+"ascender*atender*cerner*coextender*condescender*contender*desatender*descender*desentender*distender*encender*entender*extender*heder*" diphtongue_e_ie$=diphtongue_e_ie$+"hender*perder*querer*reverter*sobreentender*sobrentender*subentender*tener*tender*transcender*trascender*trasverter*verter*"
message diphtongue_e_ie$+" "+infinitif_espagnol$
reponse%=1 caption 0,str$(instr(diphtongue_e_ie$,"*"+infinitif_espagnol$+"*")) if instr(diphtongue_e_ie$,"*"+infinitif_espagnol$+"*")>0 then reponse%=2
message str$(reponse%) | |
|
| |
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Re: Problème avec 'instr'. Sam 27 Sep 2014 - 13:20 | |
| - Pedro Alvarez a écrit:
- Bonjour.
Le code suivant fonctionne parfaitement.
Mais lorsque j'utilise ces mêmes lignes dans mon programme général, de 30.000 lignes, la ligne message str$(reponse%) n'est jamais exécutée.
Il semblerait qu'il y ait un problème de mémoire.
Avez-vous déjà rencontré ce genre de problème ?
- Code:
-
dim diphtongue_e_ie$, infinitif_espagnol$, reponse%
diphtongue_e_ie$="*abnegar*cegar*denegar*derrengar*desasosegar*desplegar*empezar*estregar*fregar*negar*pensar*plegar*refregar*renegar*replegar*restregar*segar*sentar*sosegar*trasegar*" diphtongue_e_ie$=diphtongue_e_ie$+"ascender*atender*cerner*coextender*condescender*contender*desatender*descender*desentender*distender*encender*entender*extender*heder*" diphtongue_e_ie$=diphtongue_e_ie$+"hender*perder*querer*reverter*sobreentender*sobrentender*subentender*tener*tender*transcender*trascender*trasverter*verter*"
infinitif_espagnol$="comer"
message diphtongue_e_ie$+" "+infinitif_espagnol$
reponse%=1 caption 0,str$(instr(diphtongue_e_ie$,"*"+infinitif_espagnol$+"*")) if instr(diphtongue_e_ie$,"*"+infinitif_espagnol$+"*")>0 then reponse%=2
message str$(reponse%) | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec 'instr'. Sam 27 Sep 2014 - 13:27 | |
| Pour moi, il n'y a pas de problème, sauf si tu places la commande MESSAGE en continuation sur la ligne qui contient INSTR...
Actuellement, la caption de la form 0 est "0", et la réponse est "1". Normal, car la chaîne recherchée: "*"+infinitif_espagnol$+"*" n'existe pas dans diphtongue_e_ie$, puisqu'à la fin, tu n'y ajoutes pas le dernier "*". Je ne sais pas si c'est voulu. | |
|
| |
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: problème avec 'instr'. Sam 27 Sep 2014 - 13:36 | |
| Bonjour.
Oui, effectivement, il ne semble pas y avoir de problème.
Mais le programme bloque tout de même !!
Je ne comprends pas pourquoi.
Problème de mémoire, de gestion interne des chaînes !! | |
|
| |
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: problème avec 'instr'. Sam 27 Sep 2014 - 13:58 | |
| Bonjour.
Je viens de trouver le pourquoi du coment.
OUF !!
Il s'agissait d'un problème d'utilisation d'une variable entière, mais non encore déclarée par DIM.
Panoramic ne signale pas ce genre d'erreur.
Ce serait bien que JACK y regarde. | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec 'instr'. Sam 27 Sep 2014 - 14:22 | |
| Tu me surprends... Regarde: - Code:
-
dim i% i% = 3 k% = i% en Panoramic signale bien une erreur en ligne 3. Aurais-tu un ON_ERROR_GOTO actif qui détournerait cette erreur ? Car, là, il n'y a pas d'erreur: - Code:
-
label bad on_error_goto bad dim i% i% = 3 k% = i% bad: end | |
|
| |
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Problème avec 'instr'. Sam 27 Sep 2014 - 14:23 | |
| | |
|
| |
Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Problème avec 'instr'. Sam 27 Sep 2014 - 14:57 | |
| Bonjour.
Oui, j'ai bien un on_error_goto en début de programme.
Mais il ne détecte pas l'erreur !!
J'ai par contre un dim reponse% un peu plus loin dans le programme. J'ai donc déplacé cette ligne en début de programme, et tout fonctionne correctement maintenant. | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Problème avec 'instr'. Sam 27 Sep 2014 - 18:53 | |
| @Pedro Alvarez Juste un petit truc pour une meilleure lisibilité du message affiché à l’écran : ajouter + chr$(13) , (à la fin des lignes 3 et 4) - Code:
-
dim diphtongue_e_ie$, infinitif_espagnol$, reponse%
diphtongue_e_ie$="*abnegar*cegar*denegar*derrengar*desasosegar*desplegar*empezar*estregar*fregar*negar*pensar*plegar*refregar*renegar*replegar*restregar*segar*sentar*sosegar*trasegar*" +chr$(13) diphtongue_e_ie$=diphtongue_e_ie$+"ascender*atender*cerner*coextender*condescender*contender*desatender*descender*desentender*distender*encender*entender*extender*heder*"+chr$(13) diphtongue_e_ie$=diphtongue_e_ie$+"hender*perder*querer*reverter*sobreentender*sobrentender*subentender*tener*tender*transcender*trascender*trasverter*verter*"
message diphtongue_e_ie$+" "+infinitif_espagnol$
reponse%=1 caption 0,str$(instr(diphtongue_e_ie$,"*"+infinitif_espagnol$+"*")) if instr(diphtongue_e_ie$,"*"+infinitif_espagnol$+"*")>0 then reponse%=2
message str$(reponse%
| |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec 'instr'. Sam 27 Sep 2014 - 20:22 | |
| - Papydall a écrit:
- Juste un petit truc pour une meilleure lisibilité du message affiché à l’écran : ajouter + chr$(13) , (à la fin des lignes 3 et 4)
Oui, complètement d'accord, et j'ajoute qu'en ce moment c'est pénible, ici et dans d'autres postes. Ce qui n'est pas normal (ici), c'est que c'est à l'intérieur des balises "code et \code" que l'écran prend un "width" démentiel. Et je pense que Pédro, ne l'a pas prévu. C'est le fonctionnement du forum qui déconne. A+ | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Problème avec 'instr'. Sam 27 Sep 2014 - 23:58 | |
| - Jean Claude a écrit:
- Oui, complètement d'accord, et j'ajoute qu'en ce moment c'est pénible, ici et dans d'autres postes.
Ce qui n'est pas normal (ici), c'est que c'est à l'intérieur des balises "code et \code" que l'écran prend un "width" démentiel.
Et je pense que Pédro, ne l'a pas prévu. C'est le fonctionnement du forum qui déconne. Pardon, mais je ne suis pas d’accord du tout et je dis même plus : le forum ne déconne pas du tout ! Il a fait son boulot comme il se doit. Dans ce cas précis, le forum respecte bien le texte à l’intérieur des balises "code et \code". La 3ème ligne du code posté par Pedro contient du texte sans aucun(e) espace. Ce texte doit être considéré comme un unique mot (très long pour être affiché sur une largeur convénable), donc insécable et ça doit être affiché comme tel : c’est ce qu’a fait le forum. Pour éviter ce genre de désagrément, il suffit d’insérer un(e) espace dans le texte à l’endroit où l’on estime que la largeur de l’écran ne doit pas aller plus loin. Ouf ! J’ai eu beaucoup de mal à m’exprimer. Suis-je assez clair ? | |
|
| |
Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Problème avec 'instr'. Dim 28 Sep 2014 - 9:03 | |
| Oui Papydall, c'est clair.
Je n'avais pas prêté attention au fait que la troisième ligne du code de Pédro ne comportait aucun espace.
Tout de même, il devrait y avoir une limite de longueur d'une ligne à l'intérieur des balises.
Imagine, ceux qui ont écran 17" ....
A+ | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Problème avec 'instr'. Dim 28 Sep 2014 - 9:50 | |
| Donc en synthèse, il faut essayer de mettre des espaces dans la mesure du possible dans ses codes, surtout quand on les envoie sur le forum. | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Problème avec 'instr'. Dim 28 Sep 2014 - 14:06 | |
| Une ligne est normalement constituée de plusieurs ‘mots’, dans le sens où le mot ‘mots’ est une suite de caractères affichables (ayant ou non un sens) et ne comportant pas le caractère espace. Si la séquence comporte des espaces, on la considère comme une suite de mots. Pour afficher un tel texte, le système qui régit le forum essaie d’afficher une ligne de longueur standard en coupant les lignes très longues : le caractère ‘espace’ est l’endroit de la coupe( !). Mais s’il s’agit d’un seul mot (même exagérément long), le système va l’afficher en entier en adaptant la largeur de l’écran. Et ça, je le considère comme un bon sens, dans la mesure où un mot est insécable. Faites en sorte que vos lignes aient une longueur raisonnable. J'ai réarrangeais le code posté par Pedro Alvares et ça donne : - Code:
-
dim diphtongue_e_ie$, infinitif_espagnol$, reponse%
diphtongue_e_ie$ = "*abnegar*cegar*denegar*derrengar*desasosegar*desplegar*empezar*" + chr$(13) diphtongue_e_ie$ = diphtongue_e_ie$ + "estregar*fregar*negar*pensar*plegar*refregar*" + chr$(13) diphtongue_e_ie$ = diphtongue_e_ie$ + "renegar*replegar*restregar*segar*sentar*sosegar*trasegar*" + chr$(13)
diphtongue_e_ie$ = diphtongue_e_ie$ + "ascender*atender*cerner*coextender*condescender*" + chr$(13) diphtongue_e_ie$ = diphtongue_e_ie$ + "contender*desatender*descender*desentender*" + chr$(13) diphtongue_e_ie$ = diphtongue_e_ie$ + "distender*encender*entender*extender*heder*" + chr$(13) diphtongue_e_ie$ = diphtongue_e_ie$ + "hender*perder*querer*reverter*sobreentender*" + chr$(13) diphtongue_e_ie$ = diphtongue_e_ie$ + "sobrentender*subentender*tener*tender*transcender*" + chr$(13) diphtongue_e_ie$ = diphtongue_e_ie$ + "trascender*trasverter*verter*"
message diphtongue_e_ie$+" "+infinitif_espagnol$
reponse%=1 caption 0,str$(instr(diphtongue_e_ie$,"*"+infinitif_espagnol$+"*")) if instr(diphtongue_e_ie$,"*"+infinitif_espagnol$+"*")>0 then reponse%=2
message str$(reponse%)
A l'exécution du programme, le message affiché comporte non pas une seule ligne très longue mais plusieurs lignes dont la lisibilité est meilleure. C'est ma manière de voir les choses et chacun est libre de son choix. | |
|
| |
Contenu sponsorisé
| Sujet: Re: Problème avec 'instr'. | |
| |
|
| |
| Problème avec 'instr'. | |
|