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
» Logiciel de planétarium.
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
2ème IF..THEN ignoré si ils sont sur une même ligne Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G Double SIM à 599€
599 €
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 : 63
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 : 67
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 : 63
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 : 7017
Age : 74
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 : 63
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 : 7017
Age : 74
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 : 8635
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 : 7017
Age : 74
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 : 7112
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 : 8635
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 : 12331
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 : 7112
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é
» Pb avec copié-collé-adapté d'un button pour en faire un 2eme
» PANORAMIC et informatique de gestion (les tableaux)
» FILE_FIND: Arborescence des répertoires dans un mémo

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: