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
» KGF_dll - nouvelles versions
par bignono Aujourd'hui à 20:14

» Compilateur FBPano
par jean_debord Aujourd'hui à 11:07

» Documentation de KGF
par Klaus Hier à 22:52

» Zoom sur une portion d'écran
par JL35 Hier à 21:51

» double guillemets "" dans un EDIT
par pascal10000 Hier à 21:08

» Recherche d'une expression dans un source
par Marc 37 Hier à 13:08

» Tracer une grille n'importe où sur l'écran
par JL35 Dim 19 Nov 2017 - 22:14

» TourD Version 2
par Klaus Sam 18 Nov 2017 - 23:58

» La métamatière et le peuple
par JL35 Ven 17 Nov 2017 - 21:18

» Capture d'une zone de l'écran total
par JL35 Ven 17 Nov 2017 - 18:41

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 17 Nov 2017 - 11:49

» qui peut résoudre mon prb
par pascal10000 Jeu 16 Nov 2017 - 17:30

» évènements et objets système : listage automatique
par Jean Claude Jeu 16 Nov 2017 - 11:15

» Panoramic et la reconnaissance vocale.
par papydall Jeu 16 Nov 2017 - 3:45

» Bizzarerie dans Edge
par Marc 37 Mer 15 Nov 2017 - 17:45

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2017
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   
CalendrierCalendrier

Partagez | 
 

 Une boite de message et de stop

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Oscaribout



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

MessageSujet: Une boite de message et de stop   Mer 25 Jan 2017 - 16: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 : 10126
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

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

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



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

MessageSujet: Re: Une boite de message et de stop   Mer 25 Jan 2017 - 18: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 : 1768
Date d'inscription : 28/05/2007

MessageSujet: Re: Une boite de message et de stop   Mer 25 Jan 2017 - 18: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
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Message d'erreur sur Annuler une boite de dialogue ouverte
» [Résolu] Outlook Express : impossible de supprimer le message
» [Résolu] Problème boite de réception Outlook Express
» [Résolu] OE6 : message bizarre
» [Résolu]peux t'on modifier un message déjà envoyé

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: