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
» mise a jour calculatrice
par JL35 Aujourd'hui à 14:14

» [solved] 3D_LINE How to ?
par papydall Aujourd'hui à 6:51

» supprimé
par joeeee2017 Dim 15 Oct 2017 - 20:02

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» Convertisseur de base 10 de 2 à 36
par gigi75 Sam 14 Oct 2017 - 21:54

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» supprimé
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

» Mise à jour PANOMAND
par jean_debord Mar 26 Sep 2017 - 11:33

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Mise en forme des sources

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Mise en forme des sources   Dim 3 Jan 2010 - 16:44

Je suis en train d'écrire un petit utilitaire de mise en forme des sources .bas, pour:
- mettre en majuscules tous les mots-clés
- faire une indentation automatique sur les IF, FOR etc...
Un exemple (avec ta permission jjn4, un petit bout de ton magnifique programme de calendrier universel Basketball ).

AVANT:
Code:
' Calcul du jeudi de l'Ascension
y=r+39
if y>92
 j3=y-92 : m3=6
else
 j3=y-61 : m3=5
end_if
' Calcul du lundi de Pentecôte
x=r+50
if x>92
 j2=x-92 : m2=6
else
 j2=x-61 : m2=5
end_if
' Calcul du jour de la semaine et affichage
c=val(left$(t$,2))
a=val(right$(t$,2))
if ex=1 then excel_start : excel_file_new 1
for m=1 to 12
 for j=1 to 31
  select m
  case 1 : t=0
  case 2 : t=3
  case 3 : t=3
  case 4 : t=6
  case 5 : t=1
  case 6 : t=4
  case 7 : t=6
  case 8 : t=2
  case 9 : t=5
  case 10 : t=0
  case 11 : t=3
  case 12 : t=5
  end_select
  if a=0 and m<3
  p=(20-c)*2+int((c-1)/4)-5
  else
  p=(19-c)*2+int(c/4)-4
  end_if
  b=int(a/4)
  if a/4=int(a/4) and m<3 then b=b-1
  s=(j+t+a+b+p)-7*int((j+t+a+b+p)/7) : s=s-int(s/7)*7
  if j=31 and (m=2 or m=4 or m=6 or m=9 or m=11) then goto fin
  if (m=2 and j>29) or (m=2 and a/4<>int(a/4) and j>28) then goto fin
  if a=0 and c/4<>int(c/4) and m=2 and j=29 then goto fin
  e$="" : if s=0 then e$="***"
  if j=1 and m=5 and tt>1946 then e$="***"
APRES:
Code:
' Calcul du jeudi de l'Ascension
y=r+39
IF y>92
    j3=y-92 : m3=6
ELSE
    j3=y-61 : m3=5
END_IF
' Calcul du lundi de Pentecôte
x=r+50
IF x>92
    j2=x-92 : m2=6
ELSE
    j2=x-61 : m2=5
END_IF
' Calcul du jour de la semaine et affichage
c=VAL(LEFT$(t$,2))
a=VAL(RIGHT$(t$,2))
IF ex=1 THEN EXCEL_START : EXCEL_FILE_NEW 1
FOR m=1 TO 12
    FOR j=1 TO 31
        SELECT m
            CASE 1 : t=0
            CASE 2 : t=3
            CASE 3 : t=3
            CASE 4 : t=6
            CASE 5 : t=1
            CASE 6 : t=4
            CASE 7 : t=6
            CASE 8 : t=2
            CASE 9 : t=5
            CASE 10 : t=0
            CASE 11 : t=3
            CASE 12 : t=5
        END_SELECT
        IF a=0 AND m<3
            p=(20-c)*2+INT((c-1)/4)-5
        ELSE
            p=(19-c)*2+INT(c/4)-4
        END_IF
        b=INT(a/4)
        IF a/4=INT(a/4) AND m<3 THEN b=b-1
        s=(j+t+a+b+p)-7*INT((j+t+a+b+p)/7) : s=s-INT(s/7)*7
        IF j=31 AND (m=2 OR m=4 OR m=6 OR m=9 OR m=11) THEN GOTO fin
        IF (m=2 AND j>29) OR (m=2 AND a/4<>INT(a/4) AND j>28) THEN GOTO fin
        IF a=0 AND c/4<>INT(c/4) AND m=2 AND j=29 THEN GOTO fin
        e$="" : if s=0 then e$="***"
        IF j=1 AND m=5 AND tt>1946 THEN e$="***"
Personnellement ça me paraît plus lisible et plus facile à debugger.
Avec éventuellement des options:
- mots-clés avec seulement la 1ère lettre en majuscule
- pas d'indentation à la demande: 1, 2, 3 ou 4 espaces.

(ce serait bien que ces possibilités soient intégrées dans l'Editeur, mais il ne faut pas trop en demander...)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

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

MessageSujet: oui   Dim 3 Jan 2010 - 18:31

Ca peut effectivement en intéresser certains.
Pour ce qui me concerne, je n'aime pas les majuscules
et je ne mets que des petites indentations de 1 espace
pour que ça prenne moins de place lorsque la ligne est longue.
(dans l'exemple que tu prends, elles y étaient toutes,
c'est l'éditor qui supprime certaines indentations)
Maintenant, si c'est un jour intégré à l'éditor,
pourquoi pas, si ça laisse le choix de le faire ou de ne pas le faire
et aussi le choix de la taille d'une indentation automatique.
(et que ça marche bien)
(Après tout, si je n'aime pas les majuscules, c'est parce qu'il
faut se coltiner la touche Shift, maintenant, si ça se fait tout seul...
après tout, pourquoi pas,
je reconnais que comme ça, c'est plus lisible.
Cool
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
JL35



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

MessageSujet: Re: Mise en forme des sources   Dim 3 Jan 2010 - 19:41

Ah, tu vois bien que tu vas y venir !
Maintenant je frôle la perfection (en toute modestie Very Happy ), après avoir éliminé les cas particuliers (FOR..NEXT et autres REPEAT...UNTIL sur la même ligne).
Et l'indentation est de longueur au choix.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

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

MessageSujet: Ouah !   Dim 3 Jan 2010 - 22:01

Super, finalement, ça sert, le perfectionnisme...
Ah, si je peux chipoter un peu,
la croix en haut à droite, n'est pas rouge,
c'est que la dimension du form n'est pas bonne, non ?
Basketball
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
JL35



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

MessageSujet: Re: Mise en forme des sources   Dim 3 Jan 2010 - 22:52

C'est bien possible ! j'avoue que je ne me suis pas posé la question puisque ça marche très bien comme ça, elle ferme aussi bien qu'une rouge...
Tu as raison, j'ai mis des dimensions quelconques au (à la ?) Form, si je mets du standard (par exemple 640x480) ça devient rouge... bizarre, c'est normal ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jjn4

avatar

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

MessageSujet: +   Lun 4 Jan 2010 - 2:42

Ca devient comme ça si on diminue trop la taille de la form
par rapport aux objets présents et leur dimension
théoriques plutôt que réelles.
Idea
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Invité
Invité



MessageSujet: Re: Mise en forme des sources   Lun 4 Jan 2010 - 2:54

Je ne réussi pas à l'exécuter !
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Mise en forme des sources   Lun 4 Jan 2010 - 11:37

Pas étonnant, il n'y a pas de programme !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Mise en forme des sources   Jeu 7 Jan 2010 - 3:55

Mais moi aussi je me demande ???
Il faudrait que quand ont rapetisse la fenêtre la bordure ne change pas et qu'il n'ait pas de barre ou que la bordure reste normal et barre apparait.
COMME NORMAL !
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Mise en forme des sources   Jeu 7 Jan 2010 - 16:59

Moi je dimensionne mon Form 0 en fonction de la taille des objets qu'il contient, juste de façon à ne pas voir apparaître de barres de défilement inutiles, horizontale ou verticale. Donc les dimensions obtenues ne sont pas standard, mais ça ne me gêne pas (sauf la croix qui n'est pas rouge...).

@Nicolas: le code que j'ai mis ci-dessus était un exemple extrait d'un code de jjn4 mis en forme avec mon programme, mais pas du tout le programme lui-même, donc tu n'as pas pu l'essayer ! Ceci dit, si tu voulais l'essayer, toi ou un autre, je le fournirais bien volontiers, mais seulement s'il y a une demande, apparemment ça n'enthousiasme pas les foules. C'est bien possible que c'était une fausse bonne idée.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Mise en forme des sources   Ven 8 Jan 2010 - 0:01

Tu pourrait rajouter une option de remettre en minuscules avec la fonction lower$.
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Mise en forme des sources   Ven 8 Jan 2010 - 0:43

Ca ne me paraît pas très utile dans la mesure où quand on tape le source à l'origine on tape tout en minuscules, pour aller plus vite, et que c'est simplement après qu'on peut éprouver le besoin de passer les mots-clés en majuscules...
Et s'ils sont en majuscules je ne vois pas l'intérêt de les repasser en minuscules...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Mise en forme des sources   Ven 8 Jan 2010 - 1:06

Oui mais si tu veux remettre en minuscules le code ça me parrait utile non ?
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Mise en forme des sources   Ven 8 Jan 2010 - 1:12

C'est simplement les mots-clés qui sont concernés, pas le reste. Et je ne vois pas pourquoi on voudrait les remettre en minuscules après les avoir mis en majuscules... Ca ne serait évidemment pas plus difficile à faire, mais je n'en vois pas l'utilité.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Mise en forme des sources   

Revenir en haut Aller en bas
 
Mise en forme des sources
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» probleme avec les cellules d'excel sur la mise en forme
» [Annulée] Page d'accueil =)
» Mise en forme de fichier source Panoramic (nième version)
» [Toto] Demande de Mise en Forme | Crimson
» Mise en forme de message personnalisé

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: