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
» API Windows
par Klaus Aujourd'hui à 3:21

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par pascal10000 Hier à 17:49

» Cartes de voeux, menus, etc.
par JL35 Hier à 17:48

» Mah-Jong européen new-look
par jjn4 Hier à 15:48

» a l'aide klaus
par Minibug Hier à 11:42

» KGF_dll - nouvelles versions
par Minibug Hier à 1:48

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Hier à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

» j'ai un petit problème
par JL35 Mer 6 Déc 2017 - 21:58

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 robotique et Panoramic

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
AuteurMessage
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: robotique et Panoramic   Mer 20 Mar 2013 - 2:48

Mindstorm, je t'ais fait rapidement un version remaniée de ton programme. Ca donne ça:
Code:
' Simulation de sortie com parallele
' par Mindstorm et Jicehel
' version 1.0 du 20/03/2013

' Déclarations
dim s%(8), OUT888%, tmp% : OUT888%=0
label sortie, convbinaire

' Préparation des objets
for tmp% = 1 to 8
  picture tmp%      : left tmp%,40*tmp%-25    : top tmp%,170
  button 10+tmp%    : left 10 +tmp%,40*tmp%-30 : top 10 + tmp%,100
  height 10+tmp%,30 : width 10+tmp%,30 : caption 10 + tmp%, chr$(64+tmp%)
  on_click 10+tmp%,sortie
  s%(tmp%) = 0 : file_load tmp%,"off.bmp"
  print_locate 40*tmp%-20,70 : print s%(tmp%)
next tmp%

button 100 : top 100,300 : left 100,50 : caption 100,DONC : on_click 100,convbinaire
print_locate 200,20  : print "Allume les lampes que tu souhaite"
print_locate 200,280 : print "click pour voir le code"
end

' Sous programme permettant de basculer l'état de la sortie sur laquelle on a cliqué
sortie:
  if number_click > 9 and number_click < 19
    tmp% = number_click - 10 : s%(tmp%) = odd(s%(tmp%)+1)
    print_locate 40*tmp%-20,70 : print s%(tmp%)
    if s%(tmp%)=1 then file_load tmp%,"on.bmp" : else: file_load tmp%,"off.bmp"
  end_if
return

' Convertion en valeur décimale de l'état des 8 sorties
convbinaire:
  out888% = 0
  for tmp% = 1 to 8 : out888% = out888% + s%(tmp%)*power(2,tmp%-1) : next tmp%
  print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,"+str$( out888% )+"          "
return

L'affichage n'est pas encore parfait et je l'ais laissé exprès pour voir si tu as compris afin de remplacer les locate et les print par des ALPHA que tu peux paramétrer comme des pictures (LEFT, TOP, ...)
Tu verras c'est plus pratique et le résultat est plus propre.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: robotique et Panoramic   Mer 20 Mar 2013 - 14:01

Salut tout le monde.
@Mindstorm et Jicehel

J’ai testé le code et c’est bien.
Voici mes sempiternels mais : Laughing

1) Les boutons (BUTTON) cliquables ont des numéros qui vont de 11 à 18.
Ils sont définis à partir de : ' Préparation des objets.
Alors pourquoi, dans le sous-programmes sortie,cette ligne :
Code:
 if number_click > 9 and number_click < 19
et le end_if qui va avec ?
Ne sont-ils pas nécessairement dans cette plage ?
Donc ces 2 lignes sont superflues et peuvent être omises sans regret.

2) Pour l’affichage du code.
Si j’allume la lampe A, le code est 1
Si j’allume la lampe H, le code est 128
Je vois que dans A B C D E F G H, tu considères A comme bit de poids faible (Least Significant Bit LSB) et H comme bit de poids fort (Most Significant Bit MSB).
Or ce point de vue n’est pas correct (à mon avis) et c’est plutôt l’inverse qu’il faut considérer. Mais ce n’est que mon point de vue et je ne l’impose pas !
Donc, dans le sous-programme ConvBinaire :, modifier comme ceci :
Code:
for tmp% = 1 to 8: out888% = out888% + s%(9-tmp%)*power(2,tmp%-1) : next tmp%

A+ lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: robotique et Panoramic   Mer 20 Mar 2013 - 15:26

@Papydall

Tu vois clair, comme d'habitude... Very Happy


@tous

intéressant ce petit programme, il faudrait que je me trouve un vieux PC pour m'amuser à gérer des Leds.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: robotique et Panoramic   Mer 20 Mar 2013 - 15:58

Bonjour a tous
je n ai pas asse de memoire vive pour vous suivre a se rythme
cela dit j apprecis beaucoup vos remarques.
Heureusement j ai encore quelques idees et se soir je vous fait une nouvelle vertion
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: robotique et Panoramic   Mer 20 Mar 2013 - 18:50

Jean Claude a écrit:
@Papydall
Tu vois clair, comme d'habitude... Very Happy

Et pourtant j'ai toujours les mêmes lunettes !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: robotique et Panoramic   Mer 20 Mar 2013 - 23:18

merci a tous
je trouve particulierement utile le chr$
et les automatisations de creation de picture, button etc
je vais tenté de l'utilisé
il reste que l'on perds en lisibilité pour les debutants
@ papydall
attention les 0 et 1 ne sont pas là par hazard il faut donc inverser les lettres des buttons, toujour pour la lisibilité
je tente la chose
a bientôt a tous
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: robotique et Panoramic   Jeu 21 Mar 2013 - 21:40

bounce
bonsoir a tous
voici la dernière version malheureusement sans alpha et surement avec quelques lourdeurs
pour me faire pardonner j'ai rajouté un affichage
Code:
' Simulation de sortie com parallele
' par Mindstorm , Jicehel et papydall
' version 1.1 du 21/03/2013

' Déclarations
dim s%(8), OUT888%, tmp% ,aff%
label sortie, convbinaire,raz

' Préparation des objets
for tmp% = 1 to 8
  picture tmp%    : left tmp%,40*tmp%+85  : top tmp%,100 :file_load tmp%,"off.bmp"
  on_click tmp%,sortie
  s%(tmp%) = 0
  print_locate 40*tmp%+90,70 : print s%(tmp%)
next tmp%

picture 11 :width 11,30 :height 11,5 :top 11,250 :left 11,350
picture 12 :width 12,5 :height 12,30 :top 12,220 :left 12,380
picture 13 :width 13,5 :height 13,30 :top 13,185 :left 13,380
picture 14 :width 14,30 :height 14,5 :top 14,215 :left 14,350
picture 15 :width 15,5 :height 15,30 :top 15,185 :left 15,345
picture 16 :width 16,5 :height 16,30 :top 16,220 :left 16,345
picture 17 :width 17,30 :height 17,5 :top 17,180 :left 17,350
 file_load 11,"hOFF.bmp"
 file_load 12,"VOFF.bmp"
 file_load 13,"VOFF.bmp"
 file_load 14,"hOFF.bmp"
 file_load 15,"VOFF.bmp"
 file_load 16,"VOFF.bmp"
 file_load 17,"hOFF.bmp"
print_locate 50,200 : print "exemple d'application"

button 100 : top 100,300 : left 100,50 : caption 100,DONC : on_click 100,convbinaire
print_locate 60,20  : print "Click sur les lampes dont tu souhaite changer l'etat"
print_locate 200,280 : print "click pour voir le code"

button 101 : top 101,350 : left 101,50 :caption 101,RAZ: on_click 101,raz
end

' Sous programme permettant de basculer l'état de la sortie sur laquelle on a cliqué
sortie:

tmp% = number_click  : s%(tmp%) = odd(s%(tmp%)+1)
print_locate 40*tmp%+90,70 : print s%(tmp%)
if s%(tmp%)=1  then file_load tmp%,"on.bmp" : else: file_load tmp%,"off.bmp"

aff%= number_click +10
if aff%=11 then file_load 11,"h.bmp"
if aff%=12 then file_load 12,"V.bmp"
if aff%=13 then file_load 13,"V.bmp"
if aff%=14 then file_load 14,"h.bmp"
if aff%=15 then file_load 15,"V.bmp"
if aff%=16 then file_load 16,"V.bmp"
if aff%=17 then file_load 17,"h.bmp"

return

' Convertion en valeur décimale de l'état des 8 sorties
convbinaire:

  out888% = 0
  for tmp% = 1 to 8: out888% = out888% + s%(9-tmp%)*power(2,tmp%-1) : next tmp%
  print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,"+str$( out888% )

return

' remise a zero general
raz:
 file_load 11,"hOFF.bmp"
 file_load 12,"VOFF.bmp"
 file_load 13,"VOFF.bmp"
 file_load 14,"hOFF.bmp"
 file_load 15,"VOFF.bmp"
 file_load 16,"VOFF.bmp"
 file_load 17,"hOFF.bmp"
 for tmp% = 1 to 8
 file_load tmp%,"off.bmp"
  s%(tmp%) = 0
  print_locate 40*tmp%+90,70 : print s%(tmp%)
 next tmp%
 print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,0    "

return



maintenant les images:


bonsoir a tous
Mindstrorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: robotique et Panoramic   Jeu 21 Mar 2013 - 22:36

Je suis allé voir sur ton webdev et j'ai lancé l'exécutable, çà me rappelle les premières calculatrices. Very Happy

Ce qui serait bien, ce serait que tu déposes les images et les sources.bas (le tout dans un dossier) sur ton webdev, pour que l'on puisse faire des test avec l'éditeur Panoramic.

Je vois que tu as été voir le sujet créate-object , je pense que tu ne devrais pas trop t'y attarder. Ne t'inquiète pas, je ne t'interdit rien. Simplement la création assistée d'objets a ses avantages, mais elle a aussi ses inconvénient.
Je m'explique: pour quelqu'un qui découvre comme toi Panoramic (et tu promets) il est, à mon avis, préférable de créer tes objets avec les mots-clé Panoramic (ce que tu fais actuellement) pour que tu te familiarises bien avec le langage.
Bien sur c'est bien de tester les codes des autres, c'est là qu'on découvre des bonnes combines.
Mais là j'arrête, je suis pas dans ton sujet.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: robotique et Panoramic   Jeu 21 Mar 2013 - 23:26

bonsoir jean claude
merci pour ton conseil, je croyais que le code dans le message etait exploitable.
je viens de mettre a jour mon webdav avec un fichier .ZIP
pour la presentation URSS il est vrai qu'en robotique l'efficacité du robot prime sur l'interface.Il faudra que je regarde se que vous faite !
encore merci
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: robotique et Panoramic   Ven 22 Mar 2013 - 0:49

Mindstorm, j'avais des petits problèmes d'affichage et quelques fautes.
Je te mets une version de ton programme modifié (Les segments s'allument et s'éteignent, la valeur à envoyer s'affiche correctement, ...)
Code:
' Simulation de sortie com parallele
' par Mindstorm , Jicehel et papydall
' version 1.1 du 21/03/2013

' Déclarations
dim s%(8), OUT888%, tmp% ,aff%
label sortie, convbinaire,raz
caption 0,"Simulation de sortie com parallele - version 1.2 par Mindstorm"

' Préparation des objets
for tmp% = 1 to 8
  picture tmp%    : left tmp%,40*tmp%+85  : top tmp%,100 :file_load tmp%,"off.bmp"
  if tmp% < 8
    picture 10+tmp%
    if tmp%=1 or tmp%=4 or tmp%=7
      width 10+tmp%,30 :height 10+tmp%,5 : left 10+tmp%,350
      top 10+tmp%, 250-int(tmp%/3)*35 : file_load 10+tmp%,"hOFF.bmp"
    else
      width 10+tmp%,5 : height 10+tmp%,30 : file_load 10+tmp%,"VOFF.bmp"
      if tmp% = 2 then top 12,220 :left 12,380
      if tmp% = 3 then top 13,185 :left 13,380
      if tmp% = 5 then top 15,185 :left 15,345
      if tmp% = 6 then top 16,220 :left 16,345
    end_if
  end_if
  on_click tmp%,sortie
  s%(tmp%) = 0
  print_locate 40*tmp%+90,70 : print s%(tmp%)
next tmp%

button 100 : top 100,300 : left 100,50 : caption 100,DONC : on_click 100,convbinaire
print_locate 60,30  : print "Cliques sur les lampes dont tu souhaites changer l'état"
print_locate 150,280 : print "Cliques pour voir le code à envoyer sur le port parallèle"

button 101 : top 101,350 : left 101,50 :caption 101,RAZ: on_click 101,raz
end

' Sous programme permettant de basculer l'état de la sortie sur laquelle on a cliqué
sortie:

tmp% = number_click  : s%(tmp%) = odd(s%(tmp%)+1)
print_locate 40*tmp%+90,70 : print s%(tmp%)
if s%(tmp%)=1  then file_load tmp%,"on.bmp" : else: file_load tmp%,"off.bmp"

if tmp% < 8
  aff%= tmp% +10
  if (aff%=11 or aff%=14 or aff%=17)
    if s%(tmp%) = 1 then file_load aff%,"h.bmp":else:file_load aff%,"hOFF.bmp"
  else
    if s%(tmp%) = 1 then file_load aff%,"V.bmp":else:file_load aff%,"vOFF.bmp"
  end_if
end_if
return

' Convertion en valeur décimale de l'état des 8 sorties
convbinaire:

  out888% = 0
  for tmp% = 1 to 8: out888% = out888% + s%(9-tmp%)*power(2,tmp%-1) : next tmp%
  print_locate 150,300 : print "La commande sera: PARALLEL_OUT 888,"+str$( out888% )+"        "

return

' remise a zero general
raz:
 file_load 11,"hOFF.bmp"
 file_load 12,"VOFF.bmp"
 file_load 13,"VOFF.bmp"
 file_load 14,"hOFF.bmp"
 file_load 15,"VOFF.bmp"
 file_load 16,"VOFF.bmp"
 file_load 17,"hOFF.bmp"
 for tmp% = 1 to 8
 file_load tmp%,"off.bmp"
  s%(tmp%) = 0
  print_locate 40*tmp%+90,70 : print s%(tmp%)
 next tmp%
 print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,0    "

return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: robotique et Panoramic   Ven 22 Mar 2013 - 1:21

bonsoir jicehel
chapeau je ne pensais pas pouvoir compacter a se point, j'ai perdu beaucoup de temps sur la RAZ avec un resultat moyen moyen.
je me suis permis d'appliquer la methode papydall et j'ai suprimer un if end_if a ta modif.
je profite de ces ligne pour demander si quelqu un comprend pourquoi il y a une zone vers 0,0 ou tout s'efface au lancement du programme (c'est pour cela que j'ai tout decalé vers la droite)
encore merci
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: robotique et Panoramic   Ven 22 Mar 2013 - 1:33

oui, c'est là que ce créaient les objets
Comme tu utilise des print, le contenu est effacé.
Le print est éphémère contrairement aux alphas.
Bon je ne t'ai pas mis les alpha dans le source pour que tu apprennes à t'en servir, mais c'est super simple, tu verras Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: robotique et Panoramic   Ven 22 Mar 2013 - 1:34

Sans rentrer dans le détail de ton programme, je peux cependant t'expliquer ceci:

Tu fais des PRINT dans la FORM 0, pour afficher des informations. A priori, cela semble le plus simple, et quand on vient d'un Basic classique, cela paraît évidemment la technque à utiliser.

Mais c'est différent avec Panoramic ! Les commandes PRINT, PRINT_LOCATE etc sont déconseillées sur la form 0. Pourquoi ? Parce que le résultat n'est pas "persistant" ! Essaie de placer par exemple un bloc-notes, ou un explorateur internet, par-dessus ta form 0, puis fais disparaître ce programme à nouveau. Resultat: absolument tout ce que tu as affiché par PRINT sur la form 0, a disparu !

Pour afficher des informations sur la form 0, il faut utiliser les objets de Panoramic: ALPHA, EDIT, MEMO etc.
Tu peux aussi placer un PICTURE sur la form 0, faire PRINT_TARGET_IS avec le numéro du picture, et placer tes PRINT ainsi dans le picture. Là, c'est persistant ! Plus de problème d'effacement, même en position (0,0) si tu places le picture à cet endroit. Fais simplement
Code:
PICTURE 123
FULL_SPACE 123
PRINT_TARGET_IS 123
en début de ton programme, et le problème sera résolu.

Encore un petit mot sur l'effacement partiel en (0,0): chaque objet que tu crées, se crée automatiquement en (0,0) et efface ainsi automatiquement ce que tu as imprimé à cet endroit. Ensuite, tu choisis TOP et LEFT de cet objet ce qui le déplace, mais le mal est déjà fait...

Lis les tutos sur Panoramic et le guide d'utilisateur. Il y a plein d'infos utiles.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5613
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: robotique et Panoramic   Ven 22 Mar 2013 - 3:09

Salut Mindstorm

Bon, moi aussi, j’apporte mon grain de sel.
J’ai ajouté un bouton QUITTER et le sous-programme qui va avec.

Aussi pour le texte du caption, je préfère mettre le texte entre guillemets bien qu’il n’y ait pas d’erreur si on l’écrit sans guillemets.
Simple question d’habitude mais aussi de logique puisqu’il s’agit bel et bien d’une chaîne de caractères.

Enfin, l’instruction RETURN du sous-programme QUIT n’est pas indispensable et peut être omise puisque le programme n’arrive jamais à cette instruction : TERMINATE l’en empêche.
Mais moi, je la code toujours pour respecter la syntaxe d’un sous-programme.

Code:
' Simulation de sortie com parallele
' par Mindstorm , Jicehel et papydall
' version 1.1 du 21/03/2013

' Déclarations
dim s%(8), OUT888%, tmp% ,aff%
label sortie, convbinaire,raz ,quit
caption 0,"Simulation de sortie com parallele - version 1.2 par Mindstorm"

' Préparation des objets
for tmp% = 1 to 8
  picture tmp%    : left tmp%,40*tmp%+85  : top tmp%,100 : file_load tmp%,"off.bmp"
  if tmp% < 8
    picture 10+tmp%
    if tmp%=1 or tmp%=4 or tmp%=7
      width 10+tmp%,30 :height 10+tmp%,5 : left 10+tmp%,350
      top 10+tmp%, 250-int(tmp%/3)*35 :  file_load 10+tmp%,"hOFF.bmp"
    else
      width 10+tmp%,5 : height 10+tmp%,30 : file_load 10+tmp%,"VOFF.bmp"
      if tmp% = 2 then top 12,220 :left 12,380
      if tmp% = 3 then top 13,185 :left 13,380
      if tmp% = 5 then top 15,185 :left 15,345
      if tmp% = 6 then top 16,220 :left 16,345
    end_if
  end_if
  on_click tmp%,sortie
  s%(tmp%) = 0
  print_locate 40*tmp%+90,70 : print s%(tmp%)
next tmp%

button 100 : top 100,300 : left 100,50 : caption 100,"DONC" : on_click 100,convbinaire
print_locate 60,30  : print "Cliques sur les lampes dont tu souhaites changer l'état"
print_locate 150,280 : print "Cliques pour voir le code à envoyer sur le port parallèle"

button 101 : top 101,350 : left 101,50 :caption 101,"RAZ": on_click 101,raz
button 102 : top 102,400 : left 102,50 : caption 102,"QUITTER" : on_click 102,quit
end
' ==============================================================================
' Sous programme permettant de basculer l'état de la sortie sur laquelle on a cliqué
sortie:

tmp% = number_click  : s%(tmp%) = odd(s%(tmp%)+1)
print_locate 40*tmp%+90,70 : print s%(tmp%)
if s%(tmp%)=1  then file_load tmp%,"on.bmp" : else: file_load tmp%,"off.bmp"

if tmp% < 8
  aff%= tmp% +10
  if (aff%=11 or aff%=14 or aff%=17)
    if s%(tmp%) = 1 then file_load aff%,"h.bmp":else:file_load aff%,"hOFF.bmp"
  else
    if s%(tmp%) = 1 then file_load aff%,"V.bmp":else:file_load aff%,"vOFF.bmp"
  end_if
end_if
return
' ==============================================================================
' Convertion en valeur décimale de l'état des 8 sorties
convbinaire:

  out888% = 0
  for tmp% = 1 to 8: out888% = out888% + s%(9-tmp%)*power(2,tmp%-1) : next tmp%
  print_locate 150,300 : print "La commande sera: PARALLEL_OUT 888,"+str$( out888% )+"        "

return
' ==============================================================================
' remise à zéro général
raz:
 file_load 11,"hOFF.bmp"
 file_load 12,"VOFF.bmp"
 file_load 13,"VOFF.bmp"
 file_load 14,"hOFF.bmp"
 file_load 15,"VOFF.bmp"
 file_load 16,"VOFF.bmp"
 file_load 17,"hOFF.bmp"
 for tmp% = 1 to 8
 file_load tmp%,"off.bmp"
  s%(tmp%) = 0
  print_locate 40*tmp%+90,70 : print s%(tmp%)
 next tmp%
 print_locate 150,300 : print "la commande sera: PARALLEL_OUT 888,0    "

return
' ==============================================================================
quit:
terminate
return : ' Cette instruction peut être omise car le programme n'y arrive jamais !
' ==============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: robotique et Panoramic   Ven 22 Mar 2013 - 23:56

bonsoir a tous
veuillez m'excuser pour les prints , j'avais mis la prioritée sur l'afficheur et la remise a zero.
maintenant que le mini programme marche je vais le mettre au propre.
a se sujet, il y a une action si l'on click sur un digit et je séche depuis deux jours.A la lecture du programme, il me semble que c'est impossible tmp%<10 et picture >10
bizard je vous dit!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: robotique et Panoramic   Jeu 28 Mar 2013 - 0:11

bonjour a tous
je pense avoir compris la notion de programme orienté objet grace aux ALPHA (merci jicehel)
je remercie egalement papydall, klaus,jean claude et tout ceux de qui je me suis inspiré study
nous allons , maintenant, tenter de faire bouger automatiquement un robot dans un air de jeu scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: robotique et Panoramic   Jeu 28 Mar 2013 - 0:24

La programmation objet c'est autre chose encore. Désolé. La programmation objet peut être implémentée en Panoramic, mais pas simplement contrairement à la programmation évènementielle pour laquelle Panoramic est parfaitement adapté (comme le Visual Basic), mais je laisse de théoriciens expliquer mieux les choses avec de belles définitions Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 765
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: robotique et Panoramic   Jeu 28 Mar 2013 - 11:07

Jicehel a écrit:
La programmation objet peut être implémentée en Panoramic
Peux-tu nous expliquer comment ?

Parce que sans définitions de types, sans vraies procédures et fonctions, je ne vois pas ...

Peut-être que ce sera possible lorsque Panoramic sera intégré à FreeBASIC, mais pour le moment ... ???
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Jicehel

avatar

Nombre de messages : 5863
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: robotique et Panoramic   Jeu 28 Mar 2013 - 11:25

Exactement Jean Debord, c'est ce que j'ai essayé de dire : pas simplement.
Il faut tout définir à la main.
Il faut utiliser des procédures liées aux objets, se faire des évènements, etc ... je n'étais pas rentré dans le détail pour ne pas compliquer ma remarque qui était surtout pour signaler à mindstorm que ce n'était pas de la programmation objet.
Il ne faut pas confondre programmer en utilisant des objets et de la programmation évènementielle avec la programmation objet qui je pense ne serait réellement réalisable que par l'appel de DLL en réalité d'où mon "réalisable mais pas simplement" qui est je te l'accorde peut être un peu trop vague, mais c'est surtout par ce que je n'ai pas réellement réfléchi à la possibilité de le faire qui me parait de toute façon trop complexe. Pour le moment, clairement, une personne qui a l'intention de faire de la programmation objet à intérêt à choisir un autre langage. Ce n'est pas, je pense un objectif pour Panoramic (et on peut se passer de programmation objet pour énormément d'applications, c'est une méthode de travail qui demande une gymnastique intellectuelle particulière)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 765
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: robotique et Panoramic   Jeu 28 Mar 2013 - 11:59

Merci pour ta réponse Jicehel.

Jicehel a écrit:
Ce n'est pas, je pense un objectif pour Panoramic (et on peut se passer de programmation objet pour énormément d'applications, c'est une méthode de travail qui demande une gymnastique intellectuelle particulière)
Je suis entièrement d'acord avec toi. Il vaut mieux que Panoramic reste un langage simple. L'intégration avec FreeBASIC, prévue dans le cadre du nouveau compilateur, donnerait accès à la programmation objet, mais on peut s'en dispenser. De toute manière c'est à Jack d'en décider.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: ENFIN UN ROBOT (PRESQUE)   Mar 2 Avr 2013 - 20:23

Bonsoir a tous
je viens de poster l'ebauche de mon robot merci a JMIX78 pour ces fichiers 3DS.
j'aurais besoin d'un axe de travaille pour l'architecture de mon programme qui vas devenir trop gros pour ma methode (simple is perfect).
pour l'instant il n'est pas du tout robotisé, mais je souhaite faire des modules a juxtaposer pour obtenir un mini programme de robot
et a terme plusieurs robots simultanés.
rien de sorcier mais il me faudrai un peut de methode.
si vous voulez le faire bouger ,j'ai repris les commande d'une vrai pelle.
bon pour ceux qui ne savent pas :
enter pour marche
tygh pour l'avancement (je vous laisse decouvrir qu'il s'agit de trains de chaines)
qd,es,km,ol pour le bras le balancier le godet et la tourelle
haut bas pour la lame
sur le clavier c'est tres simple
merci d'avance pour les conseils
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: robotique et Panoramic   Mer 3 Avr 2013 - 0:24

bonsoir a tous
je progresse mais cela ne vas pas
Suspect Suspect
Code:
dim touche_d,touche_e,touche_g,touche_h,touche_k,touche_l,touche_m,touche_o,touche_q,touche_s,touche_t,touche_y,
dim touche_echap,touche_retour,touche_enter,touche_espace,touche_haut,touche_bas
dim x2,x6,z2,z6,yr6
dim moteur, son2 ,son7 ,ok

label manuel , vue ,auto,affiche,quit,raz,prog
label bibliotheque_touche_1 , bibliotheque_touche_2

moteur=0 : ok=0

form 200
caption 200,"poste de commande"
command_target_is 200
button 100 : top 100,50 : left 100,10 : caption 100,"mode manuel" : on_click 100,affiche
button 101 : top 101,5 : left 101,10 :caption 101,"mode programmation": on_click 101,prog
button 102 : top 102,100 : left 102,10 : caption 102,"QUITTER" : on_click 102,quit

command_target_is 0

end

 affiche:
on_key_down 0,bibliotheque_touche_1
on_key_up 0,bibliotheque_touche_2

scene3d 99
full_space 0 :  full_space 99  : border_hide 0
color 99,0,0,200

3D_SKYBOX 3
3D_LOAD_TEXTURE_TOP 3,"skybox_top.jpg"
3D_LOAD_TEXTURE_LEFT 3,"bskybox_left.jpg"
3D_LOAD_TEXTURE_BACK 3,"bskybox_back.jpg"
3D_LOAD_TEXTURE_FRONT 3,"bskybox_front.jpg"
3D_LOAD_TEXTURE_RIGHT 3,"bskybox_right.jpg"

fog_on
fog_distance_min 5
fog_distance_max 700
fog_color 219,243,165

3d_plane 4
3d_scale 4,50,50,50
3d_x_rotate 4,90
3d_y_position 4,0
3d_load_texture 4,"herbe2.JPG"
3d_u_tile 4,400
3d_v_tile 4,400


3d_plane 14
3d_scale 14,5,5,1
3d_x_rotate 14,90
3d_y_position 14,0.02
3d_load_texture 14,"herbe1.JPG"


3d_mesh 5
3d_load_object 5,"chaine.3ds"
3d_color 5,133,107,34


3d_mesh 6
3d_load_object 6,"chassi.3ds"
3d_chain 6,5
3d_color 6,250,150,0

3d_mesh 7
3d_load_object 7,"vitre.3ds"
3d_chain 7,6
3d_color 7,76,98,112

3d_mesh 8
3d_load_object 8,"bras1.3ds"
3d_chain 8,7
3d_color 8,250,150,0
3d_position 8,0,1.2,1.3

3d_mesh 9
3d_load_object 9,"bras2.3ds"
3d_chain 9,8
3d_color 9,250,150,0
3d_position 9,0,1.7,2

3d_mesh 10
3d_load_object 10,"godet.3ds"
3d_chain 10,9
3d_color 10,86,76,47
3d_position 10,0,-1.1,0.9

3d_mesh 11
3d_load_object 11,"lame.3ds"
3d_chain 11,5
3d_color 11,86,76,47
3d_position 11,0,0.5,1

3d_position 5,0,0,3
3d_y_rotate 5,140

3d_cube 1,1:3d_position 1,35,6,0
3d_cube 2,2 :3d_position 2,-20,0,0

light_position -99,90,130
gosub vue

sound 2 : file_load 2,"moteur.wav"
sound 7 : file_load 7,"klaxon.wav"

timer 1 : timer_interval 1,1 : on_timer 1,manuel

return

manuel:
if touche_enter = 1
  if ok = 0
    if moteur=0
      moteur=1
      else
      moteur=0
      delete 2
      sound 2 : file_load 2,"moteur.wav"
    end_if
  end_if
  ok=1
  else
  ok=0
end_if

if moteur=1
  play 2
  if touche_t+ touche_y=2 then 3d_move 5,0.03
  if touche_g=1 and touche_h=1 then 3d_move 5,(-0.03)
  if touche_t=1  then 3d_y_rotate 5,o3d_y_rotate(5)-0.4
  if touche_h=1  then 3d_y_rotate 5,o3d_y_rotate(5)-0.4
  if touche_y=1  then 3d_y_rotate 5,o3d_y_rotate(5)+0.4
  if touche_g=1  then 3d_y_rotate 5,o3d_y_rotate(5)+0.4
  if touche_q = 1 then 3d_y_rotate 6,o3d_y_rotate(6)+0.5
  if touche_d = 1 then 3d_y_rotate 6,o3d_y_rotate(6)-0.5
  if touche_e = 1 and o3d_x_rotate(9) < 80 then 3d_x_rotate 9,o3d_x_rotate(9)+0.7
  if touche_s = 1 and o3d_x_rotate(9) > -35 then 3d_x_rotate 9,o3d_x_rotate(9)-0.7
  if touche_l = 1 and o3d_x_rotate(8) > -70 then 3d_x_rotate 8,o3d_x_rotate(8)-0.3
  if touche_o = 1 and o3d_x_rotate(8) < 32 then 3d_x_rotate 8,o3d_x_rotate(8)+0.3
  if touche_k = 1 and o3d_x_rotate(10) > -120 then 3d_x_rotate 10,o3d_x_rotate(10)-0.7
  if touche_m = 1 and o3d_x_rotate(10) < 80 then 3d_x_rotate 10,o3d_x_rotate(10)+0.7
  if touche_bas = 1 and o3d_x_rotate(11) > -5 then 3d_x_rotate 11,o3d_x_rotate(11)-0.13
  if touche_haut = 1 and o3d_x_rotate(11) < 8 then 3d_x_rotate 11,o3d_x_rotate(11)+0.13
end_if

if touche_espace = 1
  play 7
end_if
touche_espace = 0

if touche_echap = 1
  TIMER_OFF_ALL
  delete 2
  delete 7
  3d_chain_break 6,5
  3d_chain_break 7,6
  3d_chain_break 8,7
  3d_chain_break 9,8
  3d_chain_break 10,9
  3d_chain_break 11,5
  terminate
end_if

gosub vue
return

auto:

return

vue:
cam_position o3d_x_position(1),o3d_y_position(1),o3d_z_position(1)
point_position o3d_x_position(2),o3d_y_position(2),o3d_z_position(2)
return

bibliotheque_touche_1:
if key_down_code = 68 then touche_d=1
if key_down_code = 69 then touche_e=1
if key_down_code = 71 then touche_g=1
if key_down_code = 72 then touche_h=1
if key_down_code = 75 then touche_k=1
if key_down_code = 76 then touche_l=1
if key_down_code = 77 then touche_m=1
if key_down_code = 79 then touche_o=1
if key_down_code = 81 then touche_q=1
if key_down_code = 83 then touche_s=1
if key_down_code = 84 then touche_t=1
if key_down_code = 89 then touche_y=1
if key_down_code = 27 then touche_echap=1
if key_down_code = 8 then touche_retour=1
if key_down_code = 13 then touche_enter=1
if key_down_code = 32 then touche_espace=1
if key_down_code = 38 then touche_haut=1
if key_down_code = 40 then touche_bas=1
return

bibliotheque_touche_2:
if key_up_code = 68 then touche_d=0
if key_up_code = 69 then touche_e=0
if key_up_code = 71 then touche_g=0
if key_up_code = 72 then touche_h=0
if key_up_code = 75 then touche_k=0
if key_up_code = 76 then touche_l=0
if key_up_code = 77 then touche_m=0
if key_up_code = 79 then touche_o=0
if key_up_code = 81 then touche_q=0
if key_up_code = 83 then touche_s=0
if key_up_code = 84 then touche_t=0
if key_up_code = 89 then touche_y=0
if key_up_code = 27 then touche_echap=0
if key_up_code = 8 then touche_retour=0
if key_up_code = 13 then touche_enter=0
if key_up_code = 38 then touche_haut=0
if key_up_code = 40 then touche_bas=0
return

 quit:
terminate
return

 raz:
 
 return
 
 prog:
 
 return
c'est en forgeant que l'on devient forgerons
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité



MessageSujet: Re: robotique et Panoramic   Mer 3 Avr 2013 - 0:48

Citation :
je viens de poster l'ebauche de mon robot merci a JMIX78 pour ces fichiers 3DS.
j'aurais besoin d'un axe de travaille pour l'architecture de mon programme qui vas devenir trop gros pour ma methode (simple is perfect).
Ca veux dire quoi. Pouvoir découper ton programme, en quelque chose de plus lisible? Ou c'est sur la conception du code?
Revenir en haut Aller en bas
mindstorm

avatar

Nombre de messages : 542
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: robotique et Panoramic   Mer 3 Avr 2013 - 13:20

Bonjour a tous
merci cosmos 70
C est la conception du code qui m inquiete
surtout pour l evolutivitee
deja j ai un soucis de timer qui marche en manuel mais en auto
il vas falloir surement faire mieux, peut etre for i=1 to...
Je n arrive pas encore a refaire apparaitre la fenetre de depar...
C est comme cela qu on apprends
mindstorm
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 3 Avr 2013 - 13:57

Si ton programme est long, très long, voir très très long....
je te suggère de te servir du mode include et de découper
ton programme en modules.

1 Main
2 Initialisations
3 Interface
4 Menus ( Menu clic, Menu double clic, Menu Change )
5, 6, 7,....Les différentes fonctions

Maintenant à toi de voir, tu peux regarder un de mes programmes (que j'ai mis en stand-by pour l'instant )
sur mon webdav "Sources\Chevaux\Gerstion Planing Ecurie"

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: robotique et Panoramic   

Revenir en haut Aller en bas
 
robotique et Panoramic
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 5Aller à la page : Précédent  1, 2, 3, 4, 5  Suivant
 Sujets similaires
-
» EDI réalisé entièrement en Panoramic
» EDI réalisé entièrement en Panoramic
» pas un panoramic mais utilitaires delphi.
» Programmes Panoramic en ligne de commande
» lol, panoramic dans google ;)

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