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
» Je teste PANORAMIC V 1 beta 1
Problème avec les "if". Emptypar papydall Aujourd'hui à 2:48

» bouton dans autre form que 0
Problème avec les "if". Emptypar leclode Hier à 13:59

» KGF_dll - nouvelles versions
Problème avec les "if". Emptypar Klaus Hier à 11:41

» Gestion d'un système client-serveur.
Problème avec les "if". Emptypar Klaus Hier à 10:23

» PANORAMIC V 1
Problème avec les "if". Emptypar papydall Sam 4 Mai 2024 - 3:43

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

» @Jack
Problème avec les "if". Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Problème avec les "if". Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Problème avec les "if". Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Problème avec les "if". Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Problème avec les "if". Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Problème avec les "if". Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Problème avec les "if". Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Problème avec les "if". Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Problème avec les "if". Emptypar jjn4 Lun 22 Avr 2024 - 13:43

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 :
Réassort du coffret Pokémon 151 Électhor-ex : où l’acheter ?
Voir le deal

 

 Problème avec les "if".

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1555
Date d'inscription : 19/01/2014

Problème avec les "if". Empty
MessageSujet: Problème avec les "if".   Problème avec les "if". EmptyDim 22 Nov 2015 - 10:13

Bonjour.

J'ai un gros problème avec mon programme de plus de 41.000 lignes !
Panoramic refuse de l'exécuter et m'affiche l'erreur suivante: MORE IF THAN END_IF !

J'ai donc écrit la routine de vérification suivante, qui ne me signale aucune erreur !

Merci de votre aide.

Code:
dim a$, b$, c$, l%, flag%, n1%, n2%
b$="if "
c$="then"

file_open_read 1,"langues.bas"

while file_eof(1)<>1
      file_readln 1,a$
      a$=trim$(a$)
      l%=l%+1
      if mod(l%,1000)=0 then caption 0,"Ligne "+str$(l%)
      ' if l%=19649 then exit_while
      
      if left$(a$,2)<>"' "
         ' "then" en fin de ligne ?
         if instr(a$,b$)>0 and right$(a$,4)=c$ then message "Erreur ligne "+str$(l%)
        
         ' Ligne commençant par "if" ou contenant " if " et ne contenant pas de "then".
         if instr(a$,c$)=0
            if left$(a$,3)=b$ or instr(a$," "+b$)>0 then n1%=n1%+1
         end_if
        
         if left$(a$,6)="end_if" then n2%=n2%+1
      end_if
end_while
if n1%<>n2% then message "Erreur !"
file_close 1
message "fin"
Revenir en haut Aller en bas
Klaus

Klaus


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

Problème avec les "if". Empty
MessageSujet: Re: Problème avec les "if".   Problème avec les "if". EmptyDim 22 Nov 2015 - 10:26

Ton code est loin de détecter l'ensemble des anomalies d'écriture : Regarde ceci:
Code:
dim i% : i% = 17
dim k% : k% = 23

message "a" : if i%=17 : message "b" : end_if : message "c"
message "d" : if k%=17 : message "e" : else : message "f"
Il y a à l'évidence un END_IF qui manque, et Panoramic le détecte. Mais pas ton code... Et à part le END_IF manquant, le code est correct - mets la dernière ligne en commentaire et exécute, tu verras.

Ce que je veux dire ? Tu peux très bien avoir dans ton code un résidu de modification qui laisse un IF en milieu de ligne, ou un END_IF de ma même manière. Et tu ne le trouveras pas avec un code aussi simple.

La technique à utiliser: prends ton code, morceau par morceau. Copie chaque morceau dans un nouvel onglet de l'éditeur et faus "Run". Certes, l'exécution plantera. Aucune importance - c'est voulu. Si tu as un plantage autre que le message "MORE IF THAN END_IF !", c'est que l'anmalie n'est pas dans cette section, puisque le test des IF...END_IF est effectué avant le lancement réel. Et ainsi, en quelques essais par grandes sections, tu peux réduire la localisation, et ensuite affiner par la même technique.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1555
Date d'inscription : 19/01/2014

Problème avec les "if". Empty
MessageSujet: Problème avec les "if".   Problème avec les "if". EmptyDim 22 Nov 2015 - 10:36

Bonjour.

OK, merci Klaus.

Si je comprends bien, le test des 'if' est bien le premier test réalisé avant l'exécution.

Je viens de tester ceci:

. Placer un b$="" en 1ère ligne de programme, sans avoir déclaré au préalable la variable b$.
. Placer un 'if a=0' non suivi de 'then' ligne 41000.

Au lancement, j'ai bien un more if than end_if.

Et je trouve cela génial, car cela confirme tes propos.

C'est un moyen plus 'simple' de trouver la source d'une erreur de ce type.
Revenir en haut Aller en bas
Contenu sponsorisé





Problème avec les "if". Empty
MessageSujet: Re: Problème avec les "if".   Problème avec les "if". Empty

Revenir en haut Aller en bas
 
Problème avec les "if".
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème avec select case Probleme réglé merci
» problème avec edit ou bien avec combo?
» Problème avec DIM et ADR
» Problème avec RemoveStringBetweenDelimiters.
» Problème avec DTP de KGF

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: