FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 19:48

» KGF_dll - nouvelles versions
par pascal10000 Aujourd'hui à 17:27

» Mah-Jong européen new-look
par Minibug Hier à 22:31

» track_bar circulaire
par Klaus Hier à 13:54

» API Windows
par Klaus Hier à 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Tableau de Marquage pour Yam's

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
Invité
Invité



MessageSujet: Re: Tableau de Marquage pour Yam's   Dim 26 Mai 2013 - 17:55

Jean-Claude:
Plusieurs fois j'ai eu des problèmes avec IF, alors que le décompte était bon, et j'en ai déjà parlé sur le forum.

Si tu as ajouté ou modifié des lignes avec IF dedans et que normalement celui-ci est dans une chaine, ou n'intervient pas dans le code, il arrive qu'il soit compté. Pour moi c'est un bug, mais Jack n'est jamais intervenu là dessus.

Tu peux faire l'essai avec ce programme, il me semble l'avoir publié, mais j'irai plus vite en le mettant ici:
Code:
' RETROUVER les boucles if

label coller , ouvrir , depile , ligne ,saut , label , return
dim ouv$,fer$,sinon$,alor$ ,f$
dim separ$, explode%, copie$, v_explode%, mot$(1000), nb_coord% ,g% , mn$ ,l% ,lig$ , sp% , d$ , d% ,saut$
dim a%,a$,m$,b%,b$ ,li%(10000,2) ,c$
ouv$="IF " :fer$="END_IF" : sinon$="ELSE" :alor$=" THEN "

' choix de memo, vu qu'il est le seul qui puisse recevoir le presse-paier
memo  1:left 1,screen_x -width(0)-10:top 1,10:width 1,width(0)-20:height 1,height(0)-130 :bar_both 1 : hide 1

button 2:left 2, 10:width 2,60:caption 2,"coller" :on_click 2,coller
button 3:left 3,100:width 3,60:caption 3,"ouvrir" :on_click 3,ouvrir
open_dialog 5
list  6:top 6,40:height 6,height(0)-100:width 6,400 :font_name 6,"Courier New" : hide 6
dlist 10:' left 10,620:top 10,:width 10,300
alpha  8:top 8,height(1)+70:left 8,620
END
coller:
    clipboard_paste 1 :gosub depile
return
ouvrir:
    filter 5,"Choisir le fichier|*.bas;*.bak;*.txt"
    f$=file_name$(5)
    if f$ <> "_" then file_load 1,f$

' ---------------------------------'
depile:
    ' g%: guillemet
    g%= 0  : sp% = 1
    if count(1)>0
        for a%=1 to count(1)
            caption 0,str$(a%) +" / "+str$(count(1))
            a$= item_read$(1,a%) : m$ = trim$(upper$(a$)) :g%=0 :clear 10 :l%=0 :c$=""
            if left$(m$,2)="' " or left$(m$,4) = "REM "
            else
            for b%=1 to len(m$)
                b$=mid$(m$,b%,1)
                if b$=chr$(34) then g%=-1-g%
                if b$=":" and g%=0
                    item_add 10,trim$(c$) : c$=""
                    mn$=trim$(mid$(m$,b%+1,len(m$)))
                    if left$(mn$,2)="' "  or left$(mn$,4)="REM " then c$="":exit_for
                    if c$ <> "" then item_add 10,trim$(c$)
                else
                    c$=c$+b$
                end_if
            next b%
            item_add 10,trim$(c$)
           
            end_if
            if scancode=27 then exit_for
           
            if count(10)>0
                ' on commence à regarder les boucles /if/
                for b%=1 to count(10)
                    ' on peut prendre a$, on a fini la ligne
                    a$ = item_read$(10,b%)
                  ' caption 8,a$
                    b$ =""
                    if left$(a$,3) = ouv$ and instr(a$,alor$) > 0  :' "/if et then"
                        b$="<**IF/THEN**>  "
                        gosub ligne 
                    else
                        ' if sans then
                        if left$(a$,3) = ouv$
                            gosub ligne
                            sp%=sp% + 1
                        end_if
                    end_if
                    ' ligne avec else
                    if left$(a$,4) = sinon$
                        sp%=sp%-1
                        gosub ligne
                        sp% = sp% +1
                    end_if
                    ' ligne avec end_if
                    if left$(a$,6) = fer$
                        sp%=sp%-1
                        gosub ligne
                        gosub saut
                    end_if
                    if left$(a$,6) = "RETURN" then b$=">>> " :gosub ligne:gosub return
                    if right$(item_read$(1,a%),1) = ":" then gosub label :exit_for
                next b%
            end_if
          ' display
        next a%
        show 6 :full_space 0:full_space 6
    end_if
return

ligne:
  d$="" : for d%=1 to sp%:d$=d$+"|  ":next d%
  if sp% <1  then d$=""
  lig$ = right$("    "+str$(a%),5)
  item_add 6,lig$ + d$ + b$ + trim$(item_read$(1,a%))
return
return:
d$="":for d%=1 to sp%:d$=d$+"|...":next d%
item_add 6,"....." + d$ + STRING$(70,".") +" Ligne RETURN ......"
return
label:
item_add 6,"LABEL ===>" + trim$(item_read$(1,a%))
item_add 6,"**********" + STRING$( len( trim$(item_read$(1,a%))),"*")
return
saut:
d$="":for d%=1 to sp%:d$=d$+"|  ":next d%
item_add 6,"    " + d$
return
@+
Revenir en haut Aller en bas
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Tableau de Marquage pour Yam's   Dim 26 Mai 2013 - 18:49

Merci Cosmos pour ton aide.
j'ai essayé ton code, et j'ai été contraint de réduire la taille de mot$() et ,li%(,)
Code:
dim separ$, explode%, copie$, v_explode%, mot$(100), nb_coord% ,g% , mn$ ,l% ,lig$ , sp% , d$ , d% ,saut$
dim a%,a$,m$,b%,b$ ,li%(100,2) ,c$
Là aussi je dépasserais la taille autorisée (overflow)

Ce que je ne comprend pas c'est pourquoi mon code marche sur vos ordis en w7 et pas le mien. Je ne crois pas pas que ce soit dû au code, ni à Panoramic vu que çà marche chez vous (avec les bug de mon code, mais au moins çà démarre).

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Tableau de Marquage pour Yam's   Dim 26 Mai 2013 - 19:02

Je dois admettre qu'il y a énormément de IF/END_IF, dont certains imbriqués sur 3 niveaux, et beaucoup de variables.
Ce serait la raison des messages... dépassement de mémoire... pourtant l'ordi est bien plus puissant que mon vieux PC.

Je vais essayer de voir la raison des messages en cherchant sur Google, sinon ce qui me reste à faire, c'est de refaire le code directement sous W7 et sur le potable et je verrais bien à quel moment çà coince.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Tableau de Marquage pour Yam's   Dim 26 Mai 2013 - 19:09

Bon je suppose que tu as vérifié l’existence ou non de panoramic.exe dans le gestionnaire de taches.
Sio c'est le premier programme en Panoramic sur cette machine, n'y a t-il pas un blocage de l'anti-virus. Est-ce que tu le démarres comme "exécuter comme administrateur" ?

Sur W7, les problèmes de droits sont chi... Tant que ce n'est pas défini, il peut y avoir problème. Regardes aussi pour tes images, que l'accès ne t'est pas refusé.

Ma page s'est effacé, car tu as posté en même tempd que moi, je viens de la récupérer par des retours arrières.
Je ne peux en dire plus.

EDIT: Je sais qiue j'ai eu des problèmes au départ. Il me semble que c'était JL35 qui en avait parlé le premier. Si c'est un problème de IF uniquement, ce que j'ai mis est donc hors propos. J'avais en tête le problème qu'avait W7 çà "DUCONNnais".
Revenir en haut Aller en bas
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Tableau de Marquage pour Yam's   Dim 26 Mai 2013 - 21:45

Bon, j'ai toujours pas réussi même en exécutant en tant qu'administrateur.
Je vais laissé mûrir, en clair j'abandonne provisoirement.

La nuit (souvent) porte conseil....

A+

EDIT: @Cosmos, concernant le Panoramic.exe qui reste dans les processus, tu as bien supposé, car c'est la première chose que je fais dès que j'utilise l'éditeur (je fais une fin de tâche sur ce processus).

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Tableau de Marquage pour Yam's   

Revenir en haut Aller en bas
 
Tableau de Marquage pour Yam's
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2
 Sujets similaires
-
» Tableau de Marquage pour Yam's
» [Phanta] Commande d'un tableau d'accueil pour mettre dans un widget du portail
» [Phantasmagoria] Un tableau d'acceuil pour Halo Fight =)
» MyGarmin - Tableau de Bord pour mise à jour a disparu
» [Imari] Un tableau à onglet complexe pour PA

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: