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
» Biomorphe de Pickover
par Jack Aujourd'hui à 7:17

» Planétarium virtuel.
par Jack Aujourd'hui à 6:50

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Aujourd'hui à 0:59

» Virus/Antivirus
par JL35 Hier à 21:11

» Calculatrice
par papydall Ven 21 Sep 2018 - 22:45

» Orbites de l’ensemble de Mandelbrot
par Minibug Ven 21 Sep 2018 - 21:32

» Demande pour Jack concernant PanExpress
par Minibug Ven 21 Sep 2018 - 11:04

» EPP_V01 éditeur pour Panoramic
par Minibug Mer 19 Sep 2018 - 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Mer 19 Sep 2018 - 21:02

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 Pseudo-objet - Générateur de code

Aller en bas 
AuteurMessage
Invité
Invité



MessageSujet: Pseudo-objet - Générateur de code   Dim 19 Déc 2010 - 22:02

Bonjour,

Voici un générateur de code pour afficher des pseudo objet :




Quelques objets :

Polygone : Polygone 2D
Image scrollabe : Image qui peut défiler
Dialogue Couleurs : Une boîte de dialogue de couleurs (moi ça me sauve 10 minutes)
Bouton Slit : Un bouton avec une flèche pour ouvrir un menu contextuel avec des objets dedans.
Horloge : Affiche l'heure. Choix avec trotteuse et cadran.

Le nombre en parenthèses, c'est le nombre d'objet que nécessite ce pseudo-objet.

Citation :

Mise à jour 2010/12/22 12:00


Nouvelle version 0.3.
Code en plein écran mais sans nouvelle fenêtre.
Nouveau pseudo-objet 'horloge'

Voici le code :

Code:
label time
dim i,j,pi,minute,seconde,heure
dim angle_heure,angle_minute,angle_seconde,angle

pi = 3.14159265358979323846264337

heure=val(left$(time$,2))
minute=val(mid$(time$,4,2))
seconde=val(right$(time$,2))

picture 1
left 1,0
top 1,0
width 1,130
height 1,131
2d_target_is 1
2d_fill_color 255,255,255

edit 2
left 2,2
top 2,108
width 2,126
text 2,time$

timer 3
timer_interval 3,500
on_timer 3,time

end

time:
cls
text 2,time$
heure=val(left$(time$,2))
minute=val(mid$(time$,4,2))
seconde=val(right$(time$,2))
2d_pen_color 0,0,0
2d_pen_width 2
2d_rectangle 1,1,130,131
2d_circle 65,55,50

2d_pen_width 1
for i=1 to 12
  angle = i/12*(2*pi)+0.5*pi
  2d_line 65-45*cos(angle),55-45*sin(angle),65-50*cos(angle),55-50*sin(angle)
next i

if heure>=12 then heure=heure-12
angle_heure = heure/12*(2*pi)+0.5*pi
angle_minute = minute/60*(2*pi)+0.5*pi
angle_seconde = seconde/60*(2*pi)+0.5*pi
2d_pen_width 2:2d_line 65,55,65-35*cos(angle_heure),55-35*sin(angle_heure)
2d_line 65,55,65-45*cos(angle_minute),55-45*sin(angle_minute)
2d_pen_color 0,0,255:2d_pen_width 1
2d_line 65,55,65-45*cos(angle_seconde),55-45*sin(angle_seconde)
2d_pen_color 0,0,0
2d_pen_width 7:2d_line 65,55,65,55
return

Amusez-vous bien ! Basketball

@ Klaus

Tu peux m'aider à ajouter tes pseudo-objet si tu veux. santa


Dernière édition par Nicolas le Mer 22 Déc 2010 - 18:06, édité 2 fois
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Pseudo-objet - Générateur de code   Dim 19 Déc 2010 - 23:03

Pas mal comme programme Nicolas, il y a de l'idée...
Surtout pour ton âge (98 ans ????)

Je suppose que c'est le deuxième code qui est à jour.

Une première remarque: quand on fait 'Copier' du code généré, il manque les retour chariot/interlignes après chaque ligne, tout est collé.
Il faudrait remplacer la ligne 586 par:
Code:
  copy$=copy$+item_read$(4,i)+a$+CHR$(13)+CHR$(10)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Pseudo-objet - Générateur de code   Dim 19 Déc 2010 - 23:07

pour l'age ok, j'ai environ XX.

JL35, a$ vaut chr$(10)

par coller est-ce que tu veux dire :

1. exempleexemple

ou

2.
exemple
exemple
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Pseudo-objet - Générateur de code   Dim 19 Déc 2010 - 23:14

Pardon Nicolas, je n'avais pas remarqué le a$= chr$(10)
Simplement j'ai collé dans le Bloc-Notes et toutes les lignes étaient collées entre elles en une seule grande ligne: exempleexemple.

Je regarde de plus près, mais à mon avis il faut rajouter un chr$(13)

Pour l'âge, 98 c'est ce qui s'affiche sous ton pseudo !
Bizarre, quand je colle le code généré dans le Bloc-Note tout est collé, mais si je le colle dans l'éditeur Panoramic là il y a bien les sauts de ligne.
Mais il me semble quand même que ce serait plus propre avec a$ = chr$(13)+chr$(10) plutôt qu'avec seulement chr$(10)



Dernière édition par JL35 le Dim 19 Déc 2010 - 23:21, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Pseudo-objet - Générateur de code   Dim 19 Déc 2010 - 23:20

Joli générateur. Il y a deux oublis de guillemets dans le code généré d'un SLIT - je l'ai corrigé. Mais surtout, en ligne 60, le on_change est en trop. La fonction décclenchée par on_change devrait être invoquée d'une autre façon, car tu déclenches automatiquement le on_change en générant le code pour un objet - c'est item_add qui déclenche on_change. Or, tu déclenches un on_change pour chaque item_add, et cela se produit de façon asynchrone par rapport aux ajouts dans le mémo, provoquant ainsi un plantage magnifique qui ne peut même pas être intercepté par un on_error. Déclenche change2 par un bouton supplémentaire, et tout ce passera bien. Pour le moment, j'ai mis la ligne en commentaire.

Mes trois petites corrections sont marquées "Klaus" dans un commentaire. Voici le code modifié:
Code:
label forme_change,choisir,generer,spin_change,bar_change,annule,new,colordialog
label ok,numero,copy,agrandir_code,change,close_text,change2

dim i,j,a$,mess,ar,so,numero$,copy$,caract
dim x0,y0,r,px,py,px2,py2,n,Pi,a

ar=1
a$=chr$(10)
numero$=1

width 0,500
height 0,369
caption 0,"Pseudo-objet - Générateur de code"

' menus ________________________________________________________________________

main_menu 1000
sub_menu 1001:parent 1001,1000:caption 1001,"Objets"
sub_menu 1003:parent 1003,1000:caption 1003,"Code"
sub_menu 1002:parent 1002,1001:caption 1002,"Numéro d'objet à partir de 1":on_click 1002,numero

sub_menu 1004:parent 1004,1003:caption 1004,"Nouveau":on_click 1004,new
sub_menu 1005:parent 1005,1003:caption 1005,"Générer":on_click 1005,generer
sub_menu 1006:parent 1006,1003:caption 1006,"Copier":on_click 1006,copy
sub_menu 1007:parent 1007,1003:caption 1007,"Voir le code en plein écran":on_click 1007,agrandir_code

' principal ____________________________________________________________________

alpha 1
left 1,5
top 1,5
caption 1,"Sélectionnez un pseudo-objet :"
font_size 1,10

combo 2
top 2,3
left 2,190
width 2,170
item_add 2,"Polygone (0)"
item_add 2,"Image scrollabe (3)"
item_add 2,"Boîte de dialogue couleurs (10)"
item_add 2,"Bouton Slit (3)"

button 3
top 3,3
left 3,365
height 3,21
width 3,120
caption 3,"Choisir"
font_size 3,10
on_click 3,choisir

memo 4
top 4,211
left 4,5
width 4,482
height 4,100
bar_both 4
font_name 4,"Courier New"
' on_change 4,change2  Klaus: cette instruction conduit au plantage !

picture 5
top 5,190
width 5,492
color 5,0,0,0
height 5,1

alpha 6
top 6,192
left 6,15
caption 6,"Code"
font_size 6,10

j=332
for i=7 to 8
  button i:left i,j:top i,192:height i,17:j=j+80
next i
caption 7,"Nouveau":caption 8,"Générer"
on_click 7,new:on_click 8,generer

button 700
height 700,17
left 700,252
top 700,192
caption 700,"Copier"
on_click 700,copy

' contenu ______________________________________________________________________

alpha 9
hide 9
left 9,20
top 9,30
caption 9,"Nombre de cotés : "+a$+a$+"Angle :"+a$+a$+"Rayon :"+a$+a$+"Position (centre) :"+a$+a$+"X                      Y"

alpha 13
hide 13
left 13,250
top 13,30
caption 13,"Aperçu :"

picture 14
hide 14
top 14,45
left 14,210
width 14,275
height 14,130
2d_target_is 14
2d_rectangle 0,0,275,130

j=28
for i=10 to 12
  spin i:hide i:left i,110:top i,j:width i,60:j=j+26
next i
min 10,3:max 10,"100":position 10,"5"
min 11,0:max 11,360
min 12,10:max 12,1000:position 12,"50"
j=30
for i=15 to 16
  spin i:hide i:left i,j:top i,130:width i,60:j=j+75
next i
min 15,0:max 15,screen_x:position 15,130
min 16,0:max 16,screen_y:position 16,60

for i=10 to 12
  on_change i,forme_change
next i
for i=15 to 16
  on_change i,forme_change
next i
gosub forme_change

caption 9,"Dimension :"+a$+a$+"X                      Y"+a$+a$+"Position :"+a$+a$+"X                      Y"+a$+a$+"Couleur : "

j=30
for i=17 to 18
  spin i:hide i:left i,j:top i,51:width i,60:j=j+75:min i,20
next i
j=30
for i=19 to 20
  spin i:hide i:left i,j:top i,103:width i,60:j=j+75:min i,0
next i
max 17,screen_x:position 17,"200"
max 18,screen_y:position 18,"200"
max 19,screen_x
max 20,screen_y

picture 21
hide 21
left 21,70
top 21,131
height 21,21
width 21,40
2d_target_is 21
2d_rectangle 0,0,40,21

button 22
hide 22
top 22,131
left 22,115
width 22,21
height 22,21
caption 22,"..."
on_click 22,colordialog

edit 33
hide 33
left 33,123
top 33,54
width 33,200
text 33,"Choisir une couleur..."

spin 34
hide 34
top 34,53
left 34,80
min 34,20:max 34,screen_x
position 34,152

' FORMS ________________________________________________________________________

form 23
hide 23
caption 23,"Choisir une couleur..."
command_target_is 23

j=1
for i=24 to 26
  track_bar i:height i,25:min i,0:max i,255:top i,j:position i,255:on_change i,bar_change
  spin i+3:top i+3,j+2:left i+3,150:width i+3,60:min i+3,0:max i+3,255:j=j+30:position i+3,255:on_change i+3,spin_change
next i

j=216
for i=30 to 31
  button i:width i,60:left i,j:height i,21:top i,70:j=j+65
next i
caption 30,"Annuler":caption 31,"OK"
on_click 30,annule:on_click 31,ok

picture 32
left 32,216
height 32,59
top 32,5
width 32,125
2d_target_is 32
2d_rectangle 0,0,125,59

width 23,354
height 23,120
border_small 23

' ______________________________________

form 900
hide 900
full_space 900
on_close 900,close_text
command_target_is 900

memo 901
full_space 901
font_name 901,"Courier New"
on_change 901,change
bar_both 901

end

forme_change:
2d_target_is 14:cls
2d_rectangle 0,0,275,130
x0=position(15)
Y0=position(16)
r=position(12)
n=position(10)
a=position(11)
pi=3.1415926535898
px=r*cos(a)+x0
py=r*sin(a)+y0
2d_poly_from px,py
for j=1 to n
    px2=r*cos(a+2*pi*j/n)+x0
    py2=r*sin(a+2*pi*j/n)+y0
    2d_poly_to px2,py2
    px=Px2
    py=Py2
next j
return

choisir:
show 9
font_size 9,8
caption 9,"":font_bold_off 9
if text$(2)="Polygone (0)"
  ar=1
  caption 6,"Code (cliquez sur générer pour afficher)"
  caption 9,"Nombre de cotés : "+a$+a$+"Angle :"+a$+a$+"Rayon :"+a$+a$+"Position (centre) :"+a$+a$+"X                      Y"
  left 13,250
  top 13,30
  caption 13,"Aperçu :"
  for i=9 to 16
    show i
  next i
  for i=17 to 22
    hide i
  next i
  active 8:hide 33:hide 34
  so=1
end_if
if text$(2)="Image scrollabe (3)"
  ar=1
  show 9:hide 34:hide 33
  top 19,103:top 20,103
  left 21,70:top 21,131
  top 22,131:left 22,115
  for i=17 to 22
    show i
  next i
  for i=10 to 16
    hide i
  next i
  caption 6,"Code (cliquez sur générer pour afficher)"
  caption 9,"Dimension :"+a$+a$+"X                      Y"+a$+a$+"Position :"+a$+a$+"X                      Y"+a$+a$+"Couleur : "
  so=2
end_if
if text$(2)="Boîte de dialogue couleurs (10)"
  ar=1
  show 9:show 33:show 21:show 22:hide 34
  caption 9,"Couleur par défaut : "+a$+a$+"Titre de la fenêtre : "
  left 21,123:top 21,28
  left 22,168:top 22,28
  left 33,123:top 33,54
  for i=10 to 20
    hide i
  next i
  so=3
end_if
if text$(2)="Bouton Slit (3)"
  ar=1:show 9:show 33:show 19:show 20:show 21:show 22:show 34
  for i=10 to 18
    hide i
  next i
  caption 9,"Couleur de fond :"+a$+a$+"Longueur : "+a$+a$+"Texte : "+a$+a$+"Position :"+a$+a$+"X                      Y"
  top 19,129:top 20,129
  top 33,80:left 33,60:text 33,""
  left 21,113:top 21,28
  left 22,158:top 22,28
  so=4
end_if
if text$(2)<>"Polygone (0)" and text$(2)<>"Image scrollabe (3)" and text$(2)<>"Boîte de dialogue couleurs (10)" and text$(2)<>"Bouton Slit (3)"
  for i=10 to 22
    hide i
  next i
  hide 33:hide 34
  if ar=1
    font_size 9,12
    caption 9,"Aucun résultat":font_bold 9
    caption 6,"Code"
  end_if
  ar=1
end_if
return

generer:
if so=1
  clear 4
  item_add 4,"dim x0,y0,r,px,py,px2,py2,n,j,pi,a"
  item_add 4,"x0="+str$(position(15))
  item_add 4,"y0="+str$(position(16))
  item_add 4,"r="+str$(position(12))
  item_add 4,"n="+str$(position(10))
  item_add 4,"a="+str$(position(11))
  item_add 4,"pi=3.1415926535898"
  item_add 4,"px=r*cos(a)+x0"
  item_add 4,"py=r*sin(a)+y0"
  item_add 4,"2d_poly_from px,py"
  item_add 4,"for j=1 to n"
  item_add 4,"  px2=r*cos(a+2*pi*j/n)+x0"
  item_add 4,"  py2=r*sin(a+2*pi*j/n)+y0"
  item_add 4,"  2d_poly_to px2,py2"
  item_add 4,"  px=px2"
  item_add 4,"  py=py2"
  item_add 4,"next j"
end_if
if so=2
  clear 4
  item_add 4,"label bar_change"
  item_add 4,""
  item_add 4,"scroll_bar "+numero$
  item_add 4,"left "+numero$+","+str$(position(19))
  item_add 4,"top "+numero$+","+str$(position(18)+position(20))
  item_add 4,"width "+numero$+","+str$(position(17))
  item_add 4,"min "+numero$+",0:max "+numero$+","+str$(position(17))
  item_add 4,"on_change "+numero$+",bar_change"
  item_add 4,""
  item_add 4,"scroll_bar "+str$(val(numero$)+1)
  item_add 4,"vertical "+str$(val(numero$)+1)
  item_add 4,"left "+str$(val(numero$)+1)+","+str$(position(17)+position(19))
  item_add 4,"top "+str$(val(numero$)+1)+","+str$(position(20))
  item_add 4,"height "+str$(val(numero$)+1)+","+str$(position(18))
  item_add 4,"min "+str$(val(numero$)+1)+",0:max "+numero$+","+str$(position(18))
  item_add 4,"on_change "+str$(val(numero$)+1)+",bar_change"
  item_add 4,""
  item_add 4,"picture "+str$(val(numero$)+2)
  item_add 4,"left "+str$(val(numero$)+2)+","+str$(position(19))
  item_add 4,"top "+str$(val(numero$)+2)+","+str$(position(20))
  item_add 4,"width "+str$(val(numero$)+2)+","+str$(position(17))
  item_add 4,"height "+str$(val(numero$)+2)+","+str$(position(18))
  item_add 4,"color "+str$(val(numero$)+2)+","+str$(position(24))+","+str$(position(25))+","+str$(position(26))
  item_add 4,""
  item_add 4,"end"
  item_add 4,""
  item_add 4,"bar_change:"
  item_add 4,"top "+str$(val(numero$)+2)+",position("+str$(val(numero$)+1)+")*-1+"+str$(position(19))
  item_add 4,"height "+str$(val(numero$)+2)+","+str$(position(18))+"+position("+str$(val(numero$)+1)+")"
  item_add 4,"left "+str$(val(numero$)+2)+",position("+numero$+")*-1+"+str$(position(20))
  item_add 4,"width "+str$(val(numero$)+2)+","+str$(position(17))+"+position("+numero$+")"
  item_add 4,"color "+str$(val(numero$)+2)+","+str$(position(24))+","+str$(position(25))+","+str$(position(26))
  item_add 4,"return"
end_if
if so=3
  clear 4
  item_add 4,"label bar_change,spin_change,annule,ok"
  item_add 4,"dim i,j"
  item_add 4,""
  item_add 4,"form "+numero$
  item_add 4,"caption "+numero$+","+chr$(34)+text$(33)+chr$(34)
  item_add 4,"command_target_is "+numero$
  item_add 4,""
  item_add 4,"j=1"
  item_add 4,"for i="+str$(val(numero$)+1)+" to "+str$(val(numero$)+3)
  item_add 4,"  track_bar i:height i,25:min i,0:max i,255:top i,j"
  item_add 4,"  spin i+3:top i+3,j+2:left i+3,150:width i+3,60:min i+3,0:max i+3,255:j=j+30"
  item_add 4,"next i"
  item_add 4,"position "+str$(val(numero$)+1)+","+str$(position(24))
  item_add 4,"position "+str$(val(numero$)+2)+","+str$(position(25))
  item_add 4,"position "+str$(val(numero$)+3)+","+str$(position(26))
  item_add 4,"position "+str$(val(numero$)+4)+","+str$(position(24))
  item_add 4,"position "+str$(val(numero$)+5)+","+str$(position(25))
  item_add 4,"position "+str$(val(numero$)+6)+","+str$(position(26))
  item_add 4,""
  item_add 4,"j=216"
  item_add 4,"for i="+str$(val(numero$)+7)+" to "+str$(val(numero$)+8)
  item_add 4,"  button i:width i,60:left i,j:height i,21:top i,70:j=j+65"
  item_add 4,"next i"
  item_add 4,"caption "+str$(val(numero$)+7)+","+chr$(34)+"Annuler"+chr$(34)+":caption "+str$(val(numero$)+8)+","+chr$(34)+"OK"+chr$(34)
  item_add 4,"on_click "+str$(val(numero$)+7)+",annule:on_click "+str$(val(numero$)+8)+",ok"
  item_add 4,""
  item_add 4,"picture "+str$(val(numero$)+9)
  item_add 4,"left "+str$(val(numero$)+9)+",216"
  item_add 4,"height "+str$(val(numero$)+9)+",59"
  item_add 4,"top "+str$(val(numero$)+9)+",5"
  item_add 4,"width "+str$(val(numero$)+9)+",125"
  item_add 4,"2d_target_is "+str$(val(numero$)+9)
  item_add 4,"2d_fill_color "+str$(position(24))+","+str$(position(25))+","+str$(position(26))
  item_add 4,"2d_rectangle 0,0,125,59"
  item_add 4,""
  item_add 4,"width  "+numero$+",354"
  item_add 4,"height "+numero$+",120"
  item_add 4,"border_small "+numero$
  item_add 4,""
  item_add 4,"for i="+str$(val(numero$)+1)+" to "+str$(val(numero$)+6)
  item_add 4,"  on_change i,bar_change"
  item_add 4,"next i"
  item_add 4,""
  item_add 4,"end"
  item_add 4,""
  item_add 4,"bar_change:"
  item_add 4,"position "+str$(val(numero$)+4)+",position("+str$(val(numero$)+1)+")"
  item_add 4,"position "+str$(val(numero$)+5)+",position("+str$(val(numero$)+2)+")"
  item_add 4,"position "+str$(val(numero$)+6)+",position("+str$(val(numero$)+3)+")"
  item_add 4,"2d_fill_color position("+str$(val(numero$)+4)+"),position("+str$(val(numero$)+5)+"),position("+str$(val(numero$)+6)+")"
  item_add 4,"2d_target_is "+str$(val(numero$)+9)
  item_add 4,"2d_rectangle 0,0,125,59"
  item_add 4,"return"
  item_add 4,""
  item_add 4,"spin_change:"
  item_add 4,"position "+str$(val(numero$)+1)+",position("+str$(val(numero$)+4)+")"
  item_add 4,"position "+str$(val(numero$)+2)+",position("+str$(val(numero$)+5)+")"
  item_add 4,"position "+str$(val(numero$)+3)+",position("+str$(val(numero$)+6)+")"
  item_add 4,"2d_fill_color position("+str$(val(numero$)+1)+"),position("+str$(val(numero$)+2)+"),position("+str$(val(numero$)+3)+")"
  item_add 4,"2d_target_is "+str$(val(numero$)+9)
  item_add 4,"2d_rectangle 0,0,125,59"
  item_add 4,"return"
  item_add 4,""
  item_add 4,"ok:"
  item_add 4,"hide "+numero$
  item_add 4,"return"
  item_add 4,""
  item_add 4,"annule:"
  item_add 4,"hide "+numero$
  item_add 4,"return"
end_if
if so=4
  clear 4
  item_add 4,"label slit,slit_hide"
  item_add 4,"dim i,j,slit"
  item_add 4,""
  item_add 4,"on_click 0,slit_hide"
  item_add 4,""
  item_add 4,"j="+str$(position(17))
  item_add 4,"for i=1 to 2"
  item_add 4,"  button i:top i,"+str$(position(18))+":left i,j:width i,21:height i,21:j=j+21"
  item_add 4,"next i"
  item_add 4,"width "+str$(val(numero$)+1)+",10:font_size "+str$(val(numero$)+1)+",6:caption 2,"+chr$(34)+"6"+chr$(34)+":font_name "+str$(val(numero$)+1)+","+chr$(34)+"Webdings"+chr$(34)
  item_add 4,"on_click "+str$(val(numero$)+1)+",slit:on_click "+numero$+",slit_hide"
  item_add 4,"caption "+numero$+","+chr$(34)+text$(33)+chr$(34)
  item_add 4,"" : ' Klaus: 2ème guillemet manquant
  item_add 4,"picture "+str$(val(numero$)+2)
  item_add 4,"hide "+str$(val(numero$)+2)
  item_add 4,"top "+str$(val(numero$)+2)+","+str$(position(18)+21)
  item_add 4,"width "+str$(val(numero$)+2)+",152"  : ' Klaus: guillemet terminal manquant
  item_add 4,"height "+str$(val(numero$)+2)+",23"
  item_add 4,"2d_target_is "+str$(val(numero$)+2)
  item_add 4,"2d_rectangle 0,0,"+str$(position(34))+",23"
  item_add 4,""
  item_add 4,"end"
  item_add 4,""
  item_add 4,"slit:"
  item_add 4,"if slit=0"
  item_add 4,"  show "+str$(val(numero$)+2)
  item_add 4,"  slit=1"
  item_add 4,"else"
  item_add 4,"  hide "+str$(val(numero$)+2)
  item_add 4,"  slit=0"
  item_add 4,"end_if"
  item_add 4,"return"
  item_add 4,""
  item_add 4,"slit_hide:"
  item_add 4,"slit=0:hide "+str$(val(numero$)+2)
  item_add 4,"return"
end_if
return

spin_change:
position 24,position(27)
position 25,position(28)
position 26,position(29)
2d_fill_color position(27),position(28),position(29)
2d_target_is 32
2d_rectangle 0,0,125,59
return

bar_change:
position 27,position(24)
position 28,position(25)
position 29,position(26)
2d_fill_color position(27),position(28),position(29)
2d_target_is 32
2d_rectangle 0,0,125,59
return

ok:
hide 23
2d_target_is 21
2d_fill_color position(27),position(28),position(29)
2d_rectangle 0,0,40,21
return

colordialog:
show 23
to_foreground 23
return

annule:
hide 23
position 24,color_pixel_red(21,1,1)
position 25,color_pixel_green(21,1,1)
position 26,color_pixel_blue(21,1,1)
return

new:
mess=message_confirmation_yes_no("Voulez-vous vraiment créer un nouveau code?")
if mess=1 then ar=0:clear 4:clear 901:text 2,"":caption 6,"Code":goto choisir
if mess=0 or 2 then return
return

numero:
mess=message_input("Numéro à partir de...","Entrer le numéro du premier objet que le générateur va créer :",numero$)
if (numeric(message_text$))=0 then message "Cette valeur n'est pas numérique!":return
if len(message_text$)>6 then message "Ce numéro est trop élévé!":return
numero$=message_text$
caption 1002,"Numéro d'objet à partir de "+numero$
return

copy:
copy$=""
for i=1 to count(4)
  copy$=copy$+item_read$(4,i)+a$
next i
clipboard_string_copy copy$
return

agrandir_code:
show 900
to_foreground 900
clear 4
caract=0
for i=1 to count(4)
  item_add 901,item_read$(4,i)
  caract=caract+len(item_read$(901,i))
next i
caption 900,"Code en plein écran  -  "+str$(count(901))+" ligne(s)  -  "+str$(caract)+" caractère(s)"
return

change:
caract=0
for i=1 to count(901)
  caract=caract+len(item_read$(901,i))
next i
caption 900,"Code en plein écran  -  "+str$(count(901))+" ligne(s)  -  "+str$(caract)+" caractère(s)"
return

change2:
caract=0
clear 901
for i=1 to count(4)
  item_add 901,item_read$(4,i)
  caract=caract+len(item_read$(901,i))
next i
caption 900,"Code en plein écran  -  "+str$(count(901))+" ligne(s)  -  "+str$(caract)+" caractère(s)"
return

close_text:
mess=message_confirmation_yes_no("Voulez-vous transférer les modifications dans l'autre fenêtre?")
if mess=1
  clear 4
  for i=1 to count(901)
    item_add 4,item_read$(901,i)
  next i
end_if
return

On peut intégrer mes pseudo-éléments dans ce mécanisme. J'ai gardé ton module et je vais proposer quelque chose prochainement. Mais sache que l'intégration de mes pseudo-objets se passe en 3 étapes:
1. intégrer quelques lignes (voir la doc correspondante) au début du programme
2. intégrer le module source complet à la fin du programme (par #INCLUDE par exemple)
3. insérer à l'endroit stratégique la liste des appels à la routine de gestion pour le pseudo-objet, après avoir chargé au préalable la variable servant de passage de paramètres

C'est ce troisième point qui pourrait faire l'objet d'une génération.

EDIT

P.S. mon post s'est croisé avec celui de JL35. Il vaut mieux, bien sûr, ajouter CR+LF !
Mais, une astuce: les CR LF sont déjà dans le mémo ! Il suffit de sélectionner le texte complet et de copier le texte sélectionné dans le presse-papier, de la manière suivante:
Code:

select_text 4,1,count(4)*100
clipboard_copy 4
C'est tout. Plus besoin de faire une boucle pour accoler les lignes une à une - tout est copié directement, et ce AVEC les CR LF !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Pseudo-objet - Générateur de code   Lun 20 Déc 2010 - 14:34

Merci Klaus pour l'astuce du copier global, je n'y aurais pas pensé.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: Pseudo-objet - Générateur de code   Mar 21 Déc 2010 - 22:30

Mise à jour 2010/12/21 16:30
Mise à jour 2010/12/22 12:00
Mise à jour 2010/12/24 11:00


Dernière édition par Nicolas le Ven 24 Déc 2010 - 17:01, édité 1 fois
Revenir en haut Aller en bas
Invité
Invité



MessageSujet: Re: Pseudo-objet - Générateur de code   Ven 24 Déc 2010 - 17:00

Nouvelle version V.0.7

Ajouts :

Horloge (aperçu)
CommandConsole 1.0 (une espèce de DOS. JL35 va aimer ça! Very Happy)

Code:
label forme_change,choisir,generer,spin_change,bar_change,annule,new,colordialog
label ok,numero,copy,agrandir_code,help,about,help_select,resize,click,red,green
label blue,time,pi_change,ccwindow,change,command

dim pi2,minute,seconde,heure,angle_heure,angle_minute,angle_seconde,angle
dim s,file$,dir$,k,b$
dim i,j,a$,mess,ar,so,numero$,agrandir,no
dim x0,y0,r,px,py,px2,py2,n,pi,a

ar=1
a$=chr$(10)
numero$=1

pi2=3.14159265358979323846264337

width 0,500
height 0,368
caption 0,"Pseudo-objet - Générateur de code  -  V.0.7"

' menus ________________________________________________________________________

main_menu 1000
sub_menu 1001:parent 1001,1000:caption 1001,"Objets"
sub_menu 1003:parent 1003,1000:caption 1003,"Code"
sub_menu 1011:parent 1011,1000:caption 1011,"Format"
sub_menu 1016:parent 1016,1000:caption 1016,"Outils"
sub_menu 1008:parent 1008,1000:caption 1008,"Aide"

sub_menu 1002:parent 1002,1001:caption 1002,"Numéro d'objet à partir de 1":on_click 1002,numero

sub_menu 1004:parent 1004,1003:caption 1004,"Nouveau":on_click 1004,new
sub_menu 1005:parent 1005,1003:caption 1005,"Générer":on_click 1005,generer
sub_menu 1006:parent 1006,1003:caption 1006,"Copier":on_click 1006,copy
sub_menu 1007:parent 1007,1003:caption 1007,"Voir le code en plein écran":on_click 1007,agrandir_code

sub_menu 1012:parent 1012,1011:caption 1012,"Couleur du fond"
sub_menu 1013:parent 1013,1012:caption 1013,"Bleu":on_click 1013,blue
sub_menu 1014:parent 1014,1012:caption 1014,"Rouge":on_click 1014,red
sub_menu 1015:parent 1015,1012:caption 1015,"Vert":on_click 1015,green

sub_menu 1017:parent 1017,1016:caption 1017,"CommandConsole...":on_click 1017,ccwindow

sub_menu 1009:parent 1009,1008:caption 1009,"Aide...":on_click 1009,help
sub_menu 1010:parent 1010,1008:caption 1010,"À propos de...":on_click 1010,about

' principal ____________________________________________________________________

alpha 1
left 1,5
top 1,5
caption 1,"Sélectionnez un pseudo-objet :"
font_size 1,10

combo 2
top 2,3
left 2,190
width 2,170
item_add 2,"Polygone (0)"
item_add 2,"Image scrollabe (3)"
item_add 2,"Boîte de dialogue couleurs (10)"
item_add 2,"Bouton Slit (3)"
item_add 2,"Horloge (2 ou 3)"

button 3
top 3,3
left 3,365
height 3,21
width 3,120
caption 3,"Choisir"
font_size 3,10
on_click 3,choisir

memo 4
top 4,211
left 4,5
width 4,482
height 4,100
bar_both 4
font_name 4,"Courier New"

picture 5
top 5,190
width 5,492
height 5,124
2d_target_is 5
2d_line 0,0,492,0
for i=1 to 125
  2d_pen_color 0,230-i,255
  2d_line 0,126-i,700,126-i
next i

alpha 6
top 6,192
left 6,15
caption 6,"Code"
font_size 6,10
color 6,0,116,255
on_click 6,click

j=332
for i=7 to 8
  button i:left i,j:top i,192:height i,17:j=j+80
next i
caption 7,"Nouveau":caption 8,"Générer"
on_click 7,new:on_click 8,generer

button 700
height 700,17
left 700,252
top 700,192
caption 700,"Copier"
on_click 700,copy

' contenu ______________________________________________________________________

alpha 9
hide 9
left 9,20
top 9,30
caption 9,"Nombre de cotés : "+a$+a$+"Angle :"+a$+a$+"Rayon :"+a$+a$+"Position (centre) :"+a$+a$+"X                      Y"

alpha 13
hide 13
left 13,250
top 13,30
caption 13,"Aperçu :"

picture 14
hide 14
top 14,45
left 14,210
width 14,275
height 14,130
2d_target_is 14
2d_rectangle 0,0,275,130

j=28
for i=10 to 12
  spin i:hide i:left i,110:top i,j:width i,60:j=j+26
next i
min 10,3:max 10,"100":position 10,"5"
min 11,0:max 11,360
min 12,10:max 12,1000:position 12,"50"
j=30
for i=15 to 16
  spin i:hide i:left i,j:top i,130:width i,60:j=j+75
next i
min 15,0:max 15,screen_x:position 15,130
min 16,0:max 16,screen_y:position 16,60

for i=10 to 12
  on_change i,forme_change
next i
for i=15 to 16
  on_change i,forme_change
next i
gosub forme_change

caption 9,"Dimension :"+a$+a$+"X                      Y"+a$+a$+"Position :"+a$+a$+"X                      Y"+a$+a$+"Couleur : "

j=30
for i=17 to 18
  spin i:hide i:left i,j:top i,51:width i,60:j=j+75:min i,20
next i
j=30
for i=19 to 20
  spin i:hide i:left i,j:top i,103:width i,60:j=j+75:min i,0
next i
max 17,screen_x:position 17,"200"
max 18,screen_y:position 18,"200"
max 19,screen_x
max 20,screen_y

picture 21
hide 21
left 21,70
top 21,131
height 21,21
width 21,40
2d_target_is 21
2d_rectangle 0,0,40,21

button 22
hide 22
top 22,131
left 22,115
width 22,21
height 22,21
caption 22,"..."
on_click 22,colordialog

edit 33
hide 33
left 33,123
top 33,54
width 33,200
text 33,"Choisir une couleur..."

spin 34
hide 34
top 34,53
left 34,80
min 34,20:max 34,screen_x
position 34,152

j=130
for i=35 to 37
  check i:hide i:left i,15:top i,j:mark_on i:width i,250:j=j+19
next i
caption 35,"Afficher la trotteuse":caption 36,"Afficher le cadran":caption 37,"Afficher la progression des heures et des minutes"

check 43
hide 43
left 43,170
top 43,130
caption 43,"Afficher les traits"
mark_on 43

edit 38
hide 38
left 38,50
top 38,80
width 38,200
text 38,"3.14159265358979323846264337"
on_change 38,pi_change

picture 39
hide 39
left 39,300
top 39,50
width 39,130
height 39,131

edit 40
hide 40
left 40,302
top 40,158
width 40,126
text 40,time$

spin 41
hide 41
width 41,50
left 41,415
top 41,27
min 41,1:max 41,20
position 41,1

' FORMS ________________________________________________________________________

form 23
hide 23
caption 23,"Choisir une couleur..."
command_target_is 23

j=1
for i=24 to 26
  track_bar i:height i,25:min i,0:max i,255:top i,j:position i,255:on_change i,bar_change
  spin i+3:top i+3,j+2:left i+3,150:width i+3,60:min i+3,0:max i+3,255:j=j+30:position i+3,255:on_change i+3,spin_change
next i

j=216
for i=30 to 31
  button i:width i,60:left i,j:height i,21:top i,70:j=j+65
next i
caption 30,"Annuler":caption 31,"OK"
on_click 30,annule:on_click 31,ok

picture 32
left 32,216
height 32,59
top 32,5
width 32,125
2d_target_is 32
2d_rectangle 0,0,125,59

width 23,354
height 23,120
border_small 23

' _____________________________________

form 500
hide 500
left 500,100
top 500,100
width 500,450
height 500,300
caption 500,"Aide de PO-GC..."
command_target_is 500

memo 501
top 501,21
width 501,320
height 501,245
font_size 501,10
bar_vertical 501

edit 502
width 502,442

list 503
width 503,122
height 503,245
top 503,21
left 503,320
item_add 503,"Nombre en parenthèse"
item_add 503,"? Pseudo-objet ?"
item_add 503,"Fonctionnement"
sort_on 503
on_click 503,help_select

' _________________________________________

form 402
hide 402
width 402,500
height 402,300
caption 402,"CommandConsole 1.0"
command_target_is 402

memo 401
width 401,492
height 401,245
item_add 401,"CommandConsole 1.0  -  2010-2011"
item_add 401,"Tapez HELP pour obtenir de l'aide."
bar_vertical 401
font_name 401,"courier new"

combo 400
width 400,492
top 400,245
font_color 400,0,0,255
on_key_up 400,command
on_change 400,change

' TIMERS _______________________________________________________________________

timer 550
timer_interval 550,1
on_timer 550,resize

timer 42
timer_interval 42,500
on_timer 42,time

end

forme_change:
2d_target_is 14:cls
2d_rectangle 0,0,275,130
x0=position(15)
Y0=position(16)
r=position(12)
n=position(10)
a=position(11)
pi=3.1415926535898
px=r*cos(a)+x0
py=r*sin(a)+y0
2d_poly_from px,py
for j=1 to n
    px2=r*cos(a+2*pi*j/n)+x0
    py2=r*sin(a+2*pi*j/n)+y0
    2d_poly_to px2,py2
    px=Px2
    py=Py2
next j
return

choisir:
show 9
font_size 9,8
caption 9,"":font_bold_off 9
if text$(2)="Polygone (0)"
  ar=1:hide 33:hide 34:hide 35:hide 36:hide 37:hide 38:hide 39:hide 40:hide 41:hide 43
  caption 6,"Code (cliquez sur générer pour afficher)"
  caption 9,"Nombre de cotés : "+a$+a$+"Angle :"+a$+a$+"Rayon :"+a$+a$+"Position (centre) :"+a$+a$+"X                      Y"
  left 13,250
  top 13,30
  caption 13,"Aperçu :"
  for i=9 to 16
    show i
  next i
  for i=17 to 22
    hide i
  next i
  so=1
end_if
if text$(2)="Image scrollabe (3)"
  ar=1:show 9:hide 34:hide 33:hide 35:hide 36:hide 37:hide 38:hide 39:hide 40:hide 41:hide 43
  top 19,103:top 20,103
  left 19,30:left 20,105
  left 21,70:top 21,131
  top 22,131:left 22,115
  for i=17 to 22
    show i
  next i
  for i=10 to 16
    hide i
  next i
  caption 6,"Code (cliquez sur générer pour afficher)"
  caption 9,"Dimension :"+a$+a$+"X                      Y"+a$+a$+"Position :"+a$+a$+"X                      Y"+a$+a$+"Couleur : "
  so=2
end_if
if text$(2)="Boîte de dialogue couleurs (10)"
  ar=1:show 9:show 33:show 21:show 22:hide 34:hide 35:hide 36:hide 37:hide 38:hide 39:hide 40:hide 41:hide 43
  caption 9,"Couleur par défaut : "+a$+a$+"Titre de la fenêtre : "
  left 21,123:top 21,28
  left 22,168:top 22,28
  left 33,123:top 33,54
  for i=10 to 20
    hide i
  next i
  so=3
end_if
if text$(2)="Bouton Slit (3)"
  ar=1:show 9:show 33:show 19:show 20:show 21:show 22:show 34:hide 35:hide 36:hide 37:hide 38:hide 39:hide 40:hide 41:hide 43
  for i=10 to 18
    hide i
  next i
  caption 9,"Couleur de fond :"+a$+a$+"Longueur : "+a$+a$+"Texte : "+a$+a$+"Position :"+a$+a$+"X                      Y"
  top 19,129:top 20,129
  left 19,30:left 20,105
  top 33,80:left 33,60:text 33,""
  left 21,113:top 21,28
  left 22,158:top 22,28
  so=4
end_if
if text$(2)="Horloge (2 ou 3)"
  ar=1:show 9:show 21:show 22:show 37:show 35:show 36:show 38:hide 33:hide 34:show 19:show 20:show 39:show 40:show 41:show 43
  for i=10 to 18
    hide i
  next i
  caption 9,"Couleur du fond :                                        Largeur du traitde l'horloge et du cadre :"+a$+a$+"Position : X                      Y"+a$+a$+"Pi  ="+a$+a$+"Options :"
  top 21,28:top 22,28
  left 21,105:left 22,150
  j=75
  for i=19 to 20
    top i,52:left i,j:j=j+75
  next i
  text 38,"3.14159265358979323846264337"
  so=5
end_if
if text$(2)<>"Polygone (0)" and text$(2)<>"Image scrollabe (3)" and text$(2)<>"Boîte de dialogue couleurs (10)" and text$(2)<>"Bouton Slit (3)" and text$(2)<>"Horloge (2 ou 3)"
  for i=10 to 22
    hide i
  next i
  hide 33:hide 34
  if ar=1
    font_size 9,12
    caption 9,"Aucun résultat":font_bold 9
    caption 6,"Code"
  end_if
  ar=1
end_if
return

generer:
if so=1
  clear 4
  item_add 4,"dim x0,y0,r,px,py,px2,py2,n,j,pi,a"
  item_add 4,""
  item_add 4,"x0="+str$(position(15))
  item_add 4,"y0="+str$(position(16))
  item_add 4,"r="+str$(position(12))
  item_add 4,"n="+str$(position(10))
  item_add 4,"a="+str$(position(11))
  item_add 4,"pi=3.1415926535898"
  item_add 4,"px=r*cos(a)+x0"
  item_add 4,"py=r*sin(a)+y0"
  item_add 4,"2d_poly_from px,py"
  item_add 4,"for j=1 to n"
  item_add 4,"  px2=r*cos(a+2*pi*j/n)+x0"
  item_add 4,"  py2=r*sin(a+2*pi*j/n)+y0"
  item_add 4,"  2d_poly_to px2,py2"
  item_add 4,"  px=px2"
  item_add 4,"  py=py2"
  item_add 4,"next j"
end_if
if so=2
  clear 4
  item_add 4,"label bar_change"
  item_add 4,""
  item_add 4,"scroll_bar "+numero$
  item_add 4,"left "+numero$+","+str$(position(19))
  item_add 4,"top "+numero$+","+str$(position(18)+position(20))
  item_add 4,"width "+numero$+","+str$(position(17))
  item_add 4,"min "+numero$+",0:max "+numero$+","+str$(position(17))
  item_add 4,"on_change "+numero$+",bar_change"
  item_add 4,""
  item_add 4,"scroll_bar "+str$(val(numero$)+1)
  item_add 4,"vertical "+str$(val(numero$)+1)
  item_add 4,"left "+str$(val(numero$)+1)+","+str$(position(17)+position(19))
  item_add 4,"top "+str$(val(numero$)+1)+","+str$(position(20))
  item_add 4,"height "+str$(val(numero$)+1)+","+str$(position(18))
  item_add 4,"min "+str$(val(numero$)+1)+",0:max "+numero$+","+str$(position(18))
  item_add 4,"on_change "+str$(val(numero$)+1)+",bar_change"
  item_add 4,""
  item_add 4,"picture "+str$(val(numero$)+2)
  item_add 4,"left "+str$(val(numero$)+2)+","+str$(position(19))
  item_add 4,"top "+str$(val(numero$)+2)+","+str$(position(20))
  item_add 4,"width "+str$(val(numero$)+2)+","+str$(position(17))
  item_add 4,"height "+str$(val(numero$)+2)+","+str$(position(18))
  item_add 4,"color "+str$(val(numero$)+2)+","+str$(position(24))+","+str$(position(25))+","+str$(position(26))
  item_add 4,""
  item_add 4,"end"
  item_add 4,""
  item_add 4,"bar_change:"
  item_add 4,"top "+str$(val(numero$)+2)+",position("+str$(val(numero$)+1)+")*-1+"+str$(position(19))
  item_add 4,"height "+str$(val(numero$)+2)+","+str$(position(18))+"+position("+str$(val(numero$)+1)+")"
  item_add 4,"left "+str$(val(numero$)+2)+",position("+numero$+")*-1+"+str$(position(20))
  item_add 4,"width "+str$(val(numero$)+2)+","+str$(position(17))+"+position("+numero$+")"
  item_add 4,"color "+str$(val(numero$)+2)+","+str$(position(24))+","+str$(position(25))+","+str$(position(26))
  item_add 4,"return"
end_if
if so=3
  clear 4
  item_add 4,"label bar_change,spin_change,annule,ok"
  item_add 4,"dim i,j"
  item_add 4,""
  item_add 4,"form "+numero$
  item_add 4,"caption "+numero$+","+chr$(34)+text$(33)+chr$(34)
  item_add 4,"command_target_is "+numero$
  item_add 4,""
  item_add 4,"j=1"
  item_add 4,"for i="+str$(val(numero$)+1)+" to "+str$(val(numero$)+3)
  item_add 4,"  track_bar i:height i,25:min i,0:max i,255:top i,j"
  item_add 4,"  spin i+3:top i+3,j+2:left i+3,150:width i+3,60:min i+3,0:max i+3,255:j=j+30"
  item_add 4,"next i"
  item_add 4,"position "+str$(val(numero$)+1)+","+str$(position(24))
  item_add 4,"position "+str$(val(numero$)+2)+","+str$(position(25))
  item_add 4,"position "+str$(val(numero$)+3)+","+str$(position(26))
  item_add 4,"position "+str$(val(numero$)+4)+","+str$(position(24))
  item_add 4,"position "+str$(val(numero$)+5)+","+str$(position(25))
  item_add 4,"position "+str$(val(numero$)+6)+","+str$(position(26))
  item_add 4,""
  item_add 4,"j=216"
  item_add 4,"for i="+str$(val(numero$)+7)+" to "+str$(val(numero$)+8)
  item_add 4,"  button i:width i,60:left i,j:height i,21:top i,70:j=j+65"
  item_add 4,"next i"
  item_add 4,"caption "+str$(val(numero$)+7)+","+chr$(34)+"Annuler"+chr$(34)+":caption "+str$(val(numero$)+8)+","+chr$(34)+"OK"+chr$(34)
  item_add 4,"on_click "+str$(val(numero$)+7)+",annule:on_click "+str$(val(numero$)+8)+",ok"
  item_add 4,""
  item_add 4,"picture "+str$(val(numero$)+9)
  item_add 4,"left "+str$(val(numero$)+9)+",216"
  item_add 4,"height "+str$(val(numero$)+9)+",59"
  item_add 4,"top "+str$(val(numero$)+9)+",5"
  item_add 4,"width "+str$(val(numero$)+9)+",125"
  item_add 4,"2d_target_is "+str$(val(numero$)+9)
  item_add 4,"2d_fill_color "+str$(position(24))+","+str$(position(25))+","+str$(position(26))
  item_add 4,"2d_rectangle 0,0,125,59"
  item_add 4,""
  item_add 4,"width  "+numero$+",354"
  item_add 4,"height "+numero$+",120"
  item_add 4,"border_small "+numero$
  item_add 4,""
  item_add 4,"for i="+str$(val(numero$)+1)+" to "+str$(val(numero$)+3)
  item_add 4,"  on_change i,bar_change"
  item_add 4,"  on_change i+3,spin_change"
  item_add 4,"next i"
  item_add 4,""
  item_add 4,"end"
  item_add 4,""
  item_add 4,"bar_change:"
  item_add 4,"position "+str$(val(numero$)+4)+",position("+str$(val(numero$)+1)+")"
  item_add 4,"position "+str$(val(numero$)+5)+",position("+str$(val(numero$)+2)+")"
  item_add 4,"position "+str$(val(numero$)+6)+",position("+str$(val(numero$)+3)+")"
  item_add 4,"2d_fill_color position("+str$(val(numero$)+1)+"),position("+str$(val(numero$)+2)+"),position("+str$(val(numero$)+3)+")"
  item_add 4,"2d_target_is "+str$(val(numero$)+9)
  item_add 4,"2d_rectangle 0,0,125,59"
  item_add 4,"return"
  item_add 4,""
  item_add 4,"spin_change:"
  item_add 4,"position "+str$(val(numero$)+1)+",position("+str$(val(numero$)+4)+")"
  item_add 4,"position "+str$(val(numero$)+2)+",position("+str$(val(numero$)+5)+")"
  item_add 4,"position "+str$(val(numero$)+3)+",position("+str$(val(numero$)+6)+")"
  item_add 4,"2d_fill_color position("+str$(val(numero$)+1)+"),position("+str$(val(numero$)+2)+"),position("+str$(val(numero$)+3)+")"
  item_add 4,"2d_target_is "+str$(val(numero$)+9)
  item_add 4,"2d_rectangle 0,0,125,59"
  item_add 4,"return"
  item_add 4,""
  item_add 4,"ok:"
  item_add 4,"hide "+numero$
  item_add 4,"return"
  item_add 4,""
  item_add 4,"annule:"
  item_add 4,"hide "+numero$
  item_add 4,"return"
end_if
if so=4
  clear 4
  item_add 4,"label slit,slit_hide"
  item_add 4,"dim i,j,slit"
  item_add 4,""
  item_add 4,"on_click 0,slit_hide"
  item_add 4,""
  item_add 4,"j="+str$(position(19))
  item_add 4,"for i=1 to 2"
  item_add 4,"  button i:top i,"+str$(position(20))+":left i,j:width i,21:height i,21:j=j+21"
  item_add 4,"next i"
  item_add 4,"width "+str$(val(numero$)+1)+",10:font_size "+str$(val(numero$)+1)+",6:caption 2,"+chr$(34)+"6"+chr$(34)+":font_name "+str$(val(numero$)+1)+","+chr$(34)+"Webdings"+chr$(34)
  item_add 4,"on_click "+str$(val(numero$)+1)+",slit:on_click "+numero$+",slit_hide"
  item_add 4,"caption "+numero$+","+chr$(34)+text$(33)+chr$(34)
  item_add 4,""
  item_add 4,"picture "+str$(val(numero$)+2)
  item_add 4,"hide "+str$(val(numero$)+2)
  item_add 4,"left "+str$(val(numero$)+2)+","+str$(position(19))
  item_add 4,"top "+str$(val(numero$)+2)+","+str$(position(20)+21)
  item_add 4,"width "+str$(val(numero$)+2)+",152"
  item_add 4,"height "+str$(val(numero$)+2)+",23"
  item_add 4,"2d_target_is "+str$(val(numero$)+2)
  item_add 4,"2d_rectangle 0,0,"+str$(position(34))+",23"
  item_add 4,""
  item_add 4,"end"
  item_add 4,""
  item_add 4,"slit:"
  item_add 4,"if slit=0"
  item_add 4,"  show "+str$(val(numero$)+2)
  item_add 4,"  slit=1"
  item_add 4,"else"
  item_add 4,"  hide "+str$(val(numero$)+2)
  item_add 4,"  slit=0"
  item_add 4,"end_if"
  item_add 4,"return"
  item_add 4,""
  item_add 4,"slit_hide:"
  item_add 4,"slit=0:hide "+str$(val(numero$)+2)
  item_add 4,"return"
end_if
if so=5
  clear 4
  item_add 4,"label time"
  item_add 4,"dim i,j,pi,minute,seconde,heure"
  item_add 4,"dim angle_heure,angle_minute,angle_seconde,angle"
  item_add 4,""
  if numeric(text$(38))=0
    item_add 4,"pi = 3.14159265358979323846264337"
  else
    item_add 4,"pi = "+text$(38)
  end_if
  item_add 4,""
  item_add 4,"picture "+numero$
  item_add 4,"left "+numero$+","+str$(position(19))
  item_add 4,"top "+numero$+","+str$(position(20))
  item_add 4,"width "+numero$+",130"
  if checked(36)=1
    item_add 4,"height "+numero$+",131"
  else
    item_add 4,"height "+numero$+",110"
  end_if
  item_add 4,"2d_target_is "+numero$
  item_add 4,"2d_fill_color "+str$(position(24))+","+str$(position(25))+","+str$(position(26))
  item_add 4,""
  if checked(36)=1
    item_add 4,"edit "+str$(val(numero$)+1)
    item_add 4,"left "+str$(val(numero$)+1)+","+str$(position(19)+2)
    item_add 4,"top "+str$(val(numero$)+1)+","+str$(position(20)+108)
    item_add 4,"width "+str$(val(numero$)+1)+",126"
    item_add 4,"text "+str$(val(numero$)+1)+",time$"
    item_add 4,""
    item_add 4,"timer "+str$(val(numero$)+2)
    item_add 4,"timer_interval "+str$(val(numero$)+2)+",500"
    item_add 4,"on_timer "+str$(val(numero$)+2)+",time"
  else
    item_add 4,"timer "+str$(val(numero$)+1)
    item_add 4,"timer_interval "+str$(val(numero$)+1)+",500"
    item_add 4,"on_timer "+str$(val(numero$)+1)+",time"
  end_if
  item_add 4,""
  item_add 4,"end"
  item_add 4,""
  item_add 4,"time:"
  item_add 4,"cls"
  if checked(36)=1
    item_add 4,"text "+str$(val(numero$)+1)+",time$"
  end_if
  item_add 4,"heure=val(left$(time$,2))"
  item_add 4,"minute=val(mid$(time$,4,2))"
  item_add 4,"seconde=val(right$(time$,2))"
  item_add 4,"2d_pen_color 0,0,0"
  item_add 4,"2d_pen_width "+str$(position(41))
  if checked(36)=1
    item_add 4,"2d_rectangle 1,1,130,131"
  else
    item_add 4,"2d_rectangle 1,1,130,110"
  end_if
  item_add 4,"2d_circle 65,55,50"
  item_add 4,""
  item_add 4,"2d_pen_width 2"
  item_add 4,"for i=1 to 12"
  item_add 4,"  angle = i/12*(2*pi)+0.5*pi"
  item_add 4,"  2d_line 65-45*cos(angle),55-45*sin(angle),65-50*cos(angle),55-50*sin(angle)"
  item_add 4,"next i"
  item_add 4,"2d_pen_width 1"
  item_add 4,"for i=1 to 60"
  item_add 4,"  angle = i/60*(2*pi)+0.5*pi"
  item_add 4,"  2d_line 65-47*cos(angle),55-47*sin(angle),65-50*cos(angle),55-50*sin(angle)"
  item_add 4,"next i"
  item_add 4,""
  item_add 4,"if heure>=12 then heure=heure-12"
  if checked(37)=1
    item_add 4,"angle_heure = (heure+minute/60)/12*(2*pi)+0.5*pi"
    item_add 4,"angle_minute = (minute+seconde/60)/60*(2*pi)+0.5*pi"
  else
    item_add 4,"angle_heure = heure/12*(2*pi)+0.5*pi"
    item_add 4,"angle_minute = minute/60*(2*pi)+0.5*pi"
  end_if
  if checked(35)=1
    item_add 4,"angle_seconde = seconde/60*(2*pi)+0.5*pi"
  end_if
  item_add 4,"2d_pen_width 2:2d_line 65,55,65-35*cos(angle_heure),55-35*sin(angle_heure)"
  item_add 4,"2d_line 65,55,65-45*cos(angle_minute),55-45*sin(angle_minute)"
  item_add 4,"2d_pen_color 0,0,255:2d_pen_width 1"
  if checked(35)=1
    item_add 4,"2d_line 65,55,65-45*cos(angle_seconde),55-45*sin(angle_seconde)"
  end_if
  item_add 4,"2d_pen_color 0,0,0"
  item_add 4,"2d_pen_width 7:2d_line 65,55,65,55"
  item_add 4,"return"
end_if
return

spin_change:
position 24,position(27)
position 25,position(28)
position 26,position(29)
2d_fill_color position(24),position(25),position(26)
2d_target_is 32
2d_rectangle 0,0,125,59
return

bar_change:
position 27,position(24)
position 28,position(25)
position 29,position(26)
2d_fill_color position(27),position(28),position(29)
2d_target_is 32
2d_rectangle 0,0,125,59
return

ok:
hide 23
2d_target_is 21
2d_fill_color position(27),position(28),position(29)
2d_rectangle 0,0,40,21
return

colordialog:
show 23
to_foreground 23
return

annule:
hide 23
position 24,color_pixel_red(21,1,1)
position 25,color_pixel_green(21,1,1)
position 26,color_pixel_blue(21,1,1)
return

new:
mess=message_confirmation_yes_no("Voulez-vous vraiment créer un nouveau code?")
if mess=1 then ar=0:clear 4:clear 901:text 2,"":caption 6,"Code":goto choisir
if mess=0 or 2 then return
return

numero:
mess=message_input("Numéro à partir de...","Entrer le numéro du premier objet que le générateur va créer :",numero$)
if (numeric(message_text$))=0 then message "Cette valeur n'est pas numérique!":return
if len(message_text$)>6 then message "Ce numéro est trop élévé!":return
numero$=message_text$
caption 1002,"Numéro d'objet à partir de "+numero$
return

copy:
if count(4)>0
  select_text 4,1,count(4)*100
  clipboard_copy 4
end_if
return

agrandir_code:
if (agrandir=0)
  for i=1 to 22
    hide i
  next i
  for i=33 to 40
    hide i
  next i
  no=1
  hide 700
  full_space 4:show 4
  timer_off 550
  agrandir=1
  caption 1007,"Remettre la taille normale"
else
  no=0
  height 0,screen_y
  width 4,1:height 4,1
  width 0,500:height 0,368
  top 4,211:left 4,5
  width 4,482:height 4,100
  for i=1 to 8
    show i
  next i
  show 700
  timer_on 550
  gosub choisir
  agrandir=0
  caption 1007,"Voir le code en plein écran"
end_if
return

resize:
width 0,500
height 0,368
return

click:
goto agrandir_code
return

blue:
2d_target_is 5:cls
color 6,0,116,255
for i=1 to 125
  2d_pen_color 0,230-i,255
  2d_line 0,126-i,700,126-i
next i
2d_pen_color 0,0,0:2d_line 0,0,492,0
return

red:
2d_target_is 5:cls
color 6,255,116,0
for i=1 to 125
  2d_pen_color 255,230-i,0
  2d_line 0,126-i,700,126-i
next i
2d_pen_color 0,0,0:2d_line 0,0,492,0
return

green:
2d_target_is 5:cls
color 6,0,255,116
for i=1 to 125
  2d_pen_color 0,255,230-i
  2d_line 0,126-i,700,126-i
next i
2d_pen_color 0,0,0:2d_line 0,0,492,0
return

pi_change:
if (numeric(text$(38)))=0 then return
pi2=val(text$(38))
return

time:
if so=5 and no=0
  if checked(36)=1
    show 40:height 39,131
  else
    hide 40:height 39,110
  end_if
end_if
2d_target_is 39:cls
text 40,time$
heure=val(left$(time$,2))
minute=val(mid$(time$,4,2))
seconde=val(right$(time$,2))
2d_fill_color position(24),position(25),position(26)
2d_pen_color 0,0,0
if position(41)<21 and position(41)>0
  2d_pen_width position(41)
else
  2d_pen_width 1
end_if
if checked(36)=1
  2d_rectangle 1,1,130,131
else
  2d_rectangle 1,1,130,110
end_if
2d_circle 65,55,50

if checked(43)=1
  2d_pen_width 2
  for i=1 to 12
    angle = i/12*(2*pi2)+0.5*pi2
    2d_line 65-45*cos(angle),55-45*sin(angle),65-50*cos(angle),55-50*sin(angle)
  next i
  2d_pen_width 1
  for i=1 to 60
    angle = i/60*(2*pi2)+0.5*pi2
    2d_line 65-47*cos(angle),55-47*sin(angle),65-50*cos(angle),55-50*sin(angle)
  next i
end_if

if heure>=12 then heure=heure-12
if checked(37)=1
  angle_heure = (heure+minute/60)/12*(2*pi2)+0.5*pi2
  angle_minute = (minute+seconde/60)/60*(2*pi2)+0.5*pi2
else
  angle_heure = heure/12*(2*pi2)+0.5*pi2
  angle_minute = minute/60*(2*pi2)+0.5*pi2
end_if
if checked(35)=1
  angle_seconde = seconde/60*(2*pi)+0.5*pi2
end_if
2d_pen_width 2:2d_line 65,55,65-35*cos(angle_heure),55-35*sin(angle_heure)
2d_line 65,55,65-45*cos(angle_minute),55-45*sin(angle_minute)
2d_pen_color 0,0,255:2d_pen_width 1
if checked(35)=1
  2d_line 65,55,65-45*cos(angle_seconde),55-45*sin(angle_seconde)
end_if
2d_pen_color 0,0,0
2d_pen_width 7:2d_line 65,55,65,55
return

' aide _________________________________________________________________________

help:
show 500
to_foreground 500
return

help_select:
text 502,item_index$(503):clear 501
if item_index$(503)="Fonctionnement"
  item_add 501,"Fonctionnement":item_add 501,"":item_add 501,"Pour commencer, vous choisissez le pseudo-objet que vous voulez créer. Deuxièmemement, vous changer les propriétés du pseudo-objet. Ensuite vous cliquer sur Générer puis sur Copier pour copier dans le presse-papiers.":item_add 501,"Si vous voulez mettre le code en plein écran aller dans Code/Voir le code en plein écran. Si vous voulez créer un nouveau code cliquez sur Nouveau."
end_if
if item_index$(503)="? Pseudo-objet ?"
  item_add 501,"FAQ  -  Pseudo-objet":item_add 501,"":item_add 501,"Les pseudo-objets sont des objets qui ne sont pas dans Panoramic et qui sont formés d'un ou de plusieurs objets.":item_add 501,"":item_add 501,"Liste des pseudo-objets disponibles :":item_add 501,"":item_add 501,"Polygone":item_add 501,"Image scrollabe":item_add 501,"Boîte de dialogue couleurs":item_add 501,"Bouton Slit":item_add 501,"Horloge"
end_if
if item_index$(503)="Nombre en parenthèse"
  item_add 501,"Nombre en parenthèse":item_add 501,"":item_add 501,"Les nombres en parenthèse indique le nombre d'objet que nécessite le pseudo-objet."
end_if
return

about:
hide 0:hide 23:hide 500
mess=message_information_ok("À propos de PO-GC"+a$+a$+"Auteur : Nicolas Maltais"+a$+"Date de version : 24 décembre 2010"+a$+a$+"License : Open Source")
show 0
return

' Command Console

ccwindow:
show 402
to_foreground 402
set_focus 400
return

command:
if k=0
  if key_up_code=13
    if lower$(text$(400))="quit" then terminate
    if lower$(text$(400))="screen size" then item_add 400,text$(400):item_add 401,"":item_add 401,"X : "+str$(screen_x):item_add 401,"Y : "+str$(screen_y)
    if lower$(left$(text$(400),6))="lower(" and right$(lower$(text$(400)),1)=")" then item_add 400,text$(400):item_add 401,"":item_add 401,lower$(mid$(text$(400),7,len(text$(400))-7))
    if lower$(left$(text$(400),6))="upper(" and right$(lower$(text$(400)),1)=")" then item_add 400,text$(400):item_add 401,"":item_add 401,upper$(mid$(text$(400),7,len(text$(400))-7))
    if lower$(text$(400))="cls" then item_add 400,text$(400):clear 401:item_add 401,"CommandConsole 1.0  -  2010-2011":item_add 401,"Tapez HELP pour obtenir de l'aide."
    if lower$(text$(400))="version" then item_add 400,text$(400):item_add 401,"":item_add 401,"CommandConsole 1.0  -  2010-2011"
    if lower$(text$(400))="help"
      item_add 400,text$(400)
      item_add 401,""
      item_add 401,"CLS : Efface l'historique des commandes."
      item_add 401,"DEL F : Supprimer le fichier F."
      item_add 401,"DIR D : Liste les fichiers du répertoire D."
      item_add 401,"FILE SIZE F : Retourne la taille en octets du fichier F."
      item_add 401,"HELP : Obtient de l'aide"
      item_add 401,"LOWER(T) : Retourne le texte T en minuscules."
      item_add 401,"MKDIR D : Crée le répertoire D."
      item_add 401,"QUIT : Ferme la fenêtre de CommandConsole."
      item_add 401,"SCREEN SIZE : Retourne la largeur et la hauteur de l'écran."
      item_add 401,"UPPER(T) : Retourne le texte T en majuscules."
      item_add 401,"VERSION : Retourne la version actuelle de CommandConsole."
      item_add 401,"VOL : Affiche les volumes et périphériques connectés."
    end_if

    ' fichiers
    if lower$(left$(text$(400),4))="del "
      if len(text$(400))>4
        if file_exists(right$(text$(400),len(text$(400))-4))=1
          item_add 400,text$(400)
          item_add 401,"":item_add 401,"Voulez-vous vraiment supprimer le fichier '"+right$(text$(400),len(text$(400))-4)+"' ? (Y ou N)"
          k=1:s=1:file$=right$(text$(400),len(text$(400))-4)
        else
          item_add 401,"":item_add 401,"Ce fichier n'existe pas!"
        end_if
      end_if
    end_if
    ' répertoires
    if lower$(left$(text$(400),6))="rmdir "
      if len(text$(400))>6
        if dir_exists(right$(text$(400),len(text$(400))-6))=1
          item_add 400,text$(400)
          item_add 401,"":item_add 401,"Voulez-vous vraiment supprimer le répertoire '"+right$(text$(400),len(text$(400))-6)+"' ? (Y ou N)"
          k=1:s=2:dir$=right$(text$(400),len(text$(400))-6)
        else
          item_add 401,"":item_add 401,"Ce répertoire n'existe pas!"
        end_if
      end_if
    end_if
    if lower$(left$(text$(400),10))="file size "
      if len(text$(400))>10
        if file_exists(right$(text$(400),len(text$(400))-10))=1
          item_add 400,text$(400)
          filebin_open_read 1,right$(text$(400),len(text$(400))-10)
          if filebin_size(1)>1
            item_add 401,"":item_add 401,"Taille du fichier '"+right$(text$(400),len(text$(400))-10)+"' : "+str$(filebin_size(1))+" octets"
          else
            item_add 401,"":item_add 401,"Taille du fichier '"+right$(text$(400),len(text$(400))-10)+"' : "+str$(filebin_size(1))+" octet"
          end_if
          filebin_close 1
        else
          item_add 401,"":item_add 401,"Ce fichier n'existe pas!"
        end_if
      end_if
    end_if
    if lower$(left$(text$(400),4))="dir "
      if len(text$(400))>4
        if dir_exists(right$(text$(400),len(text$(400))-4))=1
          item_add 400,text$(400)
          dir_change right$(text$(400),len(text$(400))-4)
          if right$(text$(400),1)<>""
            filebin_open_read 1,right$(text$(400),len(text$(400))-4)+""+file_find_first$
          else
            filebin_open_read 1,right$(text$(400),len(text$(400))-4)+file_find_first$
          end_if
          if filebin_size(1)>1
            item_add 401,"":item_add 401,file_find_first$+" \ "+str$(filebin_size(1))+" octets"
          else
            item_add 401,"":item_add 401,file_find_first$+" \ "+str$(filebin_size(1))+" octet"
          end_if
          filebin_close 1
          b$=file_find_next$
          while b$<>"_"
            if right$(text$(400),1)<>""
              filebin_open_read 1,right$(text$(400),len(text$(400))-4)+""+b$
            else
              filebin_open_read 1,right$(text$(400),len(text$(400))-4)+b$
            end_if
            if filebin_size(1)>1
              item_add 401,b$+" \ "+str$(filebin_size(1))+" octets"
            else
              item_add 401,b$+" \ "+str$(filebin_size(1))+" octet"
            end_if
            filebin_close 1
            b$=file_find_next$
          end_while
          file_find_close
        end_if
      end_if
    end_if
    if lower$(text$(400))="vol"
      item_add 400,text$(400)
      item_add 401,""
      for i=65 to 90
        if dir_exists(chr$(i)+":")=1 then item_add 401,chr$(i)+":"
      next i
    end_if
    if lower$(left$(text$(400),6))="mkdir "
      if len(text$(400))>6
        item_add 400,text$(400)
        item_add 401,"":item_add 401,"Êtes-vous sûr de créer le répertoire '"+right$(text$(400),len(text$(400))-6)+"' ? (Y ou N)"
        k=1:s=3:dir$=right$(text$(400),len(text$(400))-6)
      end_if
    end_if
    text 400,""
  end_if
else
  if s=1
    if key_up_code=13
      if lower$(text$(400))="y" then file_delete file$:item_add 401,"Le fichier '"+file$+"' a été supprimé.":s=0:k=0
      if lower$(text$(400))="n" then item_add 401,"La suppression du fichier '"+file$+"' a été annulée.":s=0:k=0
    end_if
  end_if
  if s=2
    if key_up_code=13
      if lower$(text$(400))="y" then rmdir dir$:item_add 401,"Le répertoire '"+dir$+"' a été supprimé.":s=0:k=0
      if lower$(text$(400))="n" then item_add 401,"La suppression du répertoire '"+dir$+"' a été annulée.":s=0:k=0
    end_if
  end_if
  if s=3
    if key_up_code=13
      if lower$(text$(400))="y" then dir_make dir$:item_add 401,"Le répertoire '"+dir$+"' a été créé.":s=0:k=0
      if lower$(text$(400))="n" then item_add 401,"La création du répertoire '"+dir$+"' a été annulée.":s=0:k=0
    end_if
  end_if
end_if
return

change:
if lower$(text$(400))="help" then font_bold_off 400:font_color 400,255,0,0:return
if lower$(text$(400))="cls" then font_bold 400:return
if lower$(left$(text$(400),7))="lower("+chr$(34) and right$(lower$(text$(400)),2)=chr$(34)+")" then font_color 2,0,0,0:return
if lower$(left$(text$(400),7))="upper("+chr$(34) and right$(lower$(text$(400)),2)=chr$(34)+")" then font_color 2,0,0,0:return
font_color 400,0,0,255:font_bold_off 400
return

Au revoir ! santa
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: Pseudo-objet - Générateur de code   Ven 24 Déc 2010 - 17:46

Le Form 0 est trop petit (500x368) pour tout contenir, alors ça tronque et ça fait apparaître des barres de défilement.
Pas facile à corriger, parce que les dimensions sont redéfinies à plusieurs endroits (3 ?), si je mets 550 x 400 ça me convient mieux.

La fenêtre 'Code' est petite, on n'a pas une vue assez globale du code généré (5 lignes seulement visibles).

Sinon, petit programme sympathique.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Pseudo-objet - Générateur de code   Sam 25 Déc 2010 - 0:46

Très joli, l'objet "horloge". Cela me plaît beaucoup !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: Pseudo-objet - Générateur de code   

Revenir en haut Aller en bas
 
Pseudo-objet - Générateur de code
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Pseudo-objet - Générateur de code
» Vidéos - générateur de code pour vidéo et player
» J'ai 2 code pour avoir 6 razoirs Shick Induition DÉJÀ DONNÉ
» [Nocturne] Demande d'aide pour code css complet s'il vous plait.
» Opération sur objet EDIT

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: