Forum Liberty Basic France
• Index
Salutations matinales, programmeurs fous !
Comme je ne pratique plus beaucoup, à chaque fois qu'il m'arrive d'avoir une velléité de créer quelque chose avec notre JustBASIC, j'ai tout oublié et je perds un temps fou à retrouver les bonnes pratiques.
Ainsi, j'ai voulu créer une attribution automatique de la position des contrôles sur une fenetre. Le but est, durant la phase de création du programme, de pouvoir insérer facilement statictext et textbox dans une page déjà bien fournie : autrement dit, je me vois mal modifier manuellement les coordonnées de trente contrôles si je dois, au cours du développement, en insérer un autre au dessus de ces trente.
Le programme calcule donc à la volée position et dimension de ces contrôles, les place dans un tableau puis tente d'appliquer ce tableau aux statictexts et autres contrôles.
Le problème : si on utilise un tableau pour positionner un contrôle, la variable représentant une case de tableau est interprétée comme une variable ordinaire (elle contiendra cependant le contenu de la case identifiée par le dernier index fourni).
Un exemple pour être plus clair :
Code VB :
placera les deux statictext sur la même psn(b) trouvée avec la dernière valeur de b.
Un listing qui permet de constater de visu, et aussi que les calculs sont corrects :
Code VB :
Une idée pour s'en sortir ?
Comme je ne pratique plus beaucoup, à chaque fois qu'il m'arrive d'avoir une velléité de créer quelque chose avec notre JustBASIC, j'ai tout oublié et je perds un temps fou à retrouver les bonnes pratiques.
Ainsi, j'ai voulu créer une attribution automatique de la position des contrôles sur une fenetre. Le but est, durant la phase de création du programme, de pouvoir insérer facilement statictext et textbox dans une page déjà bien fournie : autrement dit, je me vois mal modifier manuellement les coordonnées de trente contrôles si je dois, au cours du développement, en insérer un autre au dessus de ces trente.
Le programme calcule donc à la volée position et dimension de ces contrôles, les place dans un tableau puis tente d'appliquer ce tableau aux statictexts et autres contrôles.
Le problème : si on utilise un tableau pour positionner un contrôle, la variable représentant une case de tableau est interprétée comme une variable ordinaire (elle contiendra cependant le contenu de la case identifiée par le dernier index fourni).
Un exemple pour être plus clair :
Code VB :
statictext #p1.str1, "truc", psn(b), psn(b+1), psn(b+2), psn(b+3) b=b+4 statictext #p1.str2, "muche", psn(b), psn(b+1), psn(b+2), psn(b+3)
placera les deux statictext sur la même psn(b) trouvée avec la dernière valeur de b.
Un listing qui permet de constater de visu, et aussi que les calculs sont corrects :
Code VB :
xt=10 'position horizontale de la rubrique yt=20 'position verticale initiale de la rubrique it=25 'interligne entre données de la rubrique xd=xt+10'position horizontale de la donnée sous la rubrique ir=40 'interligne entre dernière donnée de la rubrique et la rubrique suivante ls=150 'longueur statictext lt=50 'longueur textbox lu=30 'longueur unité hg=20 'hauteur statictext, textbox, etc... ig=7 'intervalle entre statictext, textbox, etc... sur une ligne cc=3 'correction de hauteur de textbox (alignement avec le texte des statictext) dim psn(100) a=0 b=a psn(a)=xt:a=a+1 psn(a)=yt:a=a+1 psn(a)=200:a=a+1 psn(a)=20:a=a+1 statictext #p1.str, "Rubrique :", psn(b), psn(b+1), psn(b+2), psn(b+3) print a;" : statictext #p1.str : ";psn(b), psn(b+1), psn(b+2), psn(b+3) b=a psn(a)=xd:a=a+1 psn(a)=yt+1*it:a=a+1 psn(a)=ls:a=a+1 psn(a)=hg:a=a+1 statictext #p1.std1, "Donnée 1", psn(b), psn(b+1), psn(b+2), psn(b+3) print a;" : statictext #p1.std1 : ";psn(b), psn(b+1), psn(b+2), psn(b+3) b=a psn(a)=xd+ls+ig:a=a+1 psn(a)=yt+1*it-cc:a=a+1 psn(a)=lt:a=a+1 psn(a)=hg:a=a+1 textbox #p1.tbd1, psn(b), psn(b+1), psn(b+2), psn(b+3) print a;" : textbox #p1.tbd1 : ";psn(b), psn(b+1), psn(b+2), psn(b+3) b=a psn(a)=xd:a=a+1 psn(a)=yt+2*it:a=a+1 psn(a)=ls:a=a+1 psn(a)=hg:a=a+1 statictext #p1.std2, "Donnée 2", psn(b), psn(b+1), psn(b+2), psn(b+3) print a;" : statictext #p1.std2 : ";psn(b), psn(b+1), psn(b+2), psn(b+3) b=a psn(a)=xd+ls+ig:a=a+1 psn(a)=yt+2*it-cc:a=a+1 psn(a)=lt:a=a+1 psn(a)=hg:a=a+1 textbox #p1.tbd2, psn(b), psn(b+1), psn(b+2), psn(b+3) print a;" : textbox #p1.tbd2 : ";psn(b), psn(b+1), psn(b+2), psn(b+3) WindowWidth=800 WindowHeight=600 open "fenetre" for window as #p1 #p1, "trapclose [quitter]" wait [quitter] close #p1 end
Une idée pour s'en sortir ?
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Une bonne organisation lors des placements suffit pour maîtriser la chose; mettre tous ça en tableau ne fait que compliquer sans rien simplifier
Ligne 1 pos 1
Ligne 1 pos 2
Ligne 1 pos 3
Ligne 2 pos 1
Ligne 2 pos 2
ext....
Ou:
Colonne 1 pos 1
Colonne 1 pos 2
ext...
Pour modifier il suffit de déplacer lignes ou colonnes par valeurs constantes au copié/coller
c'est sûr que si on écrit les trucs en vrac ça n'aide pas pour s'y retrouver.
Les noms des extensions peuvent aussi êtres normalisés (2 lettres pour les static, 3 pour les textbox, 4 pour les boutons, ext...ça aide bien.
Tu a là une autre approche-->: http://libertybasic.fr/forum/topic-143+multi-control-bas.php
Ligne 1 pos 1
Ligne 1 pos 2
Ligne 1 pos 3
Ligne 2 pos 1
Ligne 2 pos 2
ext....
Ou:
Colonne 1 pos 1
Colonne 1 pos 2
ext...
Pour modifier il suffit de déplacer lignes ou colonnes par valeurs constantes au copié/coller
c'est sûr que si on écrit les trucs en vrac ça n'aide pas pour s'y retrouver.
Les noms des extensions peuvent aussi êtres normalisés (2 lettres pour les static, 3 pour les textbox, 4 pour les boutons, ext...ça aide bien.
Tu a là une autre approche-->: http://libertybasic.fr/forum/topic-143+multi-control-bas.php
____________________
Roro
Roro
La mise en tableau était déjà une tentative de réponse à un phénomène aberrant, ce n'était pas une fin en soi. Je te laisse découvrir l'explication du problème dans le topo qui suit.
J'ai été voir sur le lien que tu fournis, et en effet, il me fallait un truc du genre, et j'ai bien aimé l'étude de "projet de projet" de son auteur, je ne suis pas le seul à "travailler" comme ça
On y parle aussi du freeform (encore un truc que j'avais oublié) qui pourrait bien me rendre plus de services qu'une usine à gaz logicielle et provisoire ne servant qu'aux essais, puisqu'on peut modifier à loisir les positions et taille des contrôles, et sans avoir à intervenir manuellement dans le listing. Il faudra juste faire du copier-coller à la fin.
Pour revenir à la discussion, la déconvenue est due à l'oubli que le déroulé du listing n'est pas forcément linéaire : l'approche erronée consiste à croire que la déclaration effective, officielle, de la position d'un contrôle se fait quand on le définit. Dans cette optique, si tous nos contrôles ont pour coordonnées les variables x et y, il suffit, entre chaque définition de contrôle, de modifier les valeurs de x et y pour répartir les controles sur la fenêtre. Mais ce n'est pas comme ça que ça marche.
En fait, avant d'ouvrir une fenêtre, on fait la liste de tous les contrôles, et tout se passe comme si leurs positions et dimensions sont définies seulement lorsque l'interpréteur arrive sur l'instruction "open...". Et forcément, s'ils utilisent tous la même variable y, ils seront tous positionnés à la dernière valeur connue de y, quelques soient les différentes valeurs qu'on ait pu lui donner avant. Je suis déjà plusieurs fois tombé dans le panneau.
En corollaire, et contrairement à ce que j'ai écrit dans mon premier post, une variable tableau est bien prise en compte dans la déclaration des contrôles, seulement sa valeur sera celle de la case correspondant au dernier index utilisé.
Une règle de base, qui m'aurait permis de savoir pertinemment le nombre et l'agencement des contrôles, donc de les définir à l'avance, est d'avoir d'abord fait l'analyse de ce qu'on veut informatiser, la programmation ne représentant que dix pour cent du travail total.
Ceci dit, le basic est pour moi un passe-temps devenu occasionnel, et ça me cantonne, de fait, dans des projets très simples.
Edité par Christophe Le 02/08/2020 à 08h18
J'ai été voir sur le lien que tu fournis, et en effet, il me fallait un truc du genre, et j'ai bien aimé l'étude de "projet de projet" de son auteur, je ne suis pas le seul à "travailler" comme ça

On y parle aussi du freeform (encore un truc que j'avais oublié) qui pourrait bien me rendre plus de services qu'une usine à gaz logicielle et provisoire ne servant qu'aux essais, puisqu'on peut modifier à loisir les positions et taille des contrôles, et sans avoir à intervenir manuellement dans le listing. Il faudra juste faire du copier-coller à la fin.
Pour revenir à la discussion, la déconvenue est due à l'oubli que le déroulé du listing n'est pas forcément linéaire : l'approche erronée consiste à croire que la déclaration effective, officielle, de la position d'un contrôle se fait quand on le définit. Dans cette optique, si tous nos contrôles ont pour coordonnées les variables x et y, il suffit, entre chaque définition de contrôle, de modifier les valeurs de x et y pour répartir les controles sur la fenêtre. Mais ce n'est pas comme ça que ça marche.
En fait, avant d'ouvrir une fenêtre, on fait la liste de tous les contrôles, et tout se passe comme si leurs positions et dimensions sont définies seulement lorsque l'interpréteur arrive sur l'instruction "open...". Et forcément, s'ils utilisent tous la même variable y, ils seront tous positionnés à la dernière valeur connue de y, quelques soient les différentes valeurs qu'on ait pu lui donner avant. Je suis déjà plusieurs fois tombé dans le panneau.
En corollaire, et contrairement à ce que j'ai écrit dans mon premier post, une variable tableau est bien prise en compte dans la déclaration des contrôles, seulement sa valeur sera celle de la case correspondant au dernier index utilisé.
Une règle de base, qui m'aurait permis de savoir pertinemment le nombre et l'agencement des contrôles, donc de les définir à l'avance, est d'avoir d'abord fait l'analyse de ce qu'on veut informatiser, la programmation ne représentant que dix pour cent du travail total.
Ceci dit, le basic est pour moi un passe-temps devenu occasionnel, et ça me cantonne, de fait, dans des projets très simples.
Edité par Christophe Le 02/08/2020 à 08h18
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
Bah oui, autant de contrôles, autant de variables (de noms différents), qu'on peut mettre en tableau ou en chaine (avant de les utiliser, of course).
Citation:
Pas forcément, il suffit de modifier le code au fur et à mesure de l'avancement de l'interface (c'est comme ça que je fais).
La "freeform", c'est pas mal, mais je n'aime pas trop la manipulation de fichiers que ça demande; et idem pour la méthode de claudevdw, qui reste bonne pour générer du code, mais qui souffre de l'inconvénient que le code généré ne peut pas s'auto-lancer (je crois ?)
Et forcément, s'ils utilisent tous la même variable y, ils seront tous positionnés à la dernière valeur connue de y
Bah oui, autant de contrôles, autant de variables (de noms différents), qu'on peut mettre en tableau ou en chaine (avant de les utiliser, of course).
Citation:
Une règle de base, qui m'aurait permis de savoir pertinemment le nombre et l'agencement des contrôles, donc de les définir à l'avance.
Pas forcément, il suffit de modifier le code au fur et à mesure de l'avancement de l'interface (c'est comme ça que je fais).
La "freeform", c'est pas mal, mais je n'aime pas trop la manipulation de fichiers que ça demande; et idem pour la méthode de claudevdw, qui reste bonne pour générer du code, mais qui souffre de l'inconvénient que le code généré ne peut pas s'auto-lancer (je crois ?)
____________________
Roro
Roro
Puisque je suis joueur, j'ai rendu fonctionnel mes déclarations de contrôles avec des tableaux 
Question subsidiaire sur la pertinence de la solution : quand, dans le listing, je lis "Ampere=2" et "Volt=3", c'est tout à fait parlant. Mais alors, quand je vois n(10,1)+n(10,3), qu'est-ce que ça peut donc bien être ?
Voici :
Code VB :

Question subsidiaire sur la pertinence de la solution : quand, dans le listing, je lis "Ampere=2" et "Volt=3", c'est tout à fait parlant. Mais alors, quand je vois n(10,1)+n(10,3), qu'est-ce que ça peut donc bien être ?

Voici :
Code VB :
xt=10 'position horizontale de la rubrique yt=20 'position verticale initiale de la rubrique it=25 'interligne entre données de la rubrique xd=xt+10'position horizontale de la donnée sous la rubrique ir=40 'interligne entre dernière donnée de la rubrique et la rubrique suivante ls=170 'longueur statictext lt=50 'longueur textbox lu=30 'longueur unité hg=20 'hauteur statictext, textbox, etc... ig=7 'intervalle entre statictext, textbox, etc... sur une ligne cc=3 'correction de hauteur de textbox (alignement avec le texte des statictext) dim c$(100,2),n(100,5) fontrub$="!font MS_Sans_Serif 10 bold" fontdon$="!font MS_Sans_Serif 10" fontres$="!font MS_Sans_Serif 10 italic" fontbut$="!font Liberation_Mono 10" c$(0,0)="Courant continu" c$(0,1)=fontrub$ n(0,0)=xt n(0,1)=yt n(0,2)=200 n(0,3)=20 statictext #p1.stcc, c$(0,0), n(0,0), n(0,1), n(0,2), n(0,3) c$(1,0)="Tension :" c$(1,1)=fontdon$ n(1,0)=xd n(1,1)=yt+1*it n(1,2)=ls n(1,3)=hg statictext #p1.stun, c$(1,0), n(1,0), n(1,1), n(1,2), n(1,3) c$(2,0)="Tension" c$(2,1)=fontdon$ n(2,0)=xd+ls+ig n(2,1)=yt+1*it-cc n(2,2)=lt n(2,3)=hg textbox #p1.tbud, n(2,0), n(2,1), n(2,2), n(2,3) c$(3,0)="V" c$(3,1)=fontdon$ n(3,0)=xd+ls+lt+2*ig n(3,1)=yt+1*it n(3,2)=lu n(3,3)=hg statictext #p1.stuu, c$(3,0), n(3,0), n(3,1), n(3,2), n(3,3) c$(4,0)="Intensité :" c$(4,1)=fontdon$ n(4,0)=xd n(4,1)=yt+2*it n(4,2)=ls n(4,3)=hg statictext #p1.stin, c$(4,0), n(4,0), n(4,1), n(4,2), n(4,3) c$(5,0)="Intensité" c$(5,1)=fontdon$ n(5,0)=xd+ls+ig n(5,1)=yt+2*it-cc n(5,2)=lt n(5,3)=hg textbox #p1.tbid, n(5,0), n(5,1), n(5,2), n(5,3) c$(6,0)="A" c$(6,1)=fontdon$ n(6,0)=xd+ls+lt+2*ig n(6,1)=yt+2*it n(6,2)=lu n(6,3)=hg statictext #p1.stiu, c$(6,0), n(6,0), n(6,1), n(6,2), n(6,3) c$(7,0)="Résultat" c$(7,1)=fontrub$ n(7,0)=xt n(7,1)=yt+2*it+ir n(7,2)=200 n(7,3)=20 statictext #p1.stresult, c$(7,0), n(7,0), n(7,1), n(7,2), n(7,3) c$(8,0)="en attente de vos données" c$(8,1)=fontres$ n(8,0)=xd n(8,1)=yt+3*it+ir n(8,2)=ls n(8,3)=hg statictext #p1.stresultat1, c$(8,0), n(8,0), n(8,1), n(8,2), n(8,3) c$(9,0)="résultat 2" c$(9,1)=fontres$ n(9,0)=xd n(9,1)=yt+4*it+ir n(9,2)=ls n(9,3)=hg statictext #p1.stresultat2, c$(9,0), n(9,0), n(9,1), n(9,2), n(9,3) c$(10,0)="Calculer" c$(10,1)=fontbut$ n(10,0)=xt n(10,1)=yt+4*it+2*ir n(10,2)=ls n(10,3)=25 button #p1.btok, c$(10,0), [calculer], ul, n(10,0), n(10,1), n(10,2), n(10,3) WindowWidth=xd+ls+lt+3*ig+lu WindowHeight=n(10,1)+n(10,3)+40 open "fenetre" for window as #p1 #p1.stcc, c$(0,1) #p1.stun, c$(1,1) #p1.tbud, c$(2,1) #p1.stuu, c$(3,1) #p1.stin, c$(4,1) #p1.tbid, c$(5,1) #p1.stiu, c$(6,1) #p1.stresult, c$(7,1) #p1.stresultat1, c$(8,1) #p1.stresultat2, c$(9,1) #p1.btok, c$(10,1) #p1, "trapclose [quitter]" wait [quitter] close #p1 end [calculer] #p1.tbud,"!contents? U$":U=val(U$) #p1.tbid,"!contents? I$":I=val(I$) if I=0 then notice "Saisissez une valeur non nulle pour l'intensité" else print c$(8,0)="Puissance = ";U*I;" W" c$(9,0)="Résistance = ";U/I;" Ohm" #p1.stresultat1, c$(8,0) #p1.stresultat2, c$(9,0) print c$(1,0);U$;" ";c$(3,0) print c$(4,0);I$;" ";c$(6,0) print c$(8,0) print c$(9,0) end if wait
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Il marche bien ton calculateur; y a plus qu'a continuer avec les autres formules et rassembler le tout.
Pour le fun
Code VB :
Pour le fun
Code VB :
chaine10$=str$(xt)+" "+str$(ls)+" "+ str$(yt+4*it+2*ir)+" "+str$(25) For x=0 to 3 n(10,x)=val(word$(chaine10$,x)) next x
____________________
Roro
Roro
En tournant et retournant le problème dans tous les sens, en dehors de besoins particuliers (modification d'interface ( qui demande une réouverture)); il ne sert à rien de mettre les valeurs en variables, si ce n'est pour faire du placement relatif (aux bords de la fenêtre (parce qu'avec l'inter relatif on retombe sur la complexité (inutile, vu que les contrôles sont placés une fois pour toutes).
Ce qui est très pratique et rapide, mais nécessite une graphicbox; c'est de faire un relevé/affichage de coordonnées avec le clic droit:
Code VB :
Pour les statictext, on peut faire un petit sous prog qui compte le nombre de caractères pour donner la largeur
Ce qui est très pratique et rapide, mais nécessite une graphicbox; c'est de faire un relevé/affichage de coordonnées avec le clic droit:
Code VB :
#w, "when leftButtonDown [cote] wait [cote] mx=MouseX: my=MouseY #w, " color backcolor...ext" #w,g "place ";mx;" ":my: #w,g "\ ";mx;" ";my wait
Pour les statictext, on peut faire un petit sous prog qui compte le nombre de caractères pour donner la largeur
____________________
Roro
Roro
Bien vu (pour tes deux derniers posts, j'ai commencé à rédiger lorsqu'il n'y en avait qu'un)
Maintenant que j'ai retrouvé la bonne manière de procéder, ça devrait être relativement simple d'envisager un placement dynamique des controles : des triplets nom du paramètre - valeur - unité regroupés à l'intérieur de rubriques dont le nom est en retrait et en gras.
Au fur et à mesure du développement et au besoin, on ajoute des triplets. Lorsqu'on arrive en bas de la fenêtre, on continue la rubrique en haut à droite dans une nouvelle colonne, et ainsi de suite tant qu'il y a de la place sur la fenêtre. Par contre, si on dépasse la capacité de la fenetre, il faudra ajouter des ascenseurs, et je n'ai jamais fait.
Et je peux toujours reprendre et approfondir le travail que tu m'as fourni en lien.
Freeform mériterait d'être amélioré : pour l'instant je n'ai pas trouvé comment faire une sélection multiple, qui aiderait beaucoup à déplacer un bloc de contrôles pour insérer de nouveaux contrôles.
Je vous retrouve le week-end prochain, là j'ai explosé le budget "temps consacré à JustBasic" pour la semaine
Edité par Christophe Le 04/08/2020 à 20h31
Maintenant que j'ai retrouvé la bonne manière de procéder, ça devrait être relativement simple d'envisager un placement dynamique des controles : des triplets nom du paramètre - valeur - unité regroupés à l'intérieur de rubriques dont le nom est en retrait et en gras.
Au fur et à mesure du développement et au besoin, on ajoute des triplets. Lorsqu'on arrive en bas de la fenêtre, on continue la rubrique en haut à droite dans une nouvelle colonne, et ainsi de suite tant qu'il y a de la place sur la fenêtre. Par contre, si on dépasse la capacité de la fenetre, il faudra ajouter des ascenseurs, et je n'ai jamais fait.
Et je peux toujours reprendre et approfondir le travail que tu m'as fourni en lien.
Freeform mériterait d'être amélioré : pour l'instant je n'ai pas trouvé comment faire une sélection multiple, qui aiderait beaucoup à déplacer un bloc de contrôles pour insérer de nouveaux contrôles.
Je vous retrouve le week-end prochain, là j'ai explosé le budget "temps consacré à JustBasic" pour la semaine

Edité par Christophe Le 04/08/2020 à 20h31
____________________
Just BASIC v2.0 :
utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc
Just BASIC v2.0 :
Citation:
LOL !
Citation:
Oui mais tes nouveaux triplets tu es bien obligé de les calculer (de PLACER tes contrôles); et à partir de cette constatation, autant mettre les valeurs directement à leurs places (puisque c'est définitif, et que si on veut les changer il faut recalculer.
Le but ce serait de ne pas avoir à calculer; et pour ça il faudrait faire des modulos; on pourrait alors réduire les calculs en affectant aux contrôles leur nombre de modules; mais ça reste pas simple à coder. On pourrait alors (peut-être) penser par "blocks".
Le placement automatique est laid par nature, sauf à y mettre une touche d'aléatoire ou de fantaisie (propre à la nature du contrôle et à ses liens).
Citation:
Hum...Je crois que les ascenseurs ce n'est que pour l'image (bmp); s'il n'y a pas assez de place il faut agrandir la fenêtre (intérêt du placement relatif)
Citation:
Je n'ai pas trouvé le code du truc; c'est faisable,mais c'est justement le déplacement par block qui est le "saut" de complexité.
Citation:
Bah, ça pourrait être le jeu vidéo ou les timbres poste, ou va savoir quoi...
Good luck, à la prochaine...
Maintenant que j'ai retrouvé la bonne manière de procéder.
LOL !
Citation:
Au fur et à mesure du développement et au besoin, on ajoute des triplets
Oui mais tes nouveaux triplets tu es bien obligé de les calculer (de PLACER tes contrôles); et à partir de cette constatation, autant mettre les valeurs directement à leurs places (puisque c'est définitif, et que si on veut les changer il faut recalculer.
Le but ce serait de ne pas avoir à calculer; et pour ça il faudrait faire des modulos; on pourrait alors réduire les calculs en affectant aux contrôles leur nombre de modules; mais ça reste pas simple à coder. On pourrait alors (peut-être) penser par "blocks".
Le placement automatique est laid par nature, sauf à y mettre une touche d'aléatoire ou de fantaisie (propre à la nature du contrôle et à ses liens).
Citation:
il faudra ajouter des ascenseurs, et je n'ai jamais fait
Hum...Je crois que les ascenseurs ce n'est que pour l'image (bmp); s'il n'y a pas assez de place il faut agrandir la fenêtre (intérêt du placement relatif)
Citation:
Freeform mériterait d'être amélioré
Je n'ai pas trouvé le code du truc; c'est faisable,mais c'est justement le déplacement par block qui est le "saut" de complexité.
Citation:
j'ai explosé le budget "temps consacré à JustBasic" pour la semaine
Bah, ça pourrait être le jeu vidéo ou les timbres poste, ou va savoir quoi...
Good luck, à la prochaine...
____________________
Roro
Roro
• Index
1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie