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
» SineCube
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Marc Hier à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Marc Hier à 12:22

» Philharmusique
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar leclode Sam 27 Avr 2024 - 17:59

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 :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

 

 2ème IF..THEN ignoré si ils sont sur une même ligne

Aller en bas 
+2
pan59
topmozika
6 participants
AuteurMessage
topmozika

topmozika


Nombre de messages : 79
Age : 62
Localisation : Antananarivo - Madagascar
Date d'inscription : 09/06/2012

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne EmptySam 2 Mar 2013 - 17:53

Bonsoir les amis!
J'ai remarqué que si on met 2 IF....THEN sur une même ligne separés par [ : ], le 2ème IF..THEN est ignoré par PANORAMIC.

exemple :
Code:
dim a,b,c,a$,b$,c$,d$
input " a = ";a : input "b = ";b : input "c = ";c
if a<>0 then a$="instruction 1 acceptée par PANORAMIC" : if a=0 then b$="instruction 2 ignorée par PANORAMIC"
print b+c: if b+c<>5 then c$="instruction 3 acceptée par PANORAMIC":if b+c=5 then d$="instruction 4 ignorée par PANORAMIC"
print a$ : print b$ : print c$ : print d$

C'est tout simplement un petit remarque pour economiser de lignes, mais est ce quelqu'un peut me donner une explication ?? Merci d'avance lol! lol!
A+
Revenir en haut Aller en bas
pan59

pan59


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

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: IF...THEN   2ème IF..THEN ignoré si ils sont sur une même ligne EmptySam 2 Mar 2013 - 18:02

Bonjour.

Il est normal que le second if...then soit ignoré.
Car le test if a=0 n'est jamais exécuté en réponse au 1er test.
Il faut plutôt utiliser if...then...else, ou alors écrire le second test sur une nouvelle ligne.


Code:

dim a,b,c,a$,b$,c$,d$

input " a = ";a : input "b = ";b : input "c = ";c
if a<>0 then a$="instruction 1 acceptée par PANORAMIC" : if a=0 then b$="instruction 2 ignorée par PANORAMIC"
print b+c: if b+c<>5 then c$="instruction 3 acceptée par PANORAMIC":if b+c=5 then d$="instruction 4 ignorée par PANORAMIC"
print a$ : print b$ : print c$ : print d$
Revenir en haut Aller en bas
topmozika

topmozika


Nombre de messages : 79
Age : 62
Localisation : Antananarivo - Madagascar
Date d'inscription : 09/06/2012

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne EmptySam 2 Mar 2013 - 18:11

@Pan59
le problème c'est que si tu met a=0 en premier et b=1 c=4 c a d (b+c=5), les 2 instructions IF...THEN sont ignorées en même temps.
Revenir en haut Aller en bas
papydall

papydall


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

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne EmptySam 2 Mar 2013 - 18:31

Salut topmozika.

L’instruction composée IF condition THEN instruction fonctionne comme ceci :
si la condition est vraie, l’instruction après THEN sera exécutée ;
si la condition est fausse, le système va chercher l’éventuelle ELSE ;
si il n’y a pas de ELSE, le système ignore tout ce qui vient après la condition ,y compris d’autres instructions.

CONCLUSION : évite de mettre plusieurs IF sur la même ligne.

Code:
if 2 = 3 then  blablabla  : blobloblo : bliblibli :  ' ici blobloblo ne provoque pas d'erreur, car le système n'arrive à cette fausse instruction
if 2 = 2 then print " OK !" : blablabla : ' ici c'est une erreur causée par blablabla
Le système évalue la condition 2 = 3 : elle est fausse bien sûr, donc il ne continuera pas à interpréter ce qu’il y a après et passera à l’instruction suivante qui se trouve à la ligne suivante.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
topmozika

topmozika


Nombre de messages : 79
Age : 62
Localisation : Antananarivo - Madagascar
Date d'inscription : 09/06/2012

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne EmptySam 2 Mar 2013 - 19:01

Merci papydall ! c'est si simple que çà, mais tu sais qu'on ne peu pas tout savoir et heureusement y a ce forum avec des panoramiciens prêt a tout. MERCI POUR L'EXPLICATION. Rolling Eyes Rolling Eyes
A+
Revenir en haut Aller en bas
papydall

papydall


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

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne EmptySam 2 Mar 2013 - 19:13

Il n’y a pas de quoi !
C’est un plaisir pour moi de répondre quand je sais.
Surtout, n’hésite jamais à demander de l’aide ou poser des questions quand ça cloche.
Il y aura certainement quelqu’un pour répondre, sinon ça déclenchera une discussion bénéfique pour tous.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




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

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: re   2ème IF..THEN ignoré si ils sont sur une même ligne EmptySam 2 Mar 2013 - 22:50

@ Papydall,

tu peut mettre plusieurs if sur la même ligne sauf que tu ne dois pas utiliser then.

if x=0 : instruction: end_if : if x=1 :instruction : end_if

et là, ça fonctionne...

Laughing
Revenir en haut Aller en bas
papydall

papydall


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

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne EmptyDim 3 Mar 2013 - 0:45

Tu as délimité l’instruction composée IF …. End_IF.
La 2ème (3ème, etc.) instruction(s) qui vient (viennent) après, même si elle(s) est (sont) sur la même ligne sera (seront) exécutée(s) car elle(s) est(sont) considérée(s) comme instruction(s) indépendante(s) ne faisant pas partie de l’instruction composée IF.
Dans ce cas et seulement dans ce cas, on peut enchainer plusieurs instructions sur la même ligne.
Mais pourquoi se compliquer la vie ?!

Cette pratique avait peut-être sa raison d’être dans les années 1980 pour optimiser le code car la mémoire était chère et se comptait en KO, mais maintenant, la lisibilité du code doit primer, à mon avis.

Mais, bon, ce que tu as écrit est juste.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne EmptyDim 3 Mar 2013 - 13:51

D'accord avec toi papydall, pourquoi chercher à faire des acrobaties alors que c'est bien plus lisible quand on code séquentiellement sur plusieurs lignes.
J'ai regretté de ne plus pouvoir écrire sur la même ligne (ce que je faisais en Basic)
If condition... Then ... Else ...
mais j'ai pris l'habitude de le faire sur plusieurs lignes (je sais, on peut le faire en rajoutant des ':', mais c'est moins élégant.
Revenir en haut Aller en bas
Yannick




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

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re   2ème IF..THEN ignoré si ils sont sur une même ligne EmptyDim 3 Mar 2013 - 16:22

Attention, je ne discute pas de l' esthétique ni du pratique, je dis et démontre seulement que deux if
tiennent sur la même ligne sans être ignoré... Laughing
Revenir en haut Aller en bas
Klaus

Klaus


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

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne EmptyDim 3 Mar 2013 - 18:24

@JL35:

Dans la syntaxe de Panoramic, il n'y a pas de IF...THEN...ELSE !

Il y a deux possibilité:
1. IF condition THEN 1 seule ligne d'instructions
2. IF condition
un nombre libre de lignes d'instruction pour la condition "vrai"
ELSE
un nombre libre de lignes d'instruction pour la condition "faux"
END_IF

Mais: les termes [IF condition], [ELSE] et [END_IF] sont considérées comme des commandes complètes. Donc, tu peux écrire ceci:
Code:
dim i%
i%=2
if i%=1 : message "a" : else : message "b" : end_if
et tu verras que b s'affiche. Tu peux bien sûr compliquer la chose à volonté, mais tu vois le principe. Cependant, je ne suis pas sûr qu'on y gagne en lisibilité, comme dit Papydall. Mais techniquement, c'est possible.
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

2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne EmptyDim 3 Mar 2013 - 18:38

Je sais tout ça Klaus, je disais juste que je faisais ça en Basic et que ça n'existe pas en Panoramic, justement.
Et que le ':' pour séparer les ELSE etc ce n'est pas très esthétique, donc je ne fais pas comme ça, j'ajoute des lignes.
Revenir en haut Aller en bas
Contenu sponsorisé





2ème IF..THEN ignoré si ils sont sur une même ligne Empty
MessageSujet: Re: 2ème IF..THEN ignoré si ils sont sur une même ligne   2ème IF..THEN ignoré si ils sont sur une même ligne Empty

Revenir en haut Aller en bas
 
2ème IF..THEN ignoré si ils sont sur une même ligne
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» saut de ligne sur la dernière ligne
» Problème boucle repeat/until -> until ignoré
» PANORAMIC et informatique de gestion (les tableaux)
» Les plus courts sont les meilleurs!
» Panoramic 0.9.28i13, les exécutables sont-ils défectueux ?

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: