Forum Liberty Basic France

Projets open source » Mini Editeur de schémas de mailles Permet d'éditer des séquences de tricotage
Le 18/08/2020 à 10h23

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
Reprise du message précédent

Ajout de la sauvegarde de la grille (en ".bmp" dans le dossier)
Si tu veux agrandir, dis en combien tu le veux, j'ai commencé de tout mettre en relatif pour maîtriser la taille avec deux paramètres (le nombre de cases en x et y)
Qu'est-ce qu'on peut ajouter ? (j'aime bien ajouter)
Code VB :
 
     nomainwin
    WindowWidth = 600: WindowHeight = 565
    UpperLeftX = (DisplayWidth-WindowWidth) / 3
    UpperLeftY = 5 '(DisplayHeight-WindowHeight) / 2
    dcx = 21: dcy=30  'size of a cell in pixels
    MapWidth = 18*dcx: MapHeight = 16*dcy
    graphicbox #w.col, 5, 30, WindowWidth-78, 10
    graphicbox #w.map, 5, 40, MapWidth, MapHeight
    graphicbox #w.comb, 410, 40, 150, 300
    button #w.s, "Save bmp", [savebmp], UL, WindowWidth-150, WindowHeight-80, 70, 25
    open "    TEST GRID Coord..." for window_nf as #w  'graphics_nf_nsb
    #w "trapclose [quit]"
    #w.map "down; fill white"
    #w.map "backcolor lightgray; color lightgray"
    #w.map "when leftButtonDown [Mark]"
    #w.comb, "down;fill lightgray": #w.comb, "when leftButtonDown [sel]"
    #w.comb, "when rightButtonDown [coord]"
    gosub [col]
   dos$ = "STMailles\Maille"
   x=5: y=5: d=0
   for a=2 to 8 ' tableau des distances 1er colonne
     ax(a)=5: ay(a)=y+d
     d=d+40
   next a
   dim a1x(20): dim a1y(20): d=0' tableau des distances 2eme colonne
   for a=9 to 15
     a1x(a)=30: a1y(a)=y+d
     d=d+40
   next a
   dim a3x(32): dim a3y(32): d=0
   for a=28 to 30 ' distances 3eme colonne
     a3x(a)=70: a3y(a)=y+d
     d=d+40
   next a
   dim a4x(46): dim a4y(46): d=0
   for a=38 to 44 ' distances 4 eme colonne
     a4x(a)=95: a4y(a)=y+d
     d=d+40
   next a
   '--------------------affichage mailles
     loadbmp "image"+"0", "STMailles\Maille" +"0"+".bmp" 'maille vide
     #w.comb, "drawbmp ";"image"+"0";" ";"125";" ";"10"
     unloadbmp "image"+"0"
     '---------
    x=5: y=5
   for x=2 to 8 ' 1ere colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"5";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     next x
   y=5
   for x=9 to 15 '2eme colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"35";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     #w.comb, "flush"
   next x
   y=5
   for x=28 to 30 ' 3eme colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"65";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     #w.comb, "flush"
   next x
   y=5
   for x=38 to 44 ' 4 eme colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"95";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     #w.comb, "flush"
   next x
    gosub [grid]
    wait
    [sel]
      bx=MouseX: by=MouseY
   if bx> 125 and bx< 145 and by> 12 and by< 42 then
     nm=0: bmp$="STMailles\Maille"+"0": gosub [grid] ' Maille vide
   end if
   for a=2 to 8 ' test 1ere colonne
     if bx> ax(a) and bx< (ax(a)+20) and by> ay(a) and by< (ay(a)+30) then nm=a: bmp$="STMailles\Maille"+str$(nm)
   next a
   for a=9 to 15 ' test 2eme colonne
     if bx> a1x(a) and bx< (a1x(a)+20) and by> a1y(a) and by< (a1y(a)+30) then nm=a: bmp$="STMailles\Maille"+str$(nm)
   next a
   for a=28 to 30 ' test 3eme colonne
     if bx> a3x(a) and bx< (a3x(a)+20) and by> a3y(a) and by< (a3y(a)+30) then nm=a: bmp$="STMailles\Maille"+str$(nm)
   next a
 
   for a=38 to 44 ' test 4 eme colonne
     if bx> a4x(a) and bx< (a4x(a)+20) and by> a4y(a) and by< (a4y(a)+30) then nm=a: bmp$="STMailles\Maille"+str$(nm)
   next a
  wait
        [Mark]
         mX = int(MouseX/dcx): mY = int(MouseY/dcy)
       loadbmp "image"+str$(x), "STMailles\Maille" +str$(nm)+".bmp"
       xx=mX*dcx+1: yy=mY*dcy+1
       #w.map, "drawbmp ";"image"+str$(x);" ";xx;" ";yy+4
     unloadbmp "image"+str$(x)
     #w.map, "flush"
    wait
    [grid]
        #w.map, "color blue"
        for x= 1 to MapWidth step dcx ' verticales
          #w.map, "line ";x+1;" ";"0";" ";x+1;" ";MapHeight
        next x
        for y= 1 to MapHeight step dcy 'horizontales
          #w.map, "line ";"0";" ";y+1;" ";MapWidth;" ";y+1
        next y
        #w.map, "color red"
        #w.map, "line ";(MapWidth-3*dcx)+1;" ";"0";" ";(MapWidth-3*dcx)+1;" ";MapHeight
        #w.map, "line ";(MapWidth-2*dcx)+1;" ";"0";" ";(MapWidth-2*dcx)+1;" ";MapHeight
        #w.map, "line ";MapWidth-dcx+1;" ";"0";" ";MapWidth-dcx+1;" ";MapHeight
        #w.map "flush; discard"
    return
[savebmp]
 #w.map "getbmp drawing 1 1 378 480"
  bmpsave "drawing", "marmaille.bmp"
Notice,"C'est dans le dossier"
wait
  [col]
    #w.col, "down;color cyan;backcolor cyan"
    #w.col, "place 0 0": #w.col, "boxfilled 316 10"
    #w.col, "place 405 0": #w.col, "boxfilled 462 10"
    #w.col, "down;color red;backcolor red"
    #w.col, "place 316 0": #w.col, "boxfilled 339 10"
    #w.col, "place 469 0": #w.col, "boxfilled 492 10"
    #w.col, "down;color green;backcolor green"
    #w.col, "place 339 0": #w.col, "boxfilled 360 10"
    #w.col, "place 500 0": #w.col, "boxfilled 520 10"
    #w.col, "flush"
  return
    [coord]
      cx=MouseX: cy=MouseY
      #w.map, "color black;backcolor yellow"
      #w.map, "place ";"100";" ";cy: #w.map, "\x:";cx;"  y:";cy
    wait
    [quit]
        close #w
        end
    wait
 
____________________
Roro

   
Le 18/08/2020 à 13h48

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 105
Une des choses à ajouter serais avec un click droit effacer le contenu d'une case, ce qui éliminerais
la case blanche en hau à droite.
Peut être aussi, étant donné la sauvegarde du bmp, avoir la possibilité de visualiser les bmp sauvegardées
sur une autre fenêtre pour prendre en exemple une partie.
Avoir la possibilité d'un clear général.
il serait bien également, si au départ, toutes les cases (excepté chv et sens) soient remplies
du maille1.bmp qui est le symbole représentant hors travail. maille1.bmp = deux point décalés.
De même que lorsqu'on efface une case, le contenu soit remplacé par le maille1.bmp.
peut êtreUne aide simple comme dans StitchEditorMini.bas
Ce serai bien d'augmenter la largeur utile à 24 et la hauteur à 28 cases. Si c'est trop grand en hauteur
ça disparait de l'écran. A moins que l'on dispose d'une très haute résolution graphique.
Voilà ce qui m'est venu à l'esprit.
je vais copier ta dernière version et regarder.
Je dois dire que ça va très vite.
A+
____________________
Castel

   
Le 18/08/2020 à 15h11

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
On va voir tout ça. C'est quoi les dimensions de ton écran en pixels ?
à plus...
____________________
Roro

   
Le 18/08/2020 à 15h59

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
- Bouton "clear "en haut à gauche.
- Remplissage avec Maille1.
- Effacement au clic droit et place Maille1
Je pense qu'il faut enlever "sens" et "chv" de la grille et les mettre en graphicbox (ce que je vais faire);

Pour l'agrandissement, il faut que je finisse la mise en relatif (ça concerne pas mal de variables).

Pour visualiser le bmp il faut le faire dans une nouvelle fenêtre, et ça ne sera que de la visualisation
Voici l'état actuel: (qui est déjà obsolète passe au msg suivant)
Code VB :
 
   nomainwin
    WindowWidth = 600: WindowHeight = 565
    UpperLeftX = (DisplayWidth-WindowWidth) / 3
    UpperLeftY = 5 '(DisplayHeight-WindowHeight) / 2
    dcx = 21: dcy=30  'size of a cell in pixels
    ncx=18: ncy=16
    MapWidth = ncx*dcx: MapHeight = ncy*dcy
    graphicbox #w.col, 5, 30, WindowWidth-78, 10
    graphicbox #w.map, 5, 40, MapWidth, MapHeight
    graphicbox #w.comb, 410, 40, 150, 300
    button #w.s, "Save bmp", [savebmp], UL, WindowWidth-150, WindowHeight-80, 70, 25
    button #w.c, "Clear", [clear], UL, 20, 3, 40, 25
    open "    TEST GRID Coord..." for window_nf as #w  'graphics_nf_nsb
    #w "trapclose [quit]"
    #w.map "down; fill white"
    #w.map "backcolor lightgray; color lightgray"
    #w.map "when leftButtonDown [Mark]"
    #w.comb, "down;fill lightgray": #w.comb, "when leftButtonDown [sel]"
    #w.map, "when rightButtonDown [delete]"
    gosub [col]
   dos$ = "STMailles\Maille"
   x=5: y=5: d=0
   for a=2 to 8 ' tableau des distances 1er colonne
     ax(a)=5: ay(a)=y+d
     d=d+40
   next a
   dim a1x(20): dim a1y(20): d=0' tableau des distances 2eme colonne
   for a=9 to 15
     a1x(a)=30: a1y(a)=y+d
     d=d+40
   next a
   dim a3x(32): dim a3y(32): d=0
   for a=28 to 30 ' distances 3eme colonne
     a3x(a)=70: a3y(a)=y+d
     d=d+40
   next a
   dim a4x(46): dim a4y(46): d=0
   for a=38 to 44 ' distances 4 eme colonne
     a4x(a)=95: a4y(a)=y+d
     d=d+40
   next a
   '--------------------affichage mailles
    x=5: y=5
   for x=2 to 8 ' 1ere colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"5";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     next x
   y=5
   for x=9 to 15 '2eme colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"35";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     #w.comb, "flush"
   next x
   y=5
   for x=28 to 30 ' 3eme colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"65";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     #w.comb, "flush"
   next x
   y=5
   for x=38 to 44 ' 4 eme colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"95";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     #w.comb, "flush"
   next x
   [clear]'--------------------remplissage grille
   nm=1: xx=0: yy=0
   loadbmp "image", "STMailles\Maille" +str$(nm)+".bmp"
   for b=1 to ncy
     for a=1 to ncx-2
       #w.map, "drawbmp ";"image";" ";xx;" ";yy+4
       xx=xx+20
     next a
     xx=0: yy=yy+30
   next b
    gosub [grid]
    wait
  [sel]
      bx=MouseX: by=MouseY
   for a=2 to 8 ' test 1ere colonne
     if bx> ax(a) and bx< (ax(a)+20) and by> ay(a) and by< (ay(a)+30) then nm=a: bmp$="STMailles\Maille"+str$(nm)
   next a
   for a=9 to 15 ' test 2eme colonne
     if bx> a1x(a) and bx< (a1x(a)+20) and by> a1y(a) and by< (a1y(a)+30) then nm=a: bmp$="STMailles\Maille"+str$(nm)
   next a
   for a=28 to 30 ' test 3eme colonne
     if bx> a3x(a) and bx< (a3x(a)+20) and by> a3y(a) and by< (a3y(a)+30) then nm=a: bmp$="STMailles\Maille"+str$(nm)
   next a
   for a=38 to 44 ' test 4 eme colonne
     if bx> a4x(a) and bx< (a4x(a)+20) and by> a4y(a) and by< (a4y(a)+30) then nm=a: bmp$="STMailles\Maille"+str$(nm)
   next a
  wait
  [Mark]
         mX = int(MouseX/dcx): mY = int(MouseY/dcy)
       loadbmp "image"+str$(x), "STMailles\Maille" +str$(nm)+".bmp"
       xx=mX*dcx+1: yy=mY*dcy+1
       #w.map, "drawbmp ";"image"+str$(x);" ";xx;" ";yy+4
     unloadbmp "image"+str$(x)
     #w.map, "flush"
    wait
  [delete]
    nm=1
         mX = int(MouseX/dcx): mY = int(MouseY/dcy)
       loadbmp "image"+str$(x), "STMailles\Maille" +str$(nm)+".bmp"
       xx=mX*dcx+1: yy=mY*dcy+1
       #w.map, "drawbmp ";"image"+str$(x);" ";xx;" ";yy+4
     unloadbmp "image"+str$(x)
     #w.map, "flush"
    wait
  [grid]
        #w.map, "color blue"
        for x= 1 to MapWidth step dcx ' verticales
          #w.map, "line ";x+1;" ";"0";" ";x+1;" ";MapHeight
        next x
        for y= 1 to MapHeight step dcy 'horizontales
          #w.map, "line ";"0";" ";y+1;" ";MapWidth;" ";y+1
        next y
        #w.map, "color red"
        #w.map, "line ";(MapWidth-3*dcx)+1;" ";"0";" ";(MapWidth-3*dcx)+1;" ";MapHeight
        #w.map, "line ";(MapWidth-2*dcx)+1;" ";"0";" ";(MapWidth-2*dcx)+1;" ";MapHeight
        #w.map, "line ";MapWidth-dcx+1;" ";"0";" ";MapWidth-dcx+1;" ";MapHeight
        #w.map "flush; discard"
    return
[savebmp]
 #w.map "getbmp drawing 1 1 378 480"
  bmpsave "drawing", "marmaille.bmp"
Notice,"C'est dans le dossier"
wait
  [col]
    #w.col, "down;color cyan;backcolor cyan"
    #w.col, "place 0 0": #w.col, "boxfilled 316 10"
    #w.col, "place 405 0": #w.col, "boxfilled 462 10"
    #w.col, "down;color red;backcolor red"
    #w.col, "place 316 0": #w.col, "boxfilled 339 10"
    #w.col, "place 469 0": #w.col, "boxfilled 492 10"
    #w.col, "down;color green;backcolor green"
    #w.col, "place 339 0": #w.col, "boxfilled 360 10"
    #w.col, "place 500 0": #w.col, "boxfilled 520 10"
    #w.col, "flush"
  return
    [quit]
        close #w
        end
    wait
 
____________________
Roro

   
Le 18/08/2020 à 17h09

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
ça va vraiment très vite
Voila avec 28 cases et deux graphicbox pour le sens et chv (interverrouillées s'you plaît, le luxe.. on ne peut pas mettre des trucs ailleurs que là où ça doit aller)
Pour la hauteur on attend la dimension de ton écran.
Je n'ai pas fini la mise en relatif des distances
Dans le doute, j'ai ajouté (hé hé) un: "Clear Notes" pour le sens et le chv
ça en est là:
Code VB :
 
    nomainwin
    UpperLeftX = 20
    UpperLeftY = 5
    dcx = 20: dcy=30  'size of a cell in pixels
    ncx=28: ncy=16
    MapWidth = ncx*dcx+5: MapHeight = ncy*dcy
    WindowWidth =MapWidth+285: WindowHeight = 565
    graphicbox #w.col, 5, 30, MapWidth+245, 10
    graphicbox #w.map, 5, 40, MapWidth, MapHeight
    graphicbox #w.sens, MapWidth+10, 40, 30, MapHeight
    graphicbox #w.chv, MapWidth+45, 40, 30, MapHeight
    graphicbox #w.comb, MapWidth+100, 40, 150, 300
    button #w.s, "Save bmp", [savebmp], UL, WindowWidth-150, WindowHeight-80, 70, 25
    button #w.c, "Clear Grille", [clear], UL, 20, 3, 70, 25
    button #w.cc, "Clear Notes", [clearnote], UL, 110, 3, 70, 25
    open "    TEST GRID Coord..." for window_nf as #w  'graphics_nf_nsb
    #w "trapclose [quit]"
    #w.map "down; fill white"
    #w.map "backcolor lightgray; color lightgray"
    #w.map "when leftButtonDown [Mark]"
    #w.comb, "down;fill lightgray": #w.comb, "when leftButtonDown [sel]"
    #w.sens, "down;fill lightgray": #w.sens, "when leftButtonDown [sens]"
    #w.chv, "down;fill lightgray": #w.chv, "when leftButtonDown [chv]"
    #w.map, "when rightButtonDown [delete]"
 
    #w.comb, "when rightButtonDown [coord]"
    gosub [col]
   dos$ = "STMailles\Maille"
   x=5: y=5: d=0
   for a=2 to 8 ' tableau des distances 1er colonne
     ax(a)=3: ay(a)=y+d
     d=d+40
   next a
   dim a1x(20): dim a1y(20): d=0' tableau des distances 2eme colonne
   for a=9 to 15
     a1x(a)=33: a1y(a)=y+d
     d=d+40
   next a
   dim a3x(32): dim a3y(32): d=0
   for a=28 to 30 ' distances 3eme colonne
     a3x(a)=64: a3y(a)=y+d
     d=d+40
   next a
   dim a4x(46): dim a4y(46): d=0
   for a=38 to 44 ' distances 4 eme colonne
     a4x(a)=94: a4y(a)=y+d
     d=d+40
   next a
   '--------------------affichage mailles à choisir
    x=5: y=5
   for x=2 to 8 ' 1ere colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"5";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     next x
   y=5
   for x=9 to 15 '2eme colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"35";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
   next x
   y=5
   for x=28 to 30 ' 3eme colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"65";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
   next x
   y=5
   for x=38 to 44 ' 4 eme colonne
     loadbmp "image"+str$(x), "STMailles\Maille" +str$(x)+".bmp"
     #w.comb, "drawbmp ";"image"+str$(x);" ";"95";" ";y
     y=y+40
     unloadbmp "image"+str$(x)
     #w.comb, "flush"
   next x
   [clear]'--------------------remplissage grille avec maille 1
   nm=1: xx=0: yy=0
   loadbmp "image", "STMailles\Maille" +str$(nm)+".bmp"
   for b=1 to ncy
     for a=1 to ncx
       #w.map, "drawbmp ";"image";" ";xx;" ";yy+4
       xx=xx+20
     next a
     xx=0: yy=yy+30
   next b
   unloadbmp "image"
    gosub [grid]
    wait
  [sel]
      bx=MouseX: by=MouseY
   for a=2 to 8 ' test 1ere colonne
     if bx> ax(a) and bx< (ax(a)+20) and by> ay(a) and by< (ay(a)+30) then
       nm=a: bmp$="STMailles\Maille"+str$(nm): flag=0
     end if
   next a
   for a=9 to 15 ' test 2eme colonne
     if bx> a1x(a) and bx< (a1x(a)+20) and by> a1y(a) and by< (a1y(a)+30) then
       nm=a: bmp$="STMailles\Maille"+str$(nm): flag=0
     end if
   next a
   for a=28 to 30 ' test 3eme colonne
     if bx> a3x(a) and bx< (a3x(a)+20) and by> a3y(a) and by< (a3y(a)+30) then
       nm=a: bmp$="STMailles\Maille"+str$(nm): flag=3
     end if
   next a
   for a=38 to 44 ' test 4 eme colonne
     if bx> a4x(a) and bx< (a4x(a)+20) and by> a4y(a) and by< (a4y(a)+30)then
       nm=a: bmp$="STMailles\Maille"+str$(nm): flag=4
     end if
   next a
  wait
  [Mark]
    if flag=3 or flag=4 then wait
         mX = int(MouseX/dcx): mY = int(MouseY/dcy)
       loadbmp "image"+str$(x), "STMailles\Maille" +str$(nm)+".bmp"
       xx=mX*dcx+1: yy=mY*dcy+1
       #w.map, "drawbmp ";"image"+str$(x);" ";xx;" ";yy+4
     unloadbmp "image"+str$(x)
     #w.map, "flush"
  wait
  [sens]
    if flag <>3 then wait
    loadbmp "image", "STMailles\Maille" +str$(nm)+".bmp"
    xx=5: mY = int(MouseY/dcy): yy=mY*dcy+1
    #w.sens, "drawbmp ";"image";" ";xx;" ";yy+4
    unloadbmp "image"
    #w.sens, "flush"
  wait
  [chv]
    if flag <>4 then wait
    loadbmp "image", "STMailles\Maille" +str$(nm)+".bmp"
    xx=5: mY = int(MouseY/dcy): yy=mY*dcy+1
    #w.chv, "drawbmp ";"image";" ";xx;" ";yy+4
    unloadbmp "image"
    #w.chv, "flush"
  wait
  [delete]
    nm=1
         mX = int(MouseX/dcx): mY = int(MouseY/dcy)
       loadbmp "image"+str$(x), "STMailles\Maille" +str$(nm)+".bmp"
       xx=mX*dcx+1: yy=mY*dcy+1
       #w.map, "drawbmp ";"image"+str$(x);" ";xx;" ";yy+4
     unloadbmp "image"+str$(x)
     #w.map, "flush"
  wait
  [clearnote]
    #w.chv, "fill lightgray": #w.sens, "fill lightgray"
  wait
  [grid]
        #w.map, "color blue"
        for x= 1 to MapWidth step dcx ' verticales
          #w.map, "line ";x+1;" ";"0";" ";x+1;" ";MapHeight
        next x
        for y= 1 to MapHeight step dcy 'horizontales
          #w.map, "line ";"0";" ";y+1;" ";MapWidth;" ";y+1
        next y
        #w.map "flush; discard"
    return
[savebmp]
 #w.map "getbmp drawing 1 1 378 480"
  bmpsave "drawing", "marmaille.bmp"
Notice,"C'est dans le dossier"
wait
  [col]
    #w.col, "down;color cyan;backcolor cyan"
    #w.col, "place 0 0": #w.col, "boxfilled ";MapWidth;" ";"10"
    #w.col, "place ";MapWidth+93;" "; "0": #w.col, "boxfilled ";MapWidth+150;" ";"10"
    #w.col, "down;color red;backcolor red"
    #w.col, "place ";MapWidth+2;" "; "0": #w.col, "boxfilled ";MapWidth+35;" ";"10"
    #w.col, "place ";MapWidth+158;" "; "0": #w.col, "boxfilled ";MapWidth+182;" ";"10"
    #w.col, "down;color green;backcolor green"
    #w.col, "place ";MapWidth+40;" "; "0": #w.col, "boxfilled ";MapWidth+70;" ";"10"
    #w.col, "place ";MapWidth+188;" "; "0": #w.col, "boxfilled ";MapWidth+210;" ";"10"
    #w.col, "flush"
  return
  [coord]
    ox=MouseX: oy=MouseY
    #w.map "color red;backcolor white"
    #w.map "place ";"300";" ";oy: #w.map "\ ";ox;"   ";oy+30
  wait
    [quit]
        close #w
        end
    wait
 
____________________
Roro

   
Le 18/08/2020 à 18h20

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 105
Ma résolution d'écran est: 1680X1050.
Mais je pense ceux qui ont moins.
____________________
Castel

   
Le 18/08/2020 à 18h27

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 105
Ha... je vois que je me suis mal expliqué.
en largeur (en X) il faudrait 24 cases
en Hauteur (en Y) il faudrait 28.
mais est ce que la résolution sera suffisante ?
Sinon rester avec une grille 24X24 ça va aussi.
____________________
Castel

   
Le 18/08/2020 à 18h30

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 105
Ce n'est que mon avis mais les bandes de couleurs en haut ne sont pas très pro.
____________________
Castel

   
Le 18/08/2020 à 18h56

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 105
Commentaire:
Avec les 7 notes de musique (do; ré; mi; fa; sol; la; si) , on peut faire une musique très variée.
On a pas encore trouvé la limite.
Alors maintenant, avec les 15 symboles de tricotage on peut également faire énormément
de variation de type et de structures de mailles.
Si on ajoute à cela 'le chevalement' on a encore plus de possibilités.
Le chevalement est l'action de déplacer la fonture à gauche ou à droite.
(La fonture est le 'lit' des aiguilles , il y a deux montures, une à l'avant et une à l'arrière)on peut déplacer d'une aiguille à gauche, ou 2, ou 3.
on peut déplacer d'une aiguille à droite, ou 2, ou 3.
La flèche allant de bas en haut, signifie que la maille de cette aiguille sur la fonture avant sera reportée sur l'aiguille de la fonture arrière.) Du coup on imagine les possibilités si on y ajoute du chevalement.
La flèche allant de haut en bas fait l'inverse de ce qui a été dit ci dessus
Dans le domaine du tricotage, c'est pareil, Lorsqu'on connait le tricotage (la structure de maille) il faut se familiariser avec une machine. Il y a plusieurs fabricants de machines .
J'ai tenu à écrire ces quelque phrases pour éclairer un peu plus le sujet et sa référence.
Castel
____________________
Castel

   
Le 18/08/2020 à 18h57

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 105
Je répondrai à toute question sur le tricotage.
____________________
Castel

   
Le 18/08/2020 à 19h32

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
Citation:
Ma résolution d'écran est: 1680X1050.
Mais je pense ceux qui ont moins.

Je suis le plus souvent sur un 1024 x 600 mais j'ai une autre machine avec grand écran si il faut.
Citation:
Ce n'est que mon avis mais les bandes de couleurs en haut ne sont pas très pro.

De toutes façons y en a plus besoin car on ne peut pas mettre des trucs là où il ne faut pas; c'est verrouillé.

Que veut-u faire exactement avec le bmp à afficher ? Si c'est que pour le voir ça va, mais tu ne pourra pas faire de sélection dessus.

Je vais voir pour faire réglable en hauteur. (avec un fichier ".ini" pour garder le réglage (à tant faire, on pourra y mettre autre chose avec)
____________________
Roro

   
Le 18/08/2020 à 23h51

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
Suite du: 19h32
Sur le bmp, tu veux que la grille ou aussi le sens et le csv ?
____________________
Roro

   
Le 19/08/2020 à 01h19

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
Suite de la suite.
Bon, c'est réglable en largeur (attention de ne pas dépasser les bornes (de l'écran) car ce n'est pas encore sécurisé sur ce point)
Textbox(s) et bouton "Valider" (en haut)
Et on peut afficher le bmp bouton en bas à droite (c'est sécurisé si y a pas de bmp)
Comme il y a maintenant un fichier "ini.txt", j'ai fait un zip
Reste à définir:
- Veux-tu le sens et le csv dans le bmp ?
- Le "Clear Notes" (sens et csv) est-il pertinent ou inutile (clear total ?)

Le zip-->: Castel Maille V1.zip
____________________
Roro

   
Le 19/08/2020 à 06h10

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 105
Le bmp doit avoir le chv qui est une information importante, si l'article en a,
le sens n'est pas très important mais il est bien de le mettre,
car il est valable pour toute les types de machines à main.
____________________
Castel

   
Le 19/08/2020 à 10h32

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
Today: "Sens" et "csv" sont dans le bmp
Le réglage en largeur et en hauteur est sécurisé (on ne peut pas demander plus de cases que ne peut en contenir l'écran).

Re question: Le "Clear Notes" (sens et csv) est-il pertinent ou inutile (clear total ?)

Même lien: Castel Maille V1.zip
En attente de nouvelles fonctionnalités...
____________________
Roro

   
Le 19/08/2020 à 11h10

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
Suite:
Déplacement en haut des boutons "Save bmp" et "Voir le bmp"; qui se retrouvaient sur les mailles lors de la réduction de la hauteur.; ça ne résout rien puisqu'ils disparaîtront pour une réduction en largeur...Ou: "Comment faire entrer un éléphant dans une 4L à toit ouvrant ?".
On pourrait y mettre une limitation, mais bon, l'utilisateur n'est pas forcé de faire n'importe quoi non plus.
____________________
Roro

   
Le 19/08/2020 à 11h14

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 105
Le "Clear Notes" n'est pas absolument nécessaire.
Si l'on fait une faute, on peut rapidement réécrire pardessus,
vu le nombre relativement peu élevé de cases.
Il n'est pas gênant tel qu'il est.
C'est génial ce que tu as réussi à faire en si peu de temps!
Merci Roland, j'ai de quoi apprendre plein de choses.
Dans l'immédiat je ne vois pas d'autre fonctionnalités. Peut être par la suite...
Il me semble que l'interface graphique telle quelle est actuellement, comporte
toutes les fonctions nécessaires pour en faire une fiche technique complète,
surtout le bmp que l'on pourra insérer dans une page Word.
Je vais me faire un plaisir de passer à la loupe le programme.
Dès que j'ai d'autres idées de fonctionnalités, je te le fais savoir.
Mais de ton côté, si tu vois des améliorations ou autres ce serait super.
J'ai pensé à une aide directe en bas de page, mais comme cette application
est destinée à des personnes de la branche, je ne dis que ce n'est pas absolument
nécessaire, parce que dés qu'ils voient un symbole,
logiquement ils doivent savoir de quoi il s'agit.
A+
____________________
Castel

   
Le 19/08/2020 à 11h36

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
On peut faire une aide en menu pour le fonctionnement du logiciel (si tu vois des ambiguités ou autres).
Sinon, tu peux faire un fichier (.txt) d'explications tricotières (en menu) qui serait ouvert dans un texteditor. Mais là, bonjour l'exercice...J'imagine les trouzmilles combinaisons; carrément un cours de tricot.
Reste à améliorer les polices des statics et boutons.
A terme on peut mettre les deux logiciels (V1 et V2) dans le même zip
Ton V2 a l'air finalisé, mais si tu y vois des fonctionnalités possibles n'hésite pas.
(à ce sujet: Le fait que tu ai mis un fond coloré à la listbox m'a fait douter que ça en soit une,
Un: "#handle.ext, "singleclickselect" serait sans doute été plus "parlant"
Ou un: "Sélectionner" en static au dessus
Concluse: Il n'est pas évident de double cliquer sur ce qui semble n'être que tu texte.
____________________
Roro

   
Le 19/08/2020 à 11h53

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
Suite du: 11h36
J'ai ajouté (hé hé) la date et l'heure dans le titre de la fenêtre; grand luxe. ;)

Même lien: Castel Maille V1.zip

Note que quand tu veux modifier un zip, il faut d'abord détruire l'ancien puis uploader le nouveau, sous le même nom, of course, sinon le lien n'est plus bon. (les liens morts y a rien de plus agaçant).
____________________
Roro

   
Le 19/08/2020 à 11h59

Libertynaute Actif

Groupe: Membre

Inscrit le: 10/10/2017
Messages: 105
Ha ... Roland,
je viens de penser à une fonctionnalité importante.
Je m'explique:
Il se peut qu'une portion ou plusieurs portions du schéma de maille doit/doivent être répétée/s, il serait judicieux d'insérer une colonne identique aux sens et chv qui serait placée entre les chu et les symboles de tricotage, et de même longueur.
Ceci pour ne pas avoir à répéter des rangées, et le schéma deviendrait trop long.
cette colonne pourrait être moins large (de moitié).
Alors les rangées que l'on voudrait répéter, on noircirait par exemple la ou les cases correspondantes.
Ou bien insérer la lettre majuscule R pour répétition.
Et bien sur cette colonne doit figurer dans le BMP.
j'espère m'être bien expliqué.
____________________
Castel

   
Le 19/08/2020 à 13h08

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2264
Citation:
insérer une colonne identique aux sens et chv

Pas de soucis.
Citation:
placée entre les chu et les symboles de tricotage

Gloups ! Quézaquo les "chu" ? Je comprends à droite de la colonne csv
Citation:
on noircirait par exemple la ou les cases correspondantes.

Dans cette nouvelle bande verticale
Ok, mais comment savoir où et quand répéter la séquence et combien de fois ?
Prière affiner le concept.

J'ai un peu améliorée la présentation
Je fais suivre le lien: Castel Maille V1.zip
____________________
Roro

   
Projets open source » Mini Editeur de schémas de mailles Permet d'éditer des séquences de tricotage  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie