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
» Reprise du développement et de la documentation
par Fredisland Aujourd'hui à 12:53

» Une copie de Panoramic Editeur
par Jean Claude Hier à 21:03

» Objet 3D_PLANE, réalisation d'un dé en 3D
par Marc Hier à 0:33

» Cacher la barre des tâches
par Klaus Lun 21 Mai 2018 - 21:27

» Une "base de connaissance" - pour jouer ou plus si affinité
par Minibug Lun 21 Mai 2018 - 10:29

» quel est ce comportement de Panoramic_editor
par Oscaribout Lun 21 Mai 2018 - 0:22

» Des FORM(s) Colorés
par Jean Claude Dim 20 Mai 2018 - 20:58

» Recherches dans un fichier texte
par JL35 Dim 20 Mai 2018 - 20:18

» Problème d'affichage des pages du forum (Résolu)
par Jean Claude Dim 20 Mai 2018 - 20:00

» Créer une application *.exe
par Yannick Ven 18 Mai 2018 - 20:01

» [RÉSOLU] Priorité affichage des objets : comment la définir?
par papydall Ven 18 Mai 2018 - 18:22

» Aucune différence entre ON_CLICK et ON_DOUBLE_CLICK
par Jean Claude Jeu 17 Mai 2018 - 8:37

» [Résolu] Récuperer les fonctions systeme de Panoramic
par Minibug Mar 15 Mai 2018 - 23:21

» Est-ce qu'un fichier est inclus dans l'application ?
par Yannick Mar 15 Mai 2018 - 12:04

» Création d'une application avec Panoramic_Editor
par Klaus Mar 15 Mai 2018 - 0:36

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2018
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Une boite de message et de stop

Aller en bas 
AuteurMessage
Oscaribout



Nombre de messages : 156
Date d'inscription : 29/12/2016

MessageSujet: Une boite de message et de stop   Mer 25 Jan 2017 - 14:57

Bonjour les Panoramiciens.
Je me lance pour voir. En réalité je ne sais pas si ce programme ne serait pas mieux dans les inutilitaires, comme je l'ai vue.

Pourquoi ceci: J'essai de mettre au point un programme, et à force de modifier, de faire autre chose, de changer d'endroit, je ne sais plus où j'en suis.

Les messages que je mets ici ou là deviennent encombrant, rajouter un stop, à la longue devient lassant lorsqu'on veut vérifier plein de chose. Aussi j'ai fini par faire cette boite qui satisfait à ma demande.

 

Donc cette boite permet évidemment de lire un message, et aussi de copier le texte de celui-ci, apporter des compléments d'infos, mais aussi de sauvegarder celui-ci.

A chaque appel de la boite, l'edit est incrémenté (J'ai essayé avec un spin, mais celui-ci pose problème dans cette version). Le contenu est ajouté au nom du fichier si celui-ci est sauvegardé, pour suivre l'évolution au fur et à mesure qu'on sauvegarde.

Reste les boutons END et STOP. Pourquoi END ? Car en appuyant sur stop, et en validant, le programme se ferme, et on n'a plus accès au contenus des LISTs ou la vision du programme. Alors que END le permet.

Un mot sur le programme lui-même:
Au départ le programme avait était fait avec un form et des boutons. Malheureusement, j'avais régulièrement des erreurs (je n'ai plus en mémoire le message correct) variable déjà définies ou des erreurs sur repeat .... Des messages que vous avaient certainement déjà vus. J'avais aussi fait des essais avec clicked mais le résultat était le même. Comme c'était aléatoire, parfois ça marchait bien, je savais que ce n'était pas mon programme, et à mon sens Panoramic manque de fiabilité lorsque le programme devient conséquent.

Donc j'ai regardé les commandes qui étaient disponible, et j'ai vu MOUSE_X_POSITION(N), et j'ai testé avec ce principe. Et là depuis les modifications apportées, je n'ai plus eu de problèmes. Ca marche à tous les coups.

Code:

' ----------------------------------------------------------------------------------------
'  Boite de message avec rapport à sauvegarder si nécessaire  version panoramic: 0.9.27i8
' ----------------------------------------------------------------------------------------
stop_init(1000)
' -------------
' teste
stop("ligne:"+str$(number_current_line) + caption$(varstop%+7) +"message à contrôler !")         :' le caption$ pouvant être remplacé
stop("ligne:"+str$(number_current_line) + caption$(varstop%+7) +"message à contrôler suivant !") :' par une variable du programme

IF 1<>1 :' pour sauter cette partie, si ces 2 sub sont misent en début de programme, ce qui n'empêche pas le fonctionnement
 rem "======================================================================================================================
sub stop_init(p%)
   dim varstop% , av% , file_message$ : varstop% = p% : av% = number_command_target
   ' la ligne suivante doit-être modifiée selon son programme
   file_message$ = "C:\temp\"
   ' ========================================================
   file_message$ = file_message$ + left$(date$,2) + "'" + left$(time$,2) + "H"+ mid$(time$,4,2) +"-"
   form p%  :  hide p% : width p%,800:   height p%,310:   font_size p%,9:   font_bold p%:left p%,(screen_x-width(p%))/2:top p%,(screen_y-height(p%))/2
   command_target_is p%
   p% = p%+1
   alpha p% :left p%,20:top p%,15 : caption p%,"MESSAGE ou STOP !"
   p% = p%+1
   picture p% : left p%,5 : top p%,40:width p%,290 : height p%,220 : color p%,238,243,244
       2d_target_is p% : print_target_is p% : font_size p%,10 : font_bold p%
   p%=p%+1
   panel p% : left p%,1:top p%,35:width p%,215:height p%,173
   p%=p%+1
   alpha p% : parent p%,p%-1: left p%,1 :top p%,2:font_color p%,0,0,200:font_name p%,"Arial"
   ' caption p%,"2004 salutation"+t$+"on contrôle"
   p%=p%+1
   EDIT p%  : left p%,220:top p%,10 : width p%,60 : text p%,1  :'  (problème avec les spins, qui a nécessité le remplacement par un edit)

      2d_fill_on : 2d_fill_color 240,240,240 : 2d_pen_color 100,100,100: 2d_pen_width 2
      2d_rectangle 220,10,280,37    :   print_locate 225,12  : print "copie"
      2d_rectangle 220,60,280,87    :   print_locate 225,62  : print "STOP"
      2d_rectangle 220,100,280,127  :   print_locate 228,102 : print "END"
      2d_rectangle 10,180,130,205   :   print_locate  12,182 : print "Sauve source"
      2d_rectangle 140,170,280,215  :   print_locate 165,180 : print "CONTINUE"

   p% =varstop%+6
   memo   p%:left p%,300:top p%,10 : width p%,460 : height p%,230 : bar_both p%
   p%=p%+1
   alpha p% : caption p%,chr$(13)+chr$(10): hide p% :' sert à stocker une variable pour éviter un doublon avec une variable utilisée à autre chose ailleurs

   command_target_is 0 : 2d_target_is 0  : print_target_is av%
end_sub

' =============================================================================
sub stop(a$)
   caption varstop%,"<ESC> pour sortir si clic sur FERMETURE"
   repeat:wait 100:until scancode = 0
   dim_local x,y,obj , p% , l% ,t% ,le%,to% ,d_t% , p_t% , t$ : t$ = chr$(13)

   p%=varstop%+5    :' edit
   obj = varstop%+2 :' picture
   d_t%= number_2d_target: 2d_target_is obj
   p_t% = number_print_target :print_target_is obj
   show varstop%    :' form
   caption varstop%+4,a$
   2d_fill_off : 2d_pen_color 100,10,0: 2d_pen_width 2
   repeat
      pause 100 : to_foreground varstop%
      x = mouse_x_position(obj)
      y = mouse_y_position(obj)
      if scancode = 1 and mouse_left_down(obj) = 1
         if x > 220 and x < 280
            if y > 10 and y < 37                          :' copie
               2d_pen_color 100,10,0 :2d_rectangle 220,10,280,37 : pause 600
              
               ' partie qui peut-être revu selon chacun -------------------------------------
               clipboard_string_copy "------------"+t$+"=== " +t$ + a$ +t$+"------------"+t$
               ' ----------------------------------------------------------------------------
              
               wait 200 : clipboard_paste varstop%+6 : caption varstop%,"copié" :' voir si le caption ne gène pas
               2d_pen_color 100,100,100 : 2d_rectangle 220,10,280,37
               repeat:until scancode = 0
            else
               if y > 60 and y < 87                       :' stop
                  2d_pen_color 100,10,0 :2d_rectangle 220,60,280,87 : pause 600 : stop
                  ' si non stop
                  2d_pen_color 100,100,100 :2d_rectangle 220,60,280,87
                  repeat : until scancode = 0
               else
                  if y > 100 and y < 127                  :' end
                     hide varstop%
                     if message_confirmation_yes_no("On sort du programme ?") = 1 then end : else : repeat:until scancode= 0
                  end_if
               end_if
            end_if
         else
            if x > 10 and x < 130 and y > 180 and y < 205 :' sauvegarde
               2d_pen_color 100,10,0 : 2d_rectangle 10,180,130,205 : pause 600
               file_save varstop%+6, file_message$ + text$(p%)+".voir"
               caption varstop%,"Sauvegardé"
               2d_pen_color 100,100,100 : 2d_rectangle 10,180,130,205
               repeat : until scancode = 0
            end_if
         end_if
         if x < 280 and mouse_left_down(varstop%+6) = 0   :' pas dans le memo
            if y > 170
               if x > 140 and y < 215 then exit_repeat
            end_if
         end_if
      end_if

   until scancode = 27 and mouse_left_down(varstop%+6) = 0
   2d_pen_color 100,10,0 : 2d_rectangle 140,170,280,215 : pause 600
   caption varstop%, "S O R T I E !"
   le%=left(varstop%)
   to%=top(varstop%)
   repeat
      t% = -1-t%   :   l%=-1-l%  : left varstop%,le%+l%  :  top  varstop%,t%+to% :  pause 100
   until scancode = 0
   text p%,val(text$(p%))+1
   left varstop%,le% : top  varstop%,to% :  hide varstop%
   2d_pen_color 100,100,100 : 2d_rectangle 140,170,280,215 : 2d_target_is d_t% : print_target_is p_t%
end_sub
 rem "=================================================================================================
end_if

Ce programme est à ajouté à la fin de tout programme à tester, mais il peut-être mis n'importe où. Il y a un teste:: IF 1 <> 1 ... END_IF, qui fait que la sub n'est pas lue pendant le déroulement, mais Panoramic la retrouve lors de l'appel.

Merci à vous.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Une boite de message et de stop   Mer 25 Jan 2017 - 15:33

C'est excellent, Oscaribout !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Oscaribout



Nombre de messages : 156
Date d'inscription : 29/12/2016

MessageSujet: Re: Une boite de message et de stop   Mer 25 Jan 2017 - 16:02

Je vous remercie Klaus.

Je m'aperçois à l'instant que j'ai fait une très grosse erreur: Je me suis trompé de sujet. Je croyais être dans vos sources à partager.

Si l'auteur de ce forum pouvait remettre celui-ci à sa place, car évidemment il n'est pas question de souhaits d'amélioration de Panoramic. Sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jack
Admin
avatar

Nombre de messages : 1846
Date d'inscription : 28/05/2007

MessageSujet: Re: Une boite de message et de stop   Mer 25 Jan 2017 - 16:45

Sujet déplacé dans la bonne rubrique.

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
Contenu sponsorisé




MessageSujet: Re: Une boite de message et de stop   

Revenir en haut Aller en bas
 
Une boite de message et de stop
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: