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
» Logiciel de planétarium.
Erreur sortie de SUB Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Erreur sortie de SUB Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Erreur sortie de SUB Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Erreur sortie de SUB Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Erreur sortie de SUB Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Erreur sortie de SUB Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Erreur sortie de SUB Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Erreur sortie de SUB Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Erreur sortie de SUB Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Erreur sortie de SUB Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Erreur sortie de SUB Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Erreur sortie de SUB Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Erreur sortie de SUB Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Erreur sortie de SUB Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Erreur sortie de SUB Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 Erreur sortie de SUB

Aller en bas 
4 participants
AuteurMessage
JL35




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

Erreur sortie de SUB Empty
MessageSujet: Erreur sortie de SUB   Erreur sortie de SUB EmptyMer 26 Jan 2022 - 9:59

Une petite sub pour créer une ébauche de calendrier au format A4 pour une année donnée:
Code:
Cal_Annu(2022,12,1)
width 0,1120: height 0,830
picture 1: width 1,1100: height 1,778
clipboard_paste 1
END
' =========================================================================================
SUB Cal_Annu(an,nm,m1)
  ' Ébauche calendrier A4 orientation paysage
  ' Année an, nm = 6 ou 12 mois, 1er mois m1 (=1 ou 7, cas 6 mois)
  ' résultat image dans le presse-papier
  DIM_LOCAL p,nm$(12),lm(12),nj$(6),x(12),y(32),x0,y0,yb,x1,y1,w,h,w1,h1,i
  DIM_LOCAL mm,jj,jsd,rjs,a$
  p = 500: PICTURE p: HIDE p: WIDTH p,1100: HEIGHT p,778
                      2D_TARGET_IS p: PRINT_TARGET_IS p
  nm$(1)="JANVIER": nm$(2)="FÉVRIER": nm$(3)="MARS": nm$(4)="AVRIL"
  nm$(5)="MAI": nm$(6)="JUIN": nm$(7)="JUILLET": nm$(8)="AOÙT"
  nm$(9)="SEPTEMBRE": nm$(10)="OCTOBRE": nm$(11)="NOVEMBRE": nm$(12)="DÉCEMBRE"                    
  lm(1)=31: lm(2)=28: lm(3)=31: lm(4)=30: lm(5)=31: lm(6)=30: lm(7)=31
  lm(8)=31: lm(9)=30: lm(10)=31: lm(11)=30: lm(12)=31
  IF MOD(an,4)=0 AND (MOD(an,100)>0 OR MOD(an,400)=0) THEN lm(2) = 29  
  nj$(0)="DI": nj$(1)="Lu": nj$(2)="Ma": nj$(3)="Me": nj$(4)="Je"
  nj$(5)="Ve": nj$(6)="Sa"
  x0 = 22: y0 = 28: yb = 16: ' marges gauche, haut et bas (centré H)
  w = 1100-2*x0: h = 778-y0-yb: 2D_RECTANGLE x0,y0,x0+w,y0+h
  IF nm = 12 THEN m1 = 1: ' 1er mois
  w1 = w/nm: h1 = h/32: x(0) = x0
  FOR i = 1 TO nm
      x(i) = x0+(i-1)*w1: 2D_LINE x(i),y0,x(i),y0+h
  NEXT i
  y(0) = y0
  FOR i = 1 TO 32
      y(i) = y0 + (i-1)*h1: 2D_LINE x0,y(i),x0+w,y(i)
  NEXT i
  FONT_NAME p,"DejaVu Sans Mono": FONT_SIZE p,11
  PRINT_LOCATE 532,y0-18: FONT_BOLD p: PRINT STR$(an): FONT_BOLD_OFF p
  FONT_COLOR p,0,0,255
  FOR i = 1 TO nm
      mm = i+m1-1: a$ = nm$(mm): jj = TEXT_WIDTH(a$,p)
      PRINT_LOCATE x(i)+(w1-jj)/2,y(1)+3: PRINT a$
  NEXT i  
  FONT_COLOR p,0,0,0: FONT_SIZE p,9
  FOR i = 1 TO nm
      x1 = x(i)+4: y1 = y(2)+2
      mm = i+m1-1
      FOR jj = 1 TO lm(mm)
          ' jour semaine du jour jj, mois mm de l'année an -> rjs=0 Dim à 6 Sam
          jsd = an: IF mm<3 THEN jsd = jsd-1
          jsd=INT(23*mm/9)+jj+4+an+INT(jsd/4)-INT(jsd/100)+INT(jsd/400)
          IF mm>=3 THEN jsd = jsd-2
          rjs = jsd-7*INT(jsd/7): a$ = nj$(rjs)+RIGHT$(" "+STR$(jj),2): x1 = x(i)+4
          IF rjs = 0 THEN FONT_COLOR p,128,0,0
          PRINT_LOCATE x1,y1: PRINT a$: FONT_COLOR p,0,0,0
          y1 = y1+h1
      NEXT jj
  NEXT i
  CLIPBOARD_COPY p  
  2D_TARGET_IS 0: PRINT_TARGET_IS 0: DELETE p
END_SUB
' =========================================================================================
Ça marche, le boulot se fait, et j'ai bien le résultat dans le presse-papier, mais j'ai une erreur sur le END_SUB
que je ne m'explique pas:
Erreur sortie de SUB I113
'OK', puis:
Erreur sortie de SUB I211


Dernière édition par JL35 le Mer 26 Jan 2022 - 12:07, édité 1 fois
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB EmptyMer 26 Jan 2022 - 10:50

Bonjour JL35, bonjour à tous !

Oui, effectivement, tu as découvert un petit bug dans Panoramic.

Ceci ne fonctionne pas :
Code:
test()
end

sub test()
  dim_local lm(2),nj$(2)
end_sub  

Alors que ceci fonctionne :
Code:
test()
end

sub test()
  dim_local nj$(2),lm(2)
end_sub  


En changeant l'ordre de déclaration des variables locales, tout rentre dans l'ordre.
En attendant une correction dans une future version de Panoramic, pour fonctionner, ton source devient :

Code:
Cal_Annu(2022,12,1)
width 0,1120: height 0,830
picture 1: width 1,1100: height 1,778
clipboard_paste 1
END
' =========================================================================================
SUB Cal_Annu(an,nm,m1)
  ' Ébauche calendrier A4 orientation paysage
  ' Année an, nm = 6 ou 12 mois, 1er mois m1 (=1 ou 7, cas 6 mois)
  ' résultat image dans le presse-papier
  DIM_LOCAL p,nm$(12),nj$(6),lm(12),x(12),y(32),x0,y0,yb,x1,y1,w,h,w1,h1,i
  DIM_LOCAL mm,jj,jsd,rjs,a$
  p = 500: PICTURE p: HIDE p: WIDTH p,1100: HEIGHT p,778
                      2D_TARGET_IS p: PRINT_TARGET_IS p
  nm$(1)="JANVIER": nm$(2)="FÉVRIER": nm$(3)="MARS": nm$(4)="AVRIL"
  nm$(5)="MAU": nm$(6)="JUIN": nm$(7)="JUILLET": nm$(8)="AOÙT"
  nm$(9)="SEPIEMBRE": nm$(10)="OCTOBRE": nm$(11)="NOVEMBRE": nm$(12)="DÉCEMBRE"                    
  lm(1)=31: lm(2)=28: lm(3)=31: lm(4)=30: lm(5)=31: lm(6)=30: lm(7)=31
  lm(8)=31: lm(9)=30: lm(10)=31: lm(11)=30: lm(12)=31
  IF MOD(an,4)=0 AND (MOD(an,100)>0 OR MOD(an,400)=0) THEN lm(2) = 29  
  nj$(0)="DI": nj$(1)="Lu": nj$(2)="Ma": nj$(3)="Me": nj$(4)="Je"
  nj$(5)="Ve": nj$(6)="Sa"
  x0 = 22: y0 = 28: yb = 16: ' marges gauche, haut et bas (centré H)
  w = 1100-2*x0: h = 778-y0-yb: 2D_RECTANGLE x0,y0,x0+w,y0+h
  IF nm = 12 THEN m1 = 1: ' 1er mois
  w1 = w/nm: h1 = h/32: x(0) = x0
  FOR i = 1 TO nm
      x(i) = x0+(i-1)*w1: 2D_LINE x(i),y0,x(i),y0+h
  NEXT i
  y(0) = y0
  FOR i = 1 TO 32
      y(i) = y0 + (i-1)*h1: 2D_LINE x0,y(i),x0+w,y(i)
  NEXT i
  FONT_NAME p,"DejaVu Sans Mono": FONT_SIZE p,11
  PRINT_LOCATE 532,y0-18: FONT_BOLD p: PRINT STR$(an): FONT_BOLD_OFF p
  FONT_COLOR p,0,0,255
  FOR i = 1 TO nm
      mm = i+m1-1: a$ = nm$(mm): jj = TEXT_WIDTH(a$,p)
      PRINT_LOCATE x(i)+(w1-jj)/2,y(1)+3: PRINT a$
  NEXT i  
  FONT_COLOR p,0,0,0: FONT_SIZE p,9
  FOR i = 1 TO nm
      x1 = x(i)+4: y1 = y(2)+2
      mm = i+m1-1
      FOR jj = 1 TO lm(mm)
          ' jour semaine du jour jj, mois mm de l'année an -> rjs=0 Dim à 6 Sam
          jsd = an: IF mm<3 THEN jsd = jsd-1
          jsd=INT(23*mm/9)+jj+4+an+INT(jsd/4)-INT(jsd/100)+INT(jsd/400)
          IF mm>=3 THEN jsd = jsd-2
          rjs = jsd-7*INT(jsd/7): a$ = nj$(rjs)+RIGHT$(" "+STR$(jj),2): x1 = x(i)+4
          IF rjs = 0 THEN FONT_COLOR p,128,0,0
          PRINT_LOCATE x1,y1: PRINT a$: FONT_COLOR p,0,0,0
          y1 = y1+h1
      NEXT jj
  NEXT i
  CLIPBOARD_COPY p  
  2D_TARGET_IS 0: PRINT_TARGET_IS 0: DELETE p
END_SUB
' =========================================================================================

Bonne continuation !
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2466
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB EmptyMer 26 Jan 2022 - 11:02

Suite... @JL35

Tu as deux petites erreurs de frappe dans les noms des mois de MAI et SEPTEMBRE.



Revenir en haut Aller en bas
JL35




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

Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB EmptyMer 26 Jan 2022 - 12:12

Bonjour Marc,
pour les erreurs de frappe, ce sont des modifs en vitesse au dernier moment, corrigé là_haut
Génial de ta part d'avoir trouvé que ce sont des inversions de déclarations de variables qui résolvent le problème,
effectivement ce n'est pas évident du tout ! et pas normal...
bizarre que je n'avais pas encore rencontré ce problème !
Merci à toi en tout cas, et bonne journée !
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB EmptyMer 26 Jan 2022 - 17:14

Bonjour à tous,

tien tien ! JJN4va avoir de la concurrence pirat
Revenir en haut Aller en bas
jjn4

jjn4


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

Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB EmptyMer 26 Jan 2022 - 18:19

Eh, eh, de la concurrence, naît l'émulation !
Après cela, JL35 va devoir nous sortir un calendrier qui fait aussi le café,
qui peut servir de grille-pain et de machine à laver,
qui prévoit la météo et les résultats du loto,
qui augmente les retraites et fait rajeunir,
qui fait rouler les autos à l'eau et aux pets de vache, etc. Et j'en passe... !
lol!
Revenir en haut Aller en bas
http://jjn4.e-monsite.com
JL35




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

Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB EmptyMer 26 Jan 2022 - 18:58

Eh ! un peu de patience, c'est à l'étude...

Juste une question jj, est-ce que tu crois au Père Noël ?
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB EmptyJeu 27 Jan 2022 - 11:06

Bonjour à tous,

Moi j'y crois au père Noël. Tu as le temps JL35: j'ai appris à être patient.

bounce

Revenir en haut Aller en bas
JL35




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

Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB EmptyVen 28 Jan 2022 - 12:08

Salut mon ami Jean Claude,
Tu as raison, ça ne fait de mal à personne et c'est bon pour le moral !
Rendez-vous dans 11 mois...
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB EmptyVen 28 Jan 2022 - 16:24

lol!
Revenir en haut Aller en bas
Contenu sponsorisé





Erreur sortie de SUB Empty
MessageSujet: Re: Erreur sortie de SUB   Erreur sortie de SUB Empty

Revenir en haut Aller en bas
 
Erreur sortie de SUB
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Sortie de la version V 0.9.17
» Sortie d'une procédure
» Sortie de Sub intempestive
» Récupérer la sortie d'un programme lancé par EXECUTE_WAIT ?
» Stabilité de Panoramic.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: