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
» un nouveau editeur panobasic
par Jean Claude Aujourd'hui à 10:18

» Compilateur FBPano
par jean_debord Aujourd'hui à 10:07

» Le compilateur.
par Pedro Alvarez Aujourd'hui à 8:36

» COMPILATEUR V 0.9 beta 7 du 10 aout 2017
par Jack Hier à 20:23

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Hier à 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Hier à 19:58

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

» Troncature dans une image
par JL35 Mer 9 Aoû 2017 - 13:45

» A chacun son point de vue
par papydall Mar 8 Aoû 2017 - 17:20

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 pentographe/icone

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



MessageSujet: pentographe/icone   Dim 23 Jan 2011 - 21:18

Ce programme n' a aucun intérêt à mon sens pour le forum, et il n'était pas destiné à être publié. Il n'a comme fonction de faire des micro-icônes pour aller avec le programme que j'ai publié: icone à glissière, dont je me doute bien que personne n'utilise.
Mais ce principe je l'utilise pour mon programme ne cours.

Mais j'ai eu une idée pour pouvoir dessiner selon un dessin, et j'ai trouvé l'idée pas mal, et cela peut donner des idées pour autre chose.
voici ce que cela représente:


Ce qui est intéressant est le trait horizontal rouge, et le trait vertical rouge de l'image de gauche. Il suit le curseur sur l'image de la forme principal, et permet de copier le dessin.
L'icône réel est en fait à côté de "A"
Code:

' programme pour tester flood en mode commande
width 0,600:left 0,650 :height 0,530 :' 530
error_french
dim x%,y% ,x0%,y0%,x1%,y1% , x2%,y2%, a%,b%,a$,b$ ,rouge$,vert$,bleu$ ,color% ,couleur$ ,code$ ,rouge%,vert%,bleu%
dim fr%,fv%,fb% ,flood_color$ ,plouf%  ,f$ ,flag% ,pr%,pg%,pb%,pt% ,lg% ,liste_nb%
label mouse ,couleur_ligne ,couleur_fill , couleur_flood, color,color_ini, color_suite ,cercle ,efface,save,load
label fonte_nom , fonte_gras , fonte_italic ,size ,fonte_go , ouvre_texte ,controle ,annule_go ,point_icone
label pixel_story ,annule_txt ,couleur_txt ,width_line,recom_fin , image ,cadre ,g,d,h,b ,point_bouton,objet,copier
label delmemo

dim p%(10) , i%(10),ligne%,v%,c$ ,c% ,tempo%  ,d$ ,gras% ,font_nom$ ,italic% ,size%,color_txt$,tr%,tv%,tb%,d% ,a1%,c1%

data blanc,noir,jaune,vertgris,bleu,rouge,grisclair,grisfonce,marron,vertflash,orange,violet,orangeclair,rougerose
' label blanc,noir,jaune,vertgris,bleu,rouge,grisclair,grisfonce,marron,vertflash,orange,violet,orangeclair,rougerose
label point,rectangle,ligne ,flood ,decodage,recom ,tempo ,grille ,ok_timer

picture  1:top 1,100:left 1,10:width 1,150:height 1,150:hint 1,"1":on_click 1,point : 2d_target_is 1 :cursor_cross 1
alpha    2:left 2,10:font_size 2,11 :width 2,200:font_bold 2
button  3:left 3,320:top 3, 5:width 3,50:caption 3,"ligne"    :on_click 3,couleur_ligne
button  4:left 4,380:top 4, 5:width 4,50:caption 4,"fill"      :on_click 4,couleur_fill
button  9:left 9,440:top 9, 5:width 9,50:caption 9,"flood"    :on_click 9,couleur_flood
button  66:left 66,500:top 66,5:width 66,50:caption 66,"texte"  :on_click 66,couleur_txt

rem form pour loupe du curseur
form    85:left 85,260:width 85,360:height 85,380:border_small 85
picture 86:parent 86,85:left 86,10:top 86,10:width 86,300:height 86,300 :stretch_on 86
picture 87:parent 87,85:left 87,10:top 87,10:width 87,1:height 87,300:color 87,255,0,0
picture 88:parent 88,85:left 88,10:top 88,10:width 88,300:height 88,1:color 88,255,0,0

timer    6:TIMER_INTERVAL 6,150

dlist    7:for a%=1 to 14 :read a$ :item_add 7,a$ :next a%
memo    8:left 8,250:top 8,70:width 8,320:height 8,410:font_size 8,16:font_bold 8:bar_horizontal 8:font_color 8,255,0,0
            item_add 8,"mettre en 1er le nom de l'icône":item_add 8,"":item_add 8,"clic ici":on_click 8,delmemo

picture 32:top 32,35:left 32,380:width 32,30:height 32,30:hint 32,"couleur ligne"
picture 33:top 33,35:left 33,420:width 33,30:height 33,30:hint 33,"couleur fill"
picture 34:top 34,35:left 34,460:width 34,30:height 34,30:hint 34,"couleur flood"

rem les carrés de couleur                                                                    '
picture 10:top 10,35:height 10,28:width 10,370:color 10,0,0,0 :' zone noire pour carrés couleur
          2d_target_is 10:2d_pen_color 255,255,255:2d_fill_color 0,0,0:2d_rectangle 38,3,61,25
for a%=11 to 24
  picture a%:top a%,40: left a%,(a%-10)*25-10 :width a%,18:height a%,18 :on_click a%,color
  gosub color_ini :color a%,val(rouge$),val(vert$),val(bleu$)
next a%

' containeur trait
container 74:top 74,130:left 74,197:width 74,50:height 74,80:caption 74,"trait":hint 74,"épaisseur du trait (2D_PEN_WIDTH )"
  spin    72:parent 72,74:left 72,7:top 72,22:width 72,38:max 72,20:position 72,3
  button  73:parent 73,74:left 73,10:top 73,52:width 73,30:height 73,18:caption 73,"trait":on_click 73,width_line

' --------------------------------------------------------------------------------
rem les boutons picture commande                                                  '

picture 25:left 25,170:top 25,100:width 25,25:height 25,25
  2d_target_is 25:2d_pen_width 3:2d_fill_color 255,255,200: 2d_rectangle 0,0,25,25:hint 25,"rectangle"
  2d_rectangle 5,7,20,18 :on_click 25,rectangle
 
button  26:left 26,166:top 26,130:width 26,31:height 26,25:caption 26,"ligne" : on_click 26,ligne
  ' emploi d'un bouton pour permettre de "ligner" de point en point, en appuyant sur RETURN
  ' ce que ne permet pas un picture
 
picture 27:left 27,170:top 27,160:width 27,25:height 27,25:color 27,255,255,200:hint 27,"remplir"
  2d_target_is 27:2d_rectangle 0,0,25,25:2d_pen_width 3
  2d_line 6,6,20,10:2d_line 20,10,18,20: 2d_line 18,20,8,17:2d_line 8,17,6,6:2d_flood 15,15,255,200,0
  on_click 27,flood
 
picture 28:left 28,170:top 28,190:width 28,25:height 28,25:color 28,255,255,200:hint 28,"cercle"
  2d_target_is 28:2d_rectangle 0,0,25,25:2d_pen_width 3:2d_circle 12,12,8
  on_click 28,cercle
 
picture 29:left 29,170:top 29,220:width 29,25:height 29,25:color 29,255,255,200:hint 29,"texte"
  2d_target_is 29:2d_rectangle 0,0,25,25
  font_size 29,15:font_bold 29:font_color 29,255,0,0:print_target_is 29:print_locate 5,1:print "A"
  2d_line 0,24,25,24 : on_click 29,ouvre_texte

button  78:left 78,170:top 78,255:width 78,35:caption 78,"cadre":on_click 78,cadre
' --
picture 61:left 61,210:top 61,220:width 61,30:height 61,30:hint 61,"61"

rem photo                                                                  '
PICTURE 30:left 30,10:top 30,100:width 30,150:height 30,150:STRETCH_ON 30
open_dialog 31

 
button 42 :left 42, 90:top 42,290:width 42,60:caption 42,"reprendre":on_click 42,recom
button 41 :left 41,160:top 41,290:width 41,60:caption 41,"efface":hint 41,"efface le dernier tracé":on_click 41,efface

button 43 :left 43, 90:top 43,330:width 43,60:caption 43,"sauve"    :on_click 43,save
button 44 :left 44,160:top 44,330:width 44,60:caption 44,"lecture"  :on_click 44,load
save_dialog 45

container 50:top 50,400:width 50,150:height 50,60:caption 50,"nom de la variable de l'icône"
edit  49:parent 49,50:top 49,20:left 49,20:width 49,90:font_size 49,12:text 49,"ico"
button 51:parent 51,50:top 51,20:left 51,120:width 51,20:height 51,20:caption 51,"!":on_click 51,objet

' pour TEXTE
container 55:top 55,260:left 55,10:width 55,230:height 55,200:caption 55,"paramètres texte":hide 55
combo  46:parent 46,55 :left 46, 70:top 46,15:width 46,150:FONT_NAMES_LOAD 46:on_click 46,fonte_nom
spin    47:parent 47,55 :left 47,10:top 47,15:width 47,40:max 47,30:min 47,5:position 47,12:on_change 47,size
alpha  56:parent 56,55 :left 56,10:top 56,40:width 56,20:font_size 56,18:font_bold 56:caption 56,"G":color 56,204,204,204
alpha  57:parent 57,55 :left 57,40:top 57,40:width 56,20:font_size 57,18:font_bold 57:caption 57,"I":color 57,204,204,204

edit    59:parent 59,55 :left 59,10:top 59,70:width 59,210:height 59,120:on_change 59,controle
button  60:parent 60,55 :left 60,180:top 60,40:width 60,30:caption 60,"go":on_click 60,fonte_go
button  63:parent 63,55 :left 63,140:top 63,40:width 63,30:caption 63,"X" :on_click 63,annule_go
rem picture voir le texte
picture 62:parent 62,55:left 62,60:top 62,130:width 62,30:height 62,30:hint 62,"62":on_click 62,point_icone:cursor_cross 62
  button  80:parent 80,55:left 80, 35:top 80,135:width 80,20:height 80,20:caption 80,"<" :on_click 80,g
  button  81:parent 81,55:left 81,100:top 81,135:width 81,20:height 81,20:caption 81,">" :on_click 81,d
  button  82:parent 82,55:left 82,65 :top 82,100:width 82,20:height 82,20:caption 82,"/":on_click 82,h
  button  83:parent 83,55:left 83,65 :top 83,170:width 83,20:height 83,20:caption 83,"\/":on_click 83,b

button  65:top 65,420:left 65,165:width 65,80:caption 65,"annule TXT":on_click 65,annule_txt:inactive 65
button  84:top 84,450:left 84,165:width 84,80:caption 84,"copier":hint 84,"copie le code des commandes générées"
            on_click 84,copier


' form 100:width 100,400:height 100,500:font_size 100,12
' memo 101:parent 101,100:full_space 101

rem                                                                                            '
dlist 67
rem                                                                                            '
check  68:left 68,0 :top 68,70:caption 68,"horiz":width 68,40
check  69:left 69,50 :top 69,70:caption 69,"verti":width 69,40
check  70:left 70,100:top 70,70:caption 70,"grille":width 70,40
check  71:left 71,145:top 71,70:caption 71,"timer" :width 71,40:on_click 71,ok_timer

container 77:left 77,197:top 77,65:width 77,50:height 77,60
check    75:parent 75,77:left 75,5:top 75,10:caption 75,"image":width 75,40
button    76:parent 76,77:left 76,5:top 76,35:width 76,40:height 76,20:caption 76,"load":on_click 76,image


on_click 56,fonte_gras :on_click 57,fonte_italic
' --------------------------------------------

hide 30

on_timer 6,mouse:mark_on 71: timer_on 6
end
' =============&&&&&&&&&&&=============&&&&&&&&&&&=============&&&&&&&&&&&=============&&&&&&&&&&&=============


delmemo:
clear 8:font_size 8,10:font_color 8,0,0,0:off_click 8

return

image:
  filter 31,"choisir image|*.bmp;*.jpg"
  f$= file_name$(31)
  if f$<>"_" then file_load 30,f$ :file_load 86,f$
  hide 30
return
' ========================================================
tempo:
  tempo%=-1-tempo%
  if tempo%=-1 then timer_off 6:else:timer_on 6
return
ok_timer:
  if checked(71)=1 then timer_on 6
mouse:
  if checked(71)=0 then timer_off 6
  if show(1)=1
      x%=mouse_x_position(1)  :  y%=MOUSE_Y_POSITION(1)
  else
      x%=mouse_x_position(30)  :  y%=MOUSE_Y_POSITION(30)
  end_if
  left 87,x%*2+10:top 88,y%*2+10
  pr%=COLOR_PIXEL_RED(1,x%,y%)
  pg%=COLOR_PIXEL_GREEN(1,x%,y%)
  pb%=COLOR_PIXEL_BLUE(1,x%,y%)
  caption 2,"x:"+str$(x%)+" y:"+str$(y%)+ "  début:"+str$(x1%)+", "+str$(y1%)+"  fin:"+str$(x2%)+", "+str$(y2%) + chr$(13) + str$( int(x%/5) )+"  "+ str$ (int (y%/5) )

  flag%=flag%+1
  if checked(75)=1
      if flag%=>30 then show 30:wait 500:flag%=0:else:hide 30
  end_if
return

copier:
  if count(8)>0
      b%=0:for a%=1 to count(8):b%=b%+len( item_read$(8,a%)):next a%
      SELECT_TEXT 8,1,b%+100
      clipboard_copy 8
  end_if
return

' ------------------------------
width_line:
  item_add 8,"2d_pen_width "+str$( position(72))
return

rectangle:
  2d_target_is 1:2d_pen_width 5:2d_rectangle x1%,y1%,x2%,y2%
  code$="2d_rectangle "+str$(int(x1%/5))+","+str$(int(y1%/5))+","+str$(int(x2%/5))+","+str$(int(y2%/5))
  item_add 8,code$ : plouf%=25 :gosub recom
return

ligne:
  timer_off 6
  2d_target_is 1
  code$="2d_line "+str$(x1%/5)+","+str$(y1%/5)+","+str$(x2%/5)+","+str$(y2%/5)
  2d_pen_width 5  : 2d_line x1%,y1%,x2%,y2% : x1%=x2%:y1%=y2%:plouf%=26
  item_add 8,code$ :gosub recom
  timer_on 6
return
' --
flood:
  2d_target_is 1
  2d_pen_color pr%,pg%,pb% :2d_fill_color pr%,pg%,pb%:2d_rectangle x%-4,y%-4,x%+4,y%+4 :wait 100
  2d_flood x2%+2,y2%+2,fr%,fv%,fb%
  code$="2d_flood "+str$(int(x2%/5))+","+str$(int(y2%/5))+flood_color$
  item_add 8,code$ :gosub recom
return
' ---
cercle:
  2d_target_is 1:2d_pen_width 5:2d_circle x1%,y1%,abs( x2%-x1%)
  code$="2d_circle " + str$(int(x1%/5)) + "," + str$(int(y1%/5)) + "," + str$( int(abs(x2%-x1%)/5) )
  item_add 8,code$ :gosub recom
return
' ______________
couleur_ligne:
  code$="2d_pen_color "+rouge$+","+vert$+","+bleu$
  item_add 8,code$
  color 32,rouge%,vert%,bleu%
  2d_target_is 1 :2d_pen_color rouge%,vert%,bleu%
return
couleur_fill:
  code$="2d_fill_color "+rouge$+","+vert$+","+bleu$
  item_add 8,code$
  color 33,rouge%,vert%,bleu%
  2d_target_is 1 :2d_fill_color rouge%,vert%,bleu%
return
couleur_flood:
  flood_color$=","+rouge$+","+vert$+","+bleu$:fr%=val(rouge$):fv%=val(vert$):fb%=val(bleu$)
  color 34,rouge%,vert%,bleu%
return
couleur_txt:
  code$="2d_pen_color "+rouge$+","+vert$+","+bleu$
  item_add 8,code$
  color 32,rouge%,vert%,bleu%
  2d_target_is 1 :2d_pen_color rouge%,vert%,bleu%
return
' --
point:
  if x1%=0 then x1%=x%
  if y1%=0 then y1%=y%
  if checked(69)=1 then x%=x2%
  if checked(68)=1 then y%=y2%
  x1%=x2%:y1%=y2%
  x2%=x% : y2%=y%
  2d_target_is 1:2d_pen_width 1 :2d_line x%-4,y%,x%+4,y%:2d_line x%,y%-4,x%,y%+4
return

rem couleur                                                                                  '
' ===============================================================
color_ini:
color%=a%:goto color_suite
color:
color%=number_click
color_suite:
select color%
  case 11 : rouge$="255":vert$="255":bleu$="255" : couleur$=" "+rouge$+","+vert$+","+bleu$:' blanc
  case 12 : rouge$="0"  :vert$="0"  :bleu$="0"  : couleur$=" "+rouge$+","+vert$+","+bleu$:' noir
  case 13 : rouge$="160":vert$="162":bleu$="48"  : couleur$=" "+rouge$+","+vert$+","+bleu$:' vertgris
  case 14 : rouge$="255":vert$="255":bleu$="140" : couleur$=" "+rouge$+","+vert$+","+bleu$:' jaune
  case 15 : rouge$="150":vert$="210":bleu$="240" : couleur$=" "+rouge$+","+vert$+","+bleu$:' bleu
  case 16 : rouge$="255":vert$="0"  :bleu$="0"  : couleur$=" "+rouge$+","+vert$+","+bleu$:' rouge
  case 17 : rouge$="200":vert$="200":bleu$="200" : couleur$=" "+rouge$+","+vert$+","+bleu$:' grisclair
  case 18 : rouge$="150":vert$="150":bleu$="150" : couleur$=" "+rouge$+","+vert$+","+bleu$:' grisfonce
  case 19 : rouge$="200":vert$="134":bleu$="65"  : couleur$=" "+rouge$+","+vert$+","+bleu$:' marron
  case 20 : rouge$="0"  :vert$="196":bleu$="0"  : couleur$=" "+rouge$+","+vert$+","+bleu$:' vertflash
  case 21 : rouge$="255":vert$="200":bleu$="0"  : couleur$=" "+rouge$+","+vert$+","+bleu$:' orange
  case 22 : rouge$="145":vert$="73" :bleu$="250" : couleur$=" "+rouge$+","+vert$+","+bleu$:' violet
  case 23 : rouge$="255":vert$="218":bleu$="169" : couleur$=" "+rouge$+","+vert$+","+bleu$:' orangeclair
  case 24 : rouge$="247":vert$="121":bleu$="132" : couleur$=" "+rouge$+","+vert$+","+bleu$:' rougerose
end_select
rouge%=val(rouge$) :vert%=val(vert$) :bleu%=val(bleu$)
return

save:
  if count(8)>0
      filter 45,"sauvegarde du fichier|*.cde"
      f$=file_name$(45)
      if f$<>"_"
        if right$(f$,4)<>".cde" then f$=f$+".cde"
        file_save 8,f$
      end_if
  end_if
return
load:
  filter 31,"lecture d'un fichier 2D icône|*.cde"
  f$=file_name$(31)
  if f$<>"_"
      if right$(f$,4)<>".cde" then f$=f$+".cde"
      file_load 8,f$
  end_if
return
' -----------------------------------------------------------------------------

recom:
  ' initialisation de départ
  2d_target_is 61:2d_clear : 2d_pen_width 1:2d_pen_color 0,0,0:2d_fill_color 255,255,255
  2d_target_is  1:2d_clear : 2d_pen_width 5:2d_pen_color 0,0,0:2d_fill_color 255,255,255
  if count(8)>0
      timer_off 6

      for ligne%=1 to count(8)
        code$=item_read$(8,ligne%) :' message code$
        if left$(code$,5)="font_" or left$(code$,5)="print" or left$(code$,7)="icone$="
            if left$(code$,7)="icone$="
              a$=mid$(code$,10,50) : b$=left$(a$,instr(a$,"]")-1) :a$=mid$(a$,instr(a$,"]")+1,50)
              if instr(a$,"gosub") >0 then a$=left$(a$, instr(a$,"gosub") -1)
              lg%=val(b$):b%=1 :gosub pixel_story
            end_if
        else
            gosub decodage
            if left$(code$,8)="2d_pen_w"
              v%=p%(1)*5:if v%>20 then v%=20
              2d_target_is 1:2d_pen_width v% : 2d_target_is 61:2d_pen_width p%(1):goto recom_fin
            end_if
            if left$(code$,6)="2d_pen" then 2d_target_is 1:2d_pen_color p%(1),p%(2),p%(3) :2d_target_is 61 :2d_pen_color p%(1),p%(2),p%(3)
            if left$(code$,6)="2d_fil" then 2d_target_is 1:2d_fill_color p%(1),p%(2),p%(3):2d_target_is 61 :2d_fill_color p%(1),p%(2),p%(3)
            if left$(code$,6)="2d_lin" then 2d_target_is 1:2d_line i%(1),i%(2),i%(3),i%(4):2d_target_is 61 :2d_line p%(1),p%(2),p%(3),p%(4)
            if left$(code$,6)="2d_rec" then 2d_target_is 1:2d_rectangle i%(1),i%(2),i%(3),i%(4):2d_target_is 61:2d_rectangle p%(1),p%(2),p%(3),p%(4)
            if left$(code$,6)="2d_cir" then 2d_target_is 1:2d_circle i%(1),i%(2),i%(3)        :2d_target_is 61:2d_circle p%(1),p%(2),p%(3)
            if left$(code$,6)="2d_flo" then 2d_target_is 1:2d_flood i%(1),i%(2),p%(3),p%(4),p%(5):2d_target_is 61:2d_flood p%(1),p%(2),p%(3),p%(4),p%(5)
        end_if
        recom_fin:
      next ligne%
      timer_on 6
  end_if
  if checked(70)=1 then gosub grille
return
decodage:
  code$=item_read$(8,ligne%)
  if code$<>""
      v%=instr(code$," ")
      b$=left$(code$,v%-1)
      a$=mid$(code$,v%+1,len(code$)-v%):b%=0
      repeat
        v%=instr(a$,",")
        if v%>0
            c$=left$(a$,v%-1) :  b%=b%+1
            if numeric(c$)=1 then p%(b%)=val(c$) :i%(b%)=int(val(c$)*5)
            a$=mid$(a$,v%+1,20)
        end_if
      until v%=0
      if numeric(a$)=1 then b%=b%+1:p%(b%)=val(a$) :i%(b%)=int(val(a$)*5)
  end_if
return

rem texte                                                                                                    *

pixel_story:
if b%>0
  2d_target_is 61 :' 2d_pen_color 0,0,255
  b%=val( left$(a$,2)) : a$= mid$(a$,3,50)
  for a%=1 to len(a$)
      if mid$(a$,a%,1)="1"
        2d_point a%+b%,lg%
      end_if
  next a%
'  return
  2d_target_is 1  : pt%=lg%*5
  for c%=0 to 4
      for a%=1 to len(a$) :' horiz
        if mid$(a$,a%,1)="1"
            2d_point (a%+b%)*5+c%,pt%:2d_point (a%+b%)*5+c%,pt%+1:2d_point (a%+b%)*5+c%,pt%+2
            2d_point (a%+b%)*5+c%,pt%+3:2d_point (a%+b%)*5+c%,pt%+4
        end_if
      next a%
  next c%
 
end_if
return

rem placement et déplacement texte/icone
g:
  x2%=x2%-1:gosub point_bouton
return
d:
  if x2%<29 then x2%=x2%+1:gosub point_bouton
return
h:
  y2%=y2%-1              :gosub point_bouton
return
b:
  if y2%<29 then y2%=y2%+1:gosub point_bouton
return

point_icone:
  x2%=mouse_x_position(62)*5  :  y2%=MOUSE_Y_POSITION(62)*5
point_bouton:
  caption 2,"  fin:"+str$(x2%)+" , "+str$(y2%)
  2d_target_is 62:2d_clear
  print_locate x2%/5,y2%/5:print text$(59)
return
rem                                    '

annule_go:
  hide 55
return
' ===========================================================================
annule_txt:
  if count(8)>liste_nb%
      repeat
        item_delete 8,count(8)
      until count(8)=liste_nb%
  end_if
  if count(8)=0 then inactive 65
return
fonte_go:
  timer_off 6
  liste_nb%=count(8)
  ' mettre en place les textes
  size%=position(47)
      if text$(59)<>""

        clear 67:c1%=30 :b%=0:d%=0
        for lg%=0 to 29 :b%=0:a$=""  :' verticalement
            for a%=0 to 29 :' horizontalement
              if color_pixel_red(62,a%,lg%)=255
                  a$=a$+"0"
              else
                  a$=a$+"1" :b%=1:if d%=0 then d%=lg%
              end_if
            next a%
            if b%=1 then item_add 67,a$
            a$=""
        next lg%
        c1%=30
      '                                          '
        if count(67)>0
            c1%=30
            for a%=1 to count(67)
              b%=instr(item_read$(67,a%),"1")
              if c1%>b% and b%>0 then c1%=b%
            next a%
            ' -------------------------------------------------
            if c1%>0
              for a1%=1 to count(67)
                  a$=item_read$(67,a1%)
                  a$=mid$(a$,c1%,30)
                  while right$(a$,1)="0"
                    a$=left$(a$,len(a$)-1)
                  end_while
                  item_delete 67,a1%:item_insert 67,a1%,a$
                  if variable("trace")=1 then mark_off 71:mark_on objeTron%+3: mark_on trace
                  rem                                                              '
                  item_add 8,"icone$="+chr$(34)+"["+str$(d%+a1%-1) + "]" + right$("00" + str$(c1%) ,2) + a$+chr$(34)+":gosub forcer_texte"
                  rem                                                              '
                  if variable("trace")=1 then mark_off trace
                  gosub pixel_story
              next a1%
            end_if
        end_if
      end_if
  active 65:hide 55 : gosub recom
  timer_on 6
return
controle:
  print_target_is 62 :2d_target_is 62:2d_clear
  print_locate x2%/5,y2%/5:print text$(59)
return
ouvre_texte:
  show 55
return
fonte_nom:
  font_name 59,item_index$(46):font_nom$=item_index$(46):font_name 62,font_nom$:gosub controle:' font_name 64,font_nom$
return
fonte_gras:
  gras%=-1-gras%
  if gras%= -1
      font_bold 59:font_bold 62:font_color 56,255,0,0 :' font_bold 64
  else
      font_bold_off 59:font_bold_off 62:font_color 56,0,0,0 :' font_bold_off 64
  end_if
  gosub controle
return
fonte_italic:
  italic%=-1-italic%
  if italic%=-1
      font_italic 59:font_italic 62:font_color 57,255,0,0 :' font_italic 64
  else
      font_italic_off 59:font_italic_off 62:font_color 57,0,0,0  :' font_italic_off 64
  end_if
  gosub controle
return
size:
  font_size 59,position(47):size%=position(47):font_size 62,size%:gosub controle  :' font_size 64,size%
return
objet:
  item_add 8,"2d_target_is "+text$(49):return

rem                                                                                                    *
' ================================
grille:
  2d_target_is 1:2d_pen_width 1:2d_pen_color 0,0,255
  for a%=0 to 151 step 5
      2d_line a%,0,a%,150
      2d_line 0,a%,150,a%
  next a%
return
' ================================

efface:
  if count(8)>0 then item_delete 8,count(8)
return
' ================================
cadre:
  2d_target_is 61:2d_pen_color 200,200,200:2d_pen_width 2:2d_line 0,0,29,0:2d_line 1,1,1,30:2d_line 1,2,28,2
  2d_line 1,3,25,3:2d_line 2,1,2,28:2d_line 3,3,3,26:2d_pen_color 150,150,150:2d_line 29,1,29,28
  2d_line 28,2,28,27:2d_line 27,3,27,26:2d_line 3,27,27,27:2d_line 2,28,27,28:2d_line 1,29,29,29
  ' --------picture 1 en gros ----------------
 
  2d_target_is 1
  2d_pen_color 200,200,200
  2d_pen_width 10
  2d_line 0    ,  0    ,  29*5  ,  0
  2d_line 1*5  ,  1*5  ,  1*5  ,  30*5
  2d_line 1*5  ,  2*5  ,  28*5  ,  2*5
 
  2d_line 1*5  ,  3*5  ,  25*5  ,  3*5
  2d_line 2*5  ,  1*5  ,  2*5  ,  28*5
  2d_line 3*5  ,  3*5  ,  3*5  ,  26*5
 
2d_pen_color 150,150,150
  2d_line 29*5  ,  1*5  ,  29*5  ,  28*5
  2d_line 28*5  ,  2*5  ,  28*5  ,  27*5
  2d_line 27*5  ,  3*5  ,  27*5  ,  26*5
 
  2d_line 4*5  ,  27*5  ,  27*5  ,  27*5
  2d_line 3*5  ,  28*5  ,  27*5  ,  28*5
  2d_line 2*5  ,  29*5  ,  29*5  ,  29*5
return

J'ai pas mis d'explication, c'est juste pour étudier le principe.
Mais si cela vous intéresse, alors, comment se servir du programme.

Ce programme a été fait pour remplacer celui qui me posait problème avec la commande flood, dont je me suis entretenu il y a quelques jours.

Ce qu'il faut surtout regarder c'est la partie timer, qui gère la position du curseur.
refais le copiage du programme, en espérant que cela fonctionne maintenant.


Dernière édition par cosmos70 le Dim 23 Jan 2011 - 21:43, édité 1 fois
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: pentographe/icone   Dim 23 Jan 2011 - 21:25

Idée intéressante, mais erreur 'Label non déclaré ligne 7'
Pardon, mon copier/coller était incomplet, je revois ça.

-> instruction inconnue ligne 50: container au lieu de container_option ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: pentographe/icone   Dim 23 Jan 2011 - 21:40

J'ai oublié de mettre une image, celle du crayon pour faire des essais.

Elle bien grosse cette image,(surprise - tant pis)
Il n'y a pas de container_option, seulement des container.

Je vais refaire le copier coller du programme, cela fonctionne chez moi.
Revenir en haut Aller en bas
JL35



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

MessageSujet: Re: pentographe/icone   Dim 23 Jan 2011 - 22:17

J'ai toujours cette erreur 'Instruction inconnue ligne 49', je cite la ligne:
Code:
container 74:top 74,130:left 74,197:width 74,50:height 74,80:caption 74,"trait":hint 74,"épaisseur du trait (2D_PEN_WIDTH )"
container tout seul, ça n'existe pas ?

Ouille ! j'ai l'impression que je suis reparti sur une vieille version de l'éditeur (29 novembre ...)
Ne bouge pas, je revois ça de plus près.

Effectivement, avec la dernière version du 10 décembre ça va mieux, pas d'erreur ! je ne sais pas comment j'ai fait mon compte pour reculer d'une version...
Bizarre quand même cet objet 'container' qui ne fait plus d'erreur, mais qui ne figure pas dans la doc incluse... je vais regarder dans la rubrique 'nouvelles versions'.
PS ça y est j'ai trouvé container dans 'ce qui est en cours'.

Bon, je regarde un peu le programme.

Amusant ce suivi du réticule à gauche, à priori je ne vois pas trop ce que je pourrai en faire, mais ça peut donner des idées... à suivre. Et c'est bien présenté en tout cas.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: pentographe/icone   Lun 24 Jan 2011 - 4:47

Je crois qu'il serait bon que l'on publit avec chaque programme, la version qui a été utilisée.

C'est pas la première fois que cela arrive.
En fait l'idée du réticule m'étais venu bien avant. Je l'utilisais pour l'éditeur de Panoramic que j'étais en train de construire avant que l'éditeur ne plante avec la perte de la grosse partie de mes programmes, et comme tous les moyens devaient être utilisé pour augmenté la vitesse, et aussi pour éviter les flasches lors de la mise à jour d'un picture, je me servais de ce principe pour enserrer la ligne.

C'est voulant une sorte de loupe que cela m'es revenu en tête.
un exemple d'utilisation:




pour suivre une ligne sur un picture, il n'y a pas mieux
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: pentographe/icone   

Revenir en haut Aller en bas
 
pentographe/icone
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] icone shredder
» icone action
» icone(RESOLU par Migau)
» icone de bureau ?????????????????
» mon icone de TMC a disparu

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