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
» PANORAMIC V 1
Une commande pour aller à la ligne xxx Emptypar Klaus Aujourd'hui à 10:28

» Gestion d'un système client-serveur.
Une commande pour aller à la ligne xxx Emptypar Klaus Hier à 23:59

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Une commande pour aller à la ligne xxx Emptypar Marc Hier à 12:14

» @Jack
Une commande pour aller à la ligne xxx Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Une commande pour aller à la ligne xxx Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Une commande pour aller à la ligne xxx Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Une commande pour aller à la ligne xxx Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Une commande pour aller à la ligne xxx Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Une commande pour aller à la ligne xxx Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Une commande pour aller à la ligne xxx Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Une commande pour aller à la ligne xxx Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Une commande pour aller à la ligne xxx Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Une commande pour aller à la ligne xxx Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Une commande pour aller à la ligne xxx Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Une commande pour aller à la ligne xxx Emptypar leclode Mer 17 Avr 2024 - 11:07

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal

 

 Une commande pour aller à la ligne xxx

Aller en bas 
+4
Jack
Klaus
JL35
jjn4
8 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMar 22 Juin 2010 - 22:25

Bonjour,

J'aimerais bien pouvoir avoir une commande dans les menus pour se rendre directement à la ligne xxx.

Parce que moi dans mes long programme de 2000 lignes je trouve cela long de monter et baisser l'ascenseur.

Merci! Very Happy
Revenir en haut Aller en bas
jjn4

jjn4


Nombre de messages : 2691
Date d'inscription : 13/09/2009

Une commande pour aller à la ligne xxx Empty
MessageSujet: +++   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 0:28

Et tu suggères une solution qui serait comment ?
scratch jocolor
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 0:53

Peut-être des programmes plus courts ? Very Happy
Revenir en haut Aller en bas
Klaus

Klaus


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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 1:12

Peut-être Jack pourrait-il rajouter un champ "Numéro de ligne" dans la boite de dialogue "Recherche" et on se pointerait directement sur cette ligne ?
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 3:14

Moi aussi il y a longtemps que j'aimerai cette fonction, même avec une liste des procédure d'appels et aller directement à la procédure cliquée. Mais comme la tache de Jack n'est pas facile!

JL35, le programme que j'ai en tête, je pourrai le penser de n'importe qu'elle façon, c'est pas avec 2000 lignes qu'il marchera. Déjà je me sers du presse-papier pour en alléger une partie.
Revenir en haut Aller en bas
JL35




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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 14:45

Eh bien, je t'admire si tu arrives à mettre au point et gérer un programme de 10000 lignes..., avec la moindre modif qui risque de tout mettre en l'air.
J'espère que tu fais ça sous forme de modules, avec des sous-programmes, sinon ça devient vite ingérable (du moins pour moi). Surtout si tu t'y replonges plusieurs mois après pour une mise à jour quelconque.

Cela dit ce serait sans doute intéressant de pouvoir se positionner dans l'éditeur à un endroit donné du programme, je dirais plutôt sur une étiquette (par exemple un sous-programme) que sur un numéro de ligne.
Revenir en haut Aller en bas
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 15:39

J'ai déjà fais un programme de plus de 22000 lignes. A la fin revenir sur ce qui avait était fait un an avant n'était pas évident, mais maintenant j'ai l'expérience et je sais comment gérer. C'est pour cela que dans mes feuilles ou dans mes boites d'appel, j'y adjoins un bouton qui me permet d'avoir un mémo dans lequel j'y mets la procédure qui a appelé, la raison, le but, et les améliorations à faire. Chaque feuille ou chaque boite à son fichier adjoint.

Et puis il est bon d'avoir un cahier avec des onglets pour chaque procédure avec l'idée qui a conduit à la création de celle-ci. Peut-être même puisse que je l'ai fais, est d'adjoindre mon mémo à onglet. Il y a des petits problèmes, mais minime, et comme il fonctionne!

Mais pour l'instant j'ai pas tout à fait fini les testes pour commencer, j'ai a peu près tout résolu les blocages pour démarrer.
@+
Revenir en haut Aller en bas
JL35




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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 15:46

C'est admirable si tu arrives à tenir ta documentation à jour, et sur papier qui plus est, en ce qui me concerne j'essaie de mettre le plus de commentaires possibles dans le code, mais malgré ça parfois on a une idée qu'on ne veut pas laisser filer, alors on code en vitesse, et des mois après va retrouver la logique du moment ! sans parler quand il faut se plonger dans les programmes des autres qui étaient tout aussi pressés de coder, j'en sais quelque chose.
Revenir en haut Aller en bas
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 16:03

La logique du papier est plus importante que tu crois. Adjoindre un listing d'un sous programme à jour te donne une meilleure lisibilité. Pour ce qui est des commentaires dans le code ça ne suffit pas. J'avais il me semble plus de 300 boites qui étaient des menus multiples, et à la fin pour une boite je ne savais plus où retrouver l'appel de celui-ci, et du pourquoi. C'est pour cela avoir un doc pour chaque boite ou chaque feuille dans les grands programmes, est important.

Pour en revenir à la demande d'aller à telle ligne, en GFA basic, dans la version deux, toutes les procédures ou sub si tu préfaire, avait cette particularité de se replier, ce qui permettait de ne voir que le nom de la procédure, et ça c'est du grand confort!

Au peu pas tout demander à Jack, je trouve qu'il avance vite par rapport au temps qu'il a pour le faire, d'autant qu'il est multi-tache dans son travail. Mais peut-être qu'il trouvera un jour le temps de rajouter une des fonctions de ce poste.
Revenir en haut Aller en bas
JL35




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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 16:40

Je n'ai pas dit que la documentation papier n'était pas importante, bien au contraire ! c'est même indispensable si on travaille à plusieurs sur un projet.
Je disais seulement qu'il faut se forcer pour le faire, c'est obligé quand on travaille en équipe, mais quand on est tout seul c'est beaucoup plus difficile de se l'imposer.
Revenir en haut Aller en bas
Klaus

Klaus


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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 18:25

Juste une remarque (évidente): pour se placer sur un sous-programme donné, on peut déjà le faire actuellement: dans la boite de recherche, on donne le label du sous-programme avec son ":", et on y est. Exemple: rechercher valider_fiche: pour chercher le début du sous-programme valider_fiche.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 20:09

J'y ai bien pensé, le problème est que si on a un tas de procédure, il faut se souvenir du nom, et de son orthographe (surtout si on met des noms à rallonge pour des includes). Ce serait bien d'avoir un combo avec le nom des sous programmes. Marrant, j'ai pas de retour sur cette idée.
Revenir en haut Aller en bas
JL35




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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 20:26

Pas de retour, peut-être, mais c'est quand même une idée intéressante.
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 20:49

Une commande dans un menu pour aller directement à une ligne est une idée intéressante.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
JL35




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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 21:00

Perso je verrais plutôt par exemple une commande du menu qui listerait toutes les étiquettes du programme (c'est l'idée de cosmos je pense), avec un clic sur une étiquette qui afficherait à partir du label correspondant (ou clic abandon).
Parce que le renvoi vers un numéro de ligne... comment savoir qu'il faut aller à la ligne 7857 qui ne correspond plus à rien si on a fait des modifs avant( ajouts ou suppressions), et puis un numéro de ligne ça ne parle pas beaucoup, contrairement à un label, dont l'emplacement serait automatiquement à jour, même après modifications.
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 21:21

Citation :
Perso je verrais plutôt par exemple une commande du menu qui listerait toutes les étiquettes du programme
Je comprends bien la demande, mais ça veut dire que l'éditeur n'est plus vraiment un éditeur mais doit comprendre ce que fait le source: il doit l'analyser un minimum pour y trouver les déclarations de LABEL (qui peuvent se situer n'importe où dans le source), puis les numéros des lignes où sont implémentés ces labels.
Par "comprendre", je veux dire, doit pouvoir faire la différence entre:
Code:
label vrai_label
et
Code:
print " : label faux_label : "
ou encore
Code:
dim a$ : a$ = " : label faux_label : " : print a$
Et là, c'est autrement plus compliqué à coder qu'une commande dans le menu qui va à un numéro de ligne.
Je pense qu'il y a plus urgent à faire et plus utile que de faire rechercher les vrais labels par l'éditeur.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 22:00

Merci pour ta réponse. C'était pour cela que je n'avais jamais ouvert le sujet.

Une question: une simple recherche de ligne avec un nom entier terminé par deux points, ne serait-il pas suffisant?
Peu importe.
J'ai parlé d'un outil de réparation, et je viens de voir que généralement lorsqu'un éditeur est bloqué, en le réduisant, on ouvre un nouveau éditeur, et lorsqu'il est bloqué lui aussi, j'ai remarqué que bien souvent le premier se débloqué.
J'ai remarqué que lorsque l'éditeur est bloqué, également en créant un nouvel onglet, on le débloque. Peut-être y a t-il moyen de faire quelque chose. Si ça ne résout pas tous les problèmes de blocage, peut-être majoritairement, cela est réparable.
@+
Revenir en haut Aller en bas
JL35




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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 22:01

Effectivement, tout bien réfléchi, c'est bien plus compliqué à faire qu'à dire...
@cosmos, la recherche d'un nom avec ':' ne suffit pas, il faut tenir compte de tous les cas particuliers, les REM, les "'" etc...
Revenir en haut Aller en bas
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 22:10

JL35, tu n'as pas assez réfléchi. un rem qui fonctionne comme un apostrophe avec deux points, n'est pas un mot entier. Il y a forcément un espace entre, et je crois qu'il est facile d'exclure ces cas. Cela dit si dans la liste, il y a n ou deux noms pas valide, est-ce grave?.
Quand tu gères des milliers de lignes, crois moi, c'est pas le principal, et cela permet peut-être de trouver une erreur.
Revenir en haut Aller en bas
JL35




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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 22:56

Mais si j'ai réfléchi, pour avoir fait l'essai, j'ai une ligne comme celle-ci:
2D_CLEAR: 2D_FILL_COLOR 255,255,255: etc...
qu'est-ce qui me dit que 2D_CLEAR n'est pas une étiquette ?

Tiens, pour la peine un petit programme pour toi, qui recherche les étiquettes et leur emplacement (j'ai peut-être sauté quelques cas très particuliers):
Code:
' Recherche de l'emplacement des étiquettes dans un programme source
DIM Etiq$(500), Ligne(500), f$, a$, nl, ne, i, k
LABEL rr
f$ = "C:\Langages\Panoramic\PhotA4.bas": ' Source à examiner

' Recherche des labels déclarés
FILE_OPEN_READ 1, f$: nl = 0: ne = 0
WHILE FILE_EOF(1) <> 1
    FILE_READLN 1, a$: a$ = TRIM$(a$)
    IF LEFT$(UPPER$(a$), 6) = "LABEL "
        a$ = LTRIM$(MID$(a$, 7, LEN(a$)-6))
        k = INSTR(a$, ":"): IF k >0 THEN a$ = LEFT$(a$, k-1)
rr:
        k = INSTR(a$, ",")
        IF k>0
            ne = ne + 1: Etiq$(ne) = TRIM$(LEFT$(a$, k-1))
            a$ = LTRIM$(MID$(a$, k+1, LEN(a$)-k))
            GOTO rr
        ELSE
            ne = ne + 1: Etiq$(ne) = TRIM$(a$)
        END_IF
    END_IF
END_WHILE
FILE_CLOSE 1

' Recherche de ces labels dans le code
FILE_OPEN_READ 1, f$
WHILE FILE_EOF(1) <> 1
    nl = nl + 1: FILE_READLN 1, a$: a$ = TRIM$(a$)
    IF LEFT$(a$, 1) <> "'"
        k = INSTR(a$, ":")
        IF k>0
            IF INSTR(Left$(a$, k-1), " ") = 0
                FOR i = 1 TO ne
                    IF UPPER$(Etiq$(i)) = UPPER$(LEFT$(a$, k-1)) THEN Ligne(i) = nl: EXIT_FOR
                NEXT i
            END_IF
        END_IF
    END_IF
END_WHILE
FILE_CLOSE 1

' Tri du résultat
FOR k = 1 TO ne-1
    FOR i = k+1 TO ne
        IF Ligne(i)<Ligne(k)
            nl = Ligne(k): Ligne(k) = Ligne(i): Ligne(i) = nl
            a$ = Etiq$(k): Etiq$(k) = Etiq$(i): Etiq$(i) = a$
        END_IF
    NEXT i
NEXT k
FOR k = 1 TO ne: PRINT STR$(Ligne(k)) + ": " + Etiq$(k): NEXT k
END
La méthode de tri de la fin n'est pas ce qui se fait de plus performant (tri par bulles), mais s'il n'y a pas trop d'éléments ça va.
Revenir en haut Aller en bas
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 23:19

Je ne vais perdre trop de temps la dessus, c'est une simple remarque d'autant que Jack ne le feras pas.
Une étiquette c'est quoi? C'est un mot entier sans espace terminé par deux point, et rien d'autre ensuite. Si tu essayes de mettre n'importe quoi après les 2 points, il y a erreur. Donc en basic : tu prends trim$(la ligne) puis right$(la ligne,1)=":", tu peux aussi contrôler si il y un espace et aussi 2 point dans le mot. Si tout les critères sont bons, cela doit-être une étiquette, et moi je n'irais pas plus loin. Si tu veux forcer en plus, tu regardes instr(les label, le mot à contrôler)=1, si c'est 1 c'est une étiquette. Si c'est une étiquette tu la rajoute dans la liste. Le plus dure sera ensuite de sauter à l'étiquette (en tout cas dans un memo c'est pas simple, pour replacer la ligne au bonne endroit)

J'ai envie de dire piger?, mais c'est trop présomptueux, surtout si tu trouves une exception.

Bonne nuit tout de même
Revenir en haut Aller en bas
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyMer 23 Juin 2010 - 23:39

J'allais me coucher et au dernier moment, je me suis dis: pourquoi chercher tout les labels dans une liste? Il suffit de la mettre soi même. Généralement on ne s'occupe de quelques uns. Ceux dont le codage est fini, ne nous intéressant plus, ne présentent pas d'intérêt. Donc si un label est retenu, on le rajoute dans la liste. Là Jack n'a pas à ce préoccuper si c'est un label ou non.
Le plus dur sera le placement de la ligne, et maintenant je pense cela possible. Ce n'est qu'une question de priorité.

En parlant de label, il y a un manque, c'est celui de la coloration de ceux-ci pour les retrouver.

Dodo!
Revenir en haut Aller en bas
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyJeu 24 Juin 2010 - 8:05

Je suis en train de me relire et j'ai l'impression d'avoir été vache. C'était pas mon intention, mais c'était ma façon de répondre rapidement pour faire autre chose.

Si vous pensez que je prends un air supérieur, je m'en excuse, c'est absolument pas le cas. Je traite seulement rapidement les problèmes et j'ai du respect pour ceux qui interviennent.

Désolé JL35
Revenir en haut Aller en bas
Yannick




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

Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyJeu 24 Juin 2010 - 12:28

je suis JL35 on peut imaginé un click sur le nom de la fonction qui renvoit à l'endroit de son appel...
Revenir en haut Aller en bas
Invité
Invité




Une commande pour aller à la ligne xxx Empty
MessageSujet: Re: Une commande pour aller à la ligne xxx   Une commande pour aller à la ligne xxx EmptyJeu 24 Juin 2010 - 12:56

En regardant la réponse de ygeronimi, je me suis rendu compte que le programme qui m'était destiné, je ne l'avais pas essayé (j'étais dans l'urgence de faire autre chose pour limité ma présence / et en réalité j'ai rien fait d'autre hier soir).

Je n'avais regardé que "2d_clear..." et répondu à cela.

Je viens d'essayer ce programme, et la seule chose qui s'affiche est "0:"
Je ne comprend pas.
@+
Revenir en haut Aller en bas
 
Une commande pour aller à la ligne xxx
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Aller à la ligne dans message ou tout autre string
» ligne de commande
» Utilitaires en ligne de commande
» Les Entrées / Sorties en ligne de commande
» Programmes Panoramic en ligne de commande

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: