Mai 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | Calendrier |
|
| | Plus de IF que de END_IF | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: Plus de IF que de END_IF Jeu 17 Mai 2012 - 16:41 | |
| Bonjour, Déjà, j'ai pas encore téléchargé la dernière version. J'ai du travail a faire avant, comme entre autre de la place. J'ai voulu faire en vitesse un code, et d'ailleur il est terminé, seulement je ne peux pas l'exécuter. J'en ai mis qu'une partie, au moins cela facilite la compréhension, vu que l'erreur est la même. - Code:
-
dim a%,b%,a$,b$ , x% , a1$ ,flag% dim fo%,wh%,re%,se%,ca%, if% label traitement , marque , next1 full_space 0 memo 1:bar_both 1 :full_space 1:left 1,5 :font_name 1,"Courier New" on_click 0,traitement list 2 :left 2,800 :width 2,200
end
traitement: x%=1 for a%=1 to count(1) flag%=0 a$=trim$(item_read$(1,a%)) : a1$=upper$(a$)
if left$(a1$,3)= "IF " if% = x% :gosub marque if instr(a1$,"THEN ") > 0 then x% = if% :else : x%=x%+4 goto next1 end_if next1: next a% return marque: return Je suppose que c'est le "IF" NON. Je viens de remplacer le if par une variable qui le contient, ça ne change rien. C'est "THEN " qui pose problème. J'ai mis une variable à la place, et ça fonctionne. |
| | | Klaus
Nombre de messages : 12295 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Plus de IF que de END_IF Jeu 17 Mai 2012 - 17:22 | |
| Il y a clairement un problème avec le compilateur. J'ai remplacé ton "THEN " par une variable th$, et ça marche: - Code:
-
' Klaus: ajout de la ligne suivante dim th$ : th$ = "THEN " dim a%,b%,a$,b$ , x% , a1$ ,flag% dim fo%,wh%,re%,se%,ca%, if% label traitement , marque , next1 full_space 0 memo 1:bar_both 1 :full_space 1:left 1,5 :font_name 1,"Courier New" on_click 0,traitement list 2 :left 2,800 :width 2,200
end
traitement: x%=1 for a%=1 to count(1) flag%=0 a$=trim$(item_read$(1,a%)) : a1$=upper$(a$)
if left$(a1$,3)= "IF " if% = x% :gosub marque ' Klaus: remplacement de "THEN " par th$ if instr(a1$,th$) > 0 then x% = if% :else : x%=x%+4 goto next1 end_if next1: next a% return marque: return Ceci dit, ta ligne [code]if instr(a1$,th$) > 0 then x% = if% :else : x%=x%+4/code] a une syntaxe ambigue. Il vaut mieux écrire: [code]if instr(a1$,th$) > 0 x% = if% else x%=x%+4 end_if[/code] car tu en peux pas faire ELSE après un THEN ! | |
| | | Invité Invité
| Sujet: Re: Plus de IF que de END_IF Jeu 17 Mai 2012 - 18:30 | |
| Il y a un problème. Mais: - Code:
-
if instr(a1$,th$) > 0 then x% = if% :else : x%=x%+4 - Citation :
- a une syntaxe ambigue. Il vaut mieux écrire:
Je suis désolé, Klaus, mais cela fonctionne. Il faut seulement pas mettre le END_IF à la fin. Je crois bien d'ailleur que c'est toi qui l'a montré. |
| | | Klaus
Nombre de messages : 12295 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Plus de IF que de END_IF Jeu 17 Mai 2012 - 19:01 | |
| Exact. Tu as raison pour la construction du IF THEN ELSE sur une seule ligne. Autant pour moi. Je n'ai vraiment pas l'habitude de voir cette construction.
Ceci dit, ma modif du source ci-dessus reste valable et démontre clairement un problème avec le compilateur de Panoramic. | |
| | | Jack Admin
Nombre de messages : 2386 Date d'inscription : 28/05/2007
| Sujet: Re: Plus de IF que de END_IF Jeu 17 Mai 2012 - 21:09 | |
| Il y a effectivement un bug, qui sera corrigé pour la prochaine version. | |
| | | Invité Invité
| Sujet: Re: Plus de IF que de END_IF Jeu 17 Mai 2012 - 22:45 | |
| D'accord Jack, et merci.. @Klaus, et aussi aux autres, bien sûre. Une autre façon de faire IF ELSE END_IF: - Code:
-
dim a$,b$ a$="une" if a$="un" : b$="1": else :b$="non": end_if message b$
|
| | | Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Plus de IF que de END_IF Jeu 17 Mai 2012 - 22:51 | |
| oui comme le : correspond plus ou moins à une fin de ligne, la dernière syntaxe correspond à la syntaxe standard du if If <condition> Traitement vrai else Traitement faux end_if
| |
| | | Contenu sponsorisé
| Sujet: Re: Plus de IF que de END_IF | |
| |
| | | | Plus de IF que de END_IF | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |