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 à 4:52

» KGF_dll - nouvelles versions
par Klaus Hier à 23:05

» 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 | 
 

 Mise en forme des sources

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



Nombre de messages : 6018
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 : 1626
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 : 6018
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 : 1626
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 : 6018
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 : 1626
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 : 6018
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 : 6018
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 : 6018
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 : 6018
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: