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
» Découpe dans une image
par Jean Claude Aujourd'hui à 20:38

» quel est ce comportement de Panoramic_editor
par Jean Claude Aujourd'hui à 20:34

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par papydall Aujourd'hui à 18:57

» bug BORDER_HIDE : bloque la commande full_space
par Jean Claude Aujourd'hui à 18:20

» Pour faire plaisir à jjn4.
par Pedro Alvarez Aujourd'hui à 8:13

» Pour faire plaisir à Marc37.
par Marc Hier à 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Hier à 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 Mise en forme des sources

Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Mise en forme des sources   Dim 3 Jan 2010 - 14: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 : 1679
Date d'inscription : 13/09/2009

MessageSujet: oui   Dim 3 Jan 2010 - 16: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 : 6150
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Mise en forme des sources   Dim 3 Jan 2010 - 17: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 : 1679
Date d'inscription : 13/09/2009

MessageSujet: Ouah !   Dim 3 Jan 2010 - 20: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 : 6150
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Mise en forme des sources   Dim 3 Jan 2010 - 20: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 : 1679
Date d'inscription : 13/09/2009

MessageSujet: +   Lun 4 Jan 2010 - 0: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 - 0:54

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



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

MessageSujet: Re: Mise en forme des sources   Lun 4 Jan 2010 - 9: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 - 1: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 : 6150
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Mise en forme des sources   Jeu 7 Jan 2010 - 14: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   Jeu 7 Jan 2010 - 22:01

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



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

MessageSujet: Re: Mise en forme des sources   Jeu 7 Jan 2010 - 22: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   Jeu 7 Jan 2010 - 23: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 : 6150
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Mise en forme des sources   Jeu 7 Jan 2010 - 23: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
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: