Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Demande de nouvelles commandes. | |
|
+4Jean Claude Jicehel Klaus Pedro 8 participants | Auteur | Message |
---|
Pedro
Nombre de messages : 1595 Date d'inscription : 19/01/2014
| Sujet: Demande de nouvelles commandes. Sam 4 Oct 2014 - 8:40 | |
| Bonjour.
J'aimerais l'intégration en natif des commandes suivantes:
Replace$ (string$, find$, replace$)
string$ = chaîne de recherche find$ = chaîne à remplacer dans string$ replace$ = chaîne de remplacement
Oval x,y,width,height[,solid]
[solid] = 1: ovale solide
CreateObject(type$,x,y,width,height,parent,string$)
Permettrait la création de tout type d'objet, et réduirait de façon drastique la longueur des programmes.
Ex.: CreateObject("button",200,200,300,30,0,"Quitter")
Merci aux panoramiciens de ne pas me répondre en me disant qu'il est possible d'effectuer ces actions en Panoramic !! ça je sais.
Merci Jack. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Demande de nouvelles commandes. Sam 4 Oct 2014 - 9:14 | |
| - Citation :
- CreateObject(type$,x,y,width,height,parent,string$)
Tu peux faire cela en créant une SUB: - Code:
-
sub CreateObject(type$,x,y,width,height,parent,string$) if type$=...
end_if ... end_sub | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Demande de nouvelles commandes. Sam 4 Oct 2014 - 9:17 | |
| Perso, je trouve les 2 premières demandes utiles (Replace$ et Oval) Je rajouterais même la commande arc qui serait pratique mais reste à voir (x_centre, y_centre, x point de départ, y point de départ, angle dans le sens horaire (valeur négative autorisée) ) ? Pour la troisième, même si tu as demandé qu'on ne te dise pas que l'on puisse le faire en Panoramic, je le dis quand même car c'est le genre de sous programme que l'on peut faire et adapter très simplement et de manière optimisée par rapport à l'usage que l'on en a. J'aurais moi même (et j'ai dû le faire d'ailleurs) demander cet objet il y a un an ou deux, mais maintenant, je ne la trouve plus utile (je donne mon opinion, tout comme tu as le droit d'avoir la tienne et de ne pas être d'accord avec la mienne ) | |
| | | Invité Invité
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 10:50 | |
| J'ai laissé passé le temps afin que Jack voye ce sujet, et comme il a répondu sur un autre post, je pense que je peux ajouter maintenant mon propos. Si un programme est commencé avec un IDE, le mien le fait, mais je pense que celui de Klaus le fait aussi, même si je ne l'ai pas testé et vu, le codage est fait avec les paramètres de l'objet. Je ne peux que montrer ce que fait le mien, vu que ceux des autres je ne les ai essayé. - exemple pour:button container_option et 2 options:
- Code:
-
LABEL clic_1 :' Button 11 CLIC LABEL choix_femme :' Option 14 CLIC LABEL choix_homme :' Option 15 CLIC BUTTON 11 : CAPTION 11,"bouton" : LEFT 11,200 : TOP 11,100 : WIDTH 11,170 : HEIGHT 11,40 : ON_CLICK 11,clic_1 CONTAINER 12 : LEFT 12,50 : TOP 12,160 : WIDTH 12,650 : HEIGHT 12,340 CONTAINER_OPTION 13 : PARENT 13,12 : LEFT 13,50 : TOP 13,50 : WIDTH 13,190 : HEIGHT 13,150 OPTION 14 : PARENT 14,13 : CAPTION 14,"femme" : LEFT 14,30 : TOP 14,40 : WIDTH 14,150 : HEIGHT 14,30 : ON_CLICK 14,choix_femme OPTION 15 : PARENT 15,13 : CAPTION 15,"homme" : LEFT 15,30 : TOP 15,80 : WIDTH 15,150 : HEIGHT 15,30 : ON_CLICK 15,choix_homme END : ' ###### END ###### END ###### END ###### END ###### END ###### END ####### ================================================== REM "appel par: Button 11 REM caption: "bouton" (on_click) ' ---------------------- ' clic_1: MESSAGE "appel par: Button 11 (on_click)" RETURN ================================================== REM "appel par: Option 14 ' ---------------------- ' choix_femme: MESSAGE "appel par: Option 14 (on_click)" RETURN ================================================== REM "appel par: Option 15 ' ---------------------- ' choix_homme: MESSAGE "appel par: Option 15 (on_click)" RETURN
Si j'interviens c'est que je suis certain que Jack ne fera rien pour cette commande. |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 11:27 | |
| @Cosmos, j'ai eu un peu de mal à comprendre ton message ci-dessus, mais en s'accrochant un minimum, on y arrive.
Je résume: Tu dis que Jack ne fera rien pour la demande de Pédro [CreateObject(type$,x,y,width,height,parent,string$)], du moins c'est ce que j'ai compris.
C'est sur, et j'ajoute que ce n'est pas conforme avec le concept de Panoramic. Je veux dire que Panoramic fourni au programmeur les outils de base pour programmer et que chacun doit se faire ses propres fonctions (si besoin).
Je pense que Pédro dérive un peu, Panoramic n'est pas à son service. Mais je ne peut pas dire qu'il a tort de demander. C'est à Jack de dire les choses.
A+
| |
| | | Invité Invité
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 11:49 | |
| - Citation :
j'ai eu un peu de mal à comprendre ton message ci-dessus, mais en s'accrochant un minimum, on y arrive. Je me suis demandé qu'est ce qui était difficile à comprendre et j'ai relu le premier poste. Effectivement il y avait 3 demandes et évidemment mon tiquet précédent concernait la dernière. Entre le temps de la lecture du post et mon intervention j'ai été dérangé et oublié qu'il y avait d'autres commandes. Pour les deux premières je pense que Pedro a raison et je le suis. |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 12:00 | |
| Pour "REPLACE$" je suis également OK. Je ne me prononce pas pour "Oval x,y,width,height[,solid]", vu que je ne comprends pas, mais c'est dû à mon niveau en maths. A+ | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 12:19 | |
| Bof, quand même, franchement, le replace$ ça peut se faire très facilement dans une toute petite sub de rien du tout... Reste le oval, mais c'est quand même d'un intérêt très discutable ! (je parle de l'intérêt général ) | |
| | | Invité Invité
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 13:50 | |
| - JL35 a écrit:
- Reste le oval, mais c'est quand même d'un intérêt très discutable ! (je parle de l'intérêt général)
Tu exagères quand tu dis cela. Ces dernièrs temps j'en ai eu besoin, et bien quand on n'a pas fait de math comme toi, c'est un casse tête que de trouver. Normalement la commande est plutôt ELLIPSE l,t,width,height. Pour JustBasic c'est ELLIPSE w,h à la position du curseur en GFA-Basic c'est ELLIPSE x,y,rx,ry [,phi0,phi1] centre x,y et 1/2 axes rx et ry |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 18:33 | |
| Salut tout le monde. Je ne suis pas intervenu plus tôt puisque - Pedro Alvarez a écrit:
- Merci aux panoramiciens de ne pas me répondre en me disant qu'il est possible d'effectuer ces actions en Panoramic !!
ça je sais. Maintenant que le sujet pend une autre tournure (tracé d'un arc, d’une ellipse, …) Il y a plus d’un an, j’ai posté SUBs de tracé de figures géométriques à cette adresseVoici le même code, légèrement modifié. Si ça intéresse quelqu'un ... - Code:
-
' ****************************************************************************** ' Procédures de tracé de quelques figures géométriques Par Papydall ' Figures_Geometriques.bas ' ****************************************************************************** Ellipse(250,220,200,100) : pause 2000 : cls Ellipse(250,220,100,200) : pause 2000 : cls
Spirale(300,200,10) : pause 2000 : cls Polygone(250,220,200,3) : pause 2000 : cls : ' triangle ou trigone Polygone(250,220,200,4) : pause 2000 : cls : ' carré ou tétragone Polygone(250,220,200,5) : pause 2000 : cls : ' pentagone Polygone(250,220,200,6) : pause 2000 : cls : ' hexagone Polygone(250,220,200,7) : pause 2000 : cls : ' heptagone Polygone(250,220,200,8) : pause 2000 : cls : ' octogone Polygone(250,220,200,9) : pause 2000 : cls : ' nonagone ou ennéagone Polygone(250,220,200,10) : pause 2000 : cls : ' décagone Polygone(250,220,200,11) : pause 2000 : cls : ' hendécagone Polygone(250,220,200,12) : pause 2000 : cls : ' dodécagone Polygone(250,220,200,20) : pause 2000 : cls : ' icosagone Polygone(250,220,200,100): pause 2000 : cls : ' hécatontagone (on s'approche du cercle) Polygone(250,220,200,1000) : pause 2000 : cls : ' chiliagone (pratiquement un cercle) Polygone(250,220,200,10000): pause 2000 : cls : ' myriagone (pratiquement un cercle)
Pentagramme(250,220,200) : pause 2000 : cls
Coeur(200,250) : pause 2000 : cls
concoide(300,200,100) : pause 2000 : cls
Papillon(300,300,50) : pause 2000 : cls
Napperon(300,220,200) : pause 2000 : cls
Secteur_Circulaire(300,220,0,90,200) : pause 2000 : cls Secteur_Circulaire(300,220,60,120,180) : pause 2000 : cls Secteur_Circulaire(300,220,-30,-60,200): pause 2000 : cls Secteur_Circulaire(300,220,-60,-30,200) : pause 2000 : cls message "That's all folks"
end ' ****************************************************************************** ' Tracé d'une ellipse ' Appel : Ellipse(xc,yc,rx,ry) ' Paramètres: ' xc,yc : coordonnées du centre de l'ellipse ' rx et ry : respectivement rayon horizontal et rayon vertical de l'ellipse ' si rx = ry on obtient un cercle ' Exemple d'appel : ' Ellipse(250,220,100,200) ' Ellipse(250,220,200,100)
SUB Ellipse(xc,yc,rx,ry) dim_local x,y,t,pi,p caption 0,"Ellipse" pi = acos(-1) : p = pi/180 2d_poly_from xc + rx,yc for t = 0 to 2*pi step p x = xc + rx * cos(t) : y = yc + ry * sin(t) : 2d_poly_to x,y next t END_SUB ' ****************************************************************************** ' Tracé d'une spirale ' Appel Spirale(xc,yc,n) ' Paramètres: ' xc,yc : coordonnées du centre de la spirale ' n : nombre de tours ' Exemple d'appel : Spirale(300,200,10)
SUB Spirale(xc,yc,n) dim_local x,y,theta,pi,p caption 0,"Spirale" pi = acos(-1) : p = pi/180 : 2d_poly_from xc,yc for theta = 0 to 2*n*pi step p x = xc + 3 * theta * cos(theta) : y = yc + 3* theta*sin(theta) 2d_poly_to x,y next theta END_SUB ' ****************************************************************************** ' Tracé d'un polygone convexe régulier ' Paramètres : ' xc,yc : coordonnées du centre du polygone ' rayon : rayon du cercle circonscrit au polygone ' Nbcote : nombre des côtés du polygone ' Exemple d'appel : ' Polygone(250,220,200,3) : ' triangle ' Polygone(250,220,200,4) : ' carré ' Polygone(250,220,200,5) : ' pentagone ' Polygone(250,220,200,10) : ' décagone ' Remarque : ' Pour un grand nombre des côtés on obtient un cercle ' Polygone(250,220,200,360) : ' un cercle
SUB Polygone(xc,yc,rayon,NbCote) dim_local x,y,t,pi,p caption 0,"Polygone" pi = acos(-1) : p = 2*pi/NbCote 2d_poly_from xc + rayon,yc for t = 0 to 2*pi+.1 step p x = xc + rayon * cos(t) : y = yc + rayon * sin(t) : 2d_poly_to x,y next t END_SUB ' ****************************************************************************** ' Tracé d'un pentagramme (étoile à 5 sommets) ' Paramètres : ' xc,yc : coordonnées du centre du pentagramme ' rayon : rayon du cercle circonscrit au pentagramme ' Exemple d'appel : ' pentagramme(250,220,200)
SUB Pentagramme(xc,yc,rayon) dim_local x,y,t,pi,p caption 0,"Pentagramme" pi = acos(-1) : p = 4*pi/5 2d_poly_from xc + rayon,yc for t = 0 to 4*pi step p x = xc + rayon * cos(t) : y = yc + rayon * sin(t) : 2d_poly_to x,y next t END_SUB ' ****************************************************************************** ' Tracé d'un coeur ' Paramètres : ' rx et ry détermine l'allure du coeur dans les sens horizontal et vertical ' epais détermine l'épaisseur du tracé en pixels ' la valeur de epais doit être compris entre 1 et 20, sinon elle sera de 5 pixels ' Exemple d'appel : ' Coeur(200,250,10)
SUB Coeur(rx,ry) dim_local x,y,xc,yc,t,pi,p caption 0,"Coeur" pi = acos(-1) : p = pi/180 : xc = width(0)*.5 : yc = (ry+height(0))*.5 2d_poly_from xc,yc-ry for t = 0 to 2*pi step p x = 4*cos(t)*cos(t)*sin(t)*sin(t)*sin(t) y = (3-2*cos(t)*cos(t))*cos(t)*cos(t) : 2d_poly_to xc+rx*x, yc-ry*y next t END_SUB ' ****************************************************************************** ' Conchoïde de rosace ' Courbe étudiée par Moritz en 1917 ' Autres noms : ' Pétale géométrique, courbe botanique, rosace de Troie (dans le cas e > 1) ' courbe cyclo-harmonique, sinusoïde circulaire ' ------------------------------------------------------------------------------ ' Equation polaire : rho = r *(1 + e * cos(n * theta)) avec n réel > 0 ' Paramètres : ' xc,yc : coordonnées du centre de la concoïde ' r : coefficient multiplicateur ' Exemple d'appel : ' Concoide(300,200,100)
SUB Concoide(xc,yc,r) dim_local pi,p,x,y,theta,rho,n,e caption 0,"Concoïde" pi = acos(-1) : p = pi/180 n = 9/7 : e = .8 : ' Modifier les valeurs de ces 2 constantes pour obtenir différentes formes theta = 0 : rho = (1+e*cos(n*theta)) : x = rho*cos(theta) : y = rho*sin(theta) 2d_poly_from xc+x*r, yc+y for theta = p to 20*pi step p rho = (1+e*cos(n*theta)) : x = rho*cos(theta) : y = rho*sin(theta) 2d_poly_to xc+r*x, yc+r*y next theta END_SUB ' ****************************************************************************** ' Tracé d'un papillon ' Paramètres : ' xc,yc : coordonnées du centre du papillon ' coef : coeffitient multiplicateur ' Exemple d'appel : ' Papillon(300,300,50)
SUB Papillon(xc,yc,coef) dim_local r,theta,x,y,pi,p caption 0,"Papillon" pi = acos(-1) : p = pi/180 2d_poly_from xc,yc for theta = 0 to 20*pi step p r = exp(sin(theta)) - 2 * cos(4*theta) + sin(1/24 * power((2*theta - pi),5)) x = r*cos(theta) : y = r*sin(theta) 2d_pen_color rnd(255),rnd(155),rnd(25) : 2d_poly_to xc+coef*x,yc-coef*y next theta END_SUB ' ****************************************************************************** ' Tracé d'un napperon ' Paramètres : ' xc,yc : coordonnées du centre du napperon ' r : rayon du cercle circonscrit au napperon ' Exemple d'appel : Napperon(300,220,200)
SUB Napperon(xc,yc,r) dim_local a,b,x,y,n,pi,p,x0,y0 caption 0,"Napperon" n = 25 : pi = acos(-1) : p = 2*pi/n for a = 0 to 2*pi step p x0 = xc + r * cos(a) : y0 = yc + r * sin(a) for b = a + p to 2 * pi - p step p x = xc + r * cos(b) : y = yc + r * sin(b) : 2d_line x0,y0,x,y next b next a END_SUB ' ****************************************************************************** ' Tracé d'un secteur circulaire ' Paramètres: ' xc,yc : coordonnées du centre du secteur ' deb,fin : respectivement angle de debut et angle de fin du tracé en DEGRES ' rayon : rayon du secteur ' REMARQUES : ' * Le sens du tracé est le sens trigonométrique (sens anti-horraire) ' * les angles deb et fin peuvent être positifs, négatifs ou nuls. ' * Ils peuvent être > 360° en valeur absolue. ' Exemple d'appel : ' Secteur_Circulaire(300,220,0,90,200) ' Secteur_Circulaire(300,220,60,120,150) ' Secteur_Circulaire(300,220,-30,-60,200) ' Secteur_Circulaire(300,220,-60,-30,200)
SUB Secteur_Circulaire(xc,yc,deb,fin,rayon) dim_local x,y,a,pi,rad,p caption 0,"Secteur circulaire" pi = acos(-1) : rad = pi/180 : deb = mod(deb,360) : fin = mod(fin,360) if deb < 0 then deb = deb + 360 if fin < 0 then fin = fin + 360 if deb > fin then deb = deb - 360 2d_poly_from xc,yc for a = deb to fin x = rayon*cos(a*rad) : y = rayon*sin(a*rad) : 2d_poly_to xc+x,yc-y next a 2d_poly_to xc,yc END_SUB ' ******************************************************************************
| |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 19:10 | |
| Bien intéressant tout ça papydall, même si on n'a pas tous les jours l'occasion de tracer une conchoïde, mais qui sait ? | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Dim 5 Oct 2014 - 19:20 | |
| Si les uns lisaient le travail des autres...
Il me semble bien avoir publié une liste de procédures concernant la géométrie sur "Panoramic le mag" rubrique "Procédures". Apparemment, certains ne vont pas souvent sur le site, l' effet de mode serait il passé ?... | |
| | | Invité Invité
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 20:55 | |
| - JL35 a écrit:
- Bien intéressant tout ça papydall, même si on n'a pas tous les jours l'occasion de tracer une conchoïde, mais qui sait ?
J'ai pas envie de faire la guéguerre, je suis seulement surpris par ton intervention. Certe Papydall parle de concoide, mais de là à penser que la demande d'un commande comme ellipse serait une cochonnerie (je traduis par ce que je pense que c'est le mot que tu t'ais refusé de dire), ne me paraît pas normal. Le fait que cette commande ne t'intéresse pas, ne signifie pas qu'elle n'a pas de sens pour les autres. Je n'interviens pas sur les tags, où les programmes sur les photos qui te passionnent, et je ne dis pas que c'est une ... Je suis certain que les mots ont dépassés ta pensée, et j'en resterais là. A Papydall, certes tu as fait des sub pour toute une série de figure. Le problème lorsqu'on est dans un programme, il est pas toujours évident de retrouver celles-ci à l'instant précis du besoin. Depuis X temps, je n'arrive plus à suivre ce qui est publié, de temps en temps, j'en essaye un, des fois l'autre, mais chaque fois que je cherche quelque chose, j'y passe du temps, et bien souvent je dois m'arréter avant, car la programmation est devenu un travail disons séquentiel pour moi. Lorsque qu'une commande existe, on la prend de suite en regardant l'aide si nécessaire, et on continu. Par contre tes subs publiées plus haut, je vais les prendre de suite. Je vous prie de prendre ce tiquet avec "délicatesse", je ne cherche pas la bagarre, je ne réagis qu'à ce que je lis. |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 21:23 | |
| Bon cosmos, je ne vais pas polémiquer avec toi pour ne pas être malpoli, parce que ce sont tes mots qui ont dépassé ma pensée, pas les miens. Aller dire que j'aurais pensé qu'une demande d'ellipse serait une cochonnerie, ça je ne peux pas l'accepter, tant pis pour toi si c'est ça qui te vient à l'esprit, mais s'il te plait, ne me prête pas tes propres mots et tes propres réflexions, ce n'est pas mon genre à moi en tout cas. Et comme tu n'as pas l'air du genre à faire dans la délicatesse et le savoir-vivre, j'en resterai là avec toi, nous n'avons rien en commun. A bon entendeur, salut ! | |
| | | Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: Re: Demande de nouvelles commandes. Dim 5 Oct 2014 - 21:31 | |
| La discussion est close. Je verrouille le sujet. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | Contenu sponsorisé
| Sujet: Re: Demande de nouvelles commandes. | |
| |
| | | | Demande de nouvelles commandes. | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |