FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» trop de fichiers en cours
réflexion sur return dans un memo Emptypar lepetitmarocain Aujourd'hui à 17:29

» Une calculatrice en une ligne de programme
réflexion sur return dans un memo Emptypar jean_debord Aujourd'hui à 8:47

» Form(résolu)
réflexion sur return dans un memo Emptypar leclode Hier à 17:59

» Bataille navale SM
réflexion sur return dans un memo Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Gestion d'un système client-serveur.
réflexion sur return dans un memo Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
réflexion sur return dans un memo Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
réflexion sur return dans un memo Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
réflexion sur return dans un memo Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
réflexion sur return dans un memo Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
réflexion sur return dans un memo Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
réflexion sur return dans un memo Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
réflexion sur return dans un memo Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
réflexion sur return dans un memo Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
réflexion sur return dans un memo Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
réflexion sur return dans un memo Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -39%
Pack Home Cinéma Magnat Monitor : Ampli DENON ...
Voir le deal
1190 €

 

 réflexion sur return dans un memo

Aller en bas 
2 participants
AuteurMessage
Invité
Invité




réflexion sur return dans un memo Empty
MessageSujet: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 1:03

Mettre un titre n'est pas toujours évident.

Voilà dans un memo, je le rempli d'une liste de choses. Je contrôle la liste avec on_key_down. Je me suis rendu compte que la lecture de la liste après un return, n'était pas égal à ce qu'elle contient.
Il faut un clic pour valider le contenu. On_key_down n'est-il pas une instruction évènementielle?
Code:
  width 0,700:height 0,900
 
  memo 1:width 1,200:height 1,850:font_size 1,12:color 1,255,247,173
  memo 2:width 2,200:left 2,300:height 2,850:font_size 2,12:print_target_is 2
        hint 2,"cliquez ici pour réécrir la liste
  dim a%,b%,a$ :label clic,clic1
 
  for a%=1 to 25:read a$:item_add 1,a$ :next a%
  on_key_down 1,clic:on_click 2,clic1
  message "cliquez à la fin d'un nombre sur return pour rajouter une ligne, et vérifiez ensuite à côté"
 
  end
  ' ----------------
  data "un",deux,trois,quatre,cinq,six,sept,huit,neuf,dix,onze,douze,treize,quatorze,quinze,seize,"dix-sept"
  data "dix-huit","dix_neuf",vingt
  data "vingt-et-un","vingt-deux","vingt-trois","ving-quatre","vingt-cinq","ving-six","vingt-sept","vingt-huit"
  data "ving-neuf","trente","trente-et-un","trente-deux","trente-trois","trente-quatre","trente-cinq","trente-six"
  data "trente-sept","trente-huit","trente-neuf"
  ' -----
  clic:
      if scancode=13
  clic1:
        for a%=1 to 25:print a%," ",item_read$(1,a%):next a%:print "-------------"
      end_if
  return
Vous choisissez une ligne (par exemple dix, et tapez return. On voit dans le memo de droite que celui-ci n'est pas validé! Il faut un deuxième return ou un clic sur un memo pour voir la modification.

Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 1:20

Oui,

il semblerai que l'évènement soit exécuté avant le rafraichissement du mémo lui-meme...
c'est valable quelque soit le caractère (pas uniquement 'return')
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Invité
Invité




réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 8:34

J'ai trouvé la solution.
Il faut rajouter la ligne:
Code:
repeat:until key_up_code=0

ce qui donne:
Code:
  width 0,700:height 0,900
 
  memo 1:width 1,200:height 1,850:font_size 1,12:color 1,255,247,173
  memo 2:width 2,200:left 2,300:height 2,850:font_size 2,12:print_target_is 2
        hint 2,"cliquez ici pour réécrir la liste
  dim a%,b%,a$ :label clic,clic1
 
  for a%=1 to 25:read a$:item_add 1,a$ :next a%
  on_key_down 1,clic:on_click 2,clic1
  message "cliquez à la fin d'un nombre sur return pour rajouter une ligne, et vérifiez ensuite à côté"
 
  end
  ' ----------------
  data "un",deux,trois,quatre,cinq,six,sept,huit,neuf,dix,onze,douze,treize,quatorze,quinze,seize,"dix-sept"
  data "dix-huit","dix_neuf",vingt
  data "vingt-et-un","vingt-deux","vingt-trois","ving-quatre","vingt-cinq","ving-six","vingt-sept","vingt-huit"
  data "ving-neuf","trente","trente-et-un","trente-deux","trente-trois","trente-quatre","trente-cinq","trente-six"
  data "trente-sept","trente-huit","trente-neuf"
  ' -----
  clic:
      if scancode=13
        repeat:until key_up_code =0
  clic1:
        for a%=1 to 25:print a%," ",item_read$(1,a%):next a%:print "-------------"
      end_if
  return
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 9:01

bien vu !
une autre solution, tu remplaces:
Code:
repeat:until key_up_code=0
par
Code:
wait 10
et cela fonctionne aussi...
Wink
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Invité
Invité




réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 9:19

Merci.
C'est loin d'être gagné. Le memo fait ce qu'il veut. Voici un objet qui normalement devrait être simple à gérer, mais tout est compliqué. Comme on ne connait pas l'emplacement du curseur, il faut normalement suivre ce qu'on fait pour incrémenter ou décrémenter normalement des pointeurs ligne et colonne. Mais voilà! lorsqu'on clique sur return après avoir placé le curseur, celui-ci la première fois se retrouve en bas. Il faut revenir sur la ligne, et là la position de la ligne est reconnu. Un nouvel appuie sur return, laisse le curseur à la bonne position.

Voila un memo qui devrait être simple à gérer, mais comme Jack ne donne pas d'instruction pour placer le curseur, ou donner les positions de celui-ci, j'ai plus qu'à repartir sur un picture. MEMO est trop compliqué à gérer, dès qu'on doit exploiter les lignes. Un comble. Dommage! On ne peut même pas placer le curseur en haut du picture. Désolé Jack mais même pour les choses simples, ce n'est plus de la programmation du dimanche.
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 9:50

Meme chose pour un list :
Un exemple il n'est pas encore fonctionel a 100%
pour le -bmp tu prend une image de 850*640 ou plus mais pas necessaire.


Code:


Label Sub_Fenetre_Variable_Annul
Label Sub_Modifcation_Text_Objets
Label Sub_Fenetre_Variable_Ouvrir
Label Sub_Fenetre_Variable_Inser
Label Boucle_blanc
Label Sub_Monter_Libelle
Label Sub_Descendre_Libelle
Label Sub_entre_Return
Label SUB_Bouton_Effacer_Libelle
Label Sub_Bouton_Modifier_Libelle
Label Sub_Bouton_Ajouter_Libelle
Label Sub_Init_FLag
Label Sub_Actualiser
Label Calcul_Indice
Label Sub_Init_FLag_Valeur
Label Sub_Init_FLag_Pas
Label Sub_Edition_Valeur
Label Sub_Edition_Pas

Dim  a%,b%,a$,l%,i%,j%,B$,K%,Chaine$,Nom_variable$,Nom_Valeur$,ChaineG$,ChaineD$
Dim  flag_item_index%,Indice_Item%,Objet_Valeur%,Objet_Pas%,valeur$,Pas$
Dim  Flag_Objet%
Dim  Flag_Valeur%
Dim  Flag_Pas%

Dim  Fenetre_Numerotation_Objets%
Dim  List_Fenetre_Numerotation_Objets%
Dim  List_Valeur_Objets%
Dim  List_Pas_Objets%
Dim  Bouton_Fenetre_Numerotation_Objets_Actualise%
Dim  Bouton_Fenetre_Numerotation_Objets_Ok%
Dim  Bouton_Fenetre_Numerotation_Objets_Annul%
Dim  Bouton_Fenetre_Numerotation_Objets_Ouvrir%
Dim  Bouton_Fenetre_Numerotation_Objets_Inser%
Dim  Bouton_Ajouter_Libelle%
Dim  Bouton_Monter_Libelle%
Dim  Bouton_Descendre_Libelle%
Dim  Bouton_Effacer_Libelle%
Dim  Bouton_Modifier_Libelle%
Dim  Picture_Fenetre_Numerotation_Objets%
Dim  Tbl_Objets$(200)
Dim  Tbl_Objets_valeur%(200)
Dim  Tbl_Objets_Pas%(200)

Dim  Zone_edition_Libelle%
Dim  Zone_edition_Valeur%
Dim  Zone_edition_Pas%
Dim  Zone_edition_Increment%
Dim  Valeur%
Dim  Pas%
Dim  Valeur_indice$
Fenetre_Numerotation_Objets%                    = 2004

List_Fenetre_Numerotation_Objets%                = 2063
Bouton_Fenetre_Numerotation_Objets_Actualise%    = 2064
Bouton_Fenetre_Numerotation_Objets_Ok%          = 2065
Bouton_Fenetre_Numerotation_Objets_Annul%        = 2066
Picture_Fenetre_Numerotation_Objets%            = 2067
Zone_edition_Libelle%                            = 2068
Zone_edition_Valeur%                            = 2070
Zone_edition_Pas%                                = 2071
Zone_edition_Increment%                          = 2072
Bouton_Fenetre_Numerotation_Objets_Ouvrir%      = 2073
Bouton_Fenetre_Numerotation_Objets_Inser%        = 2074
Bouton_Ajouter_Libelle%                          = 2075
Bouton_Monter_Libelle%                          = 2076
Bouton_Descendre_Libelle%                        = 2077
Bouton_Effacer_Libelle%                          = 2078
Bouton_Modifier_Libelle%                        = 2079
List_Valeur_Objets%                              = 2080
List_Pas_Objets%                                = 2081

Form Fenetre_Numerotation_Objets%
Width  Fenetre_Numerotation_Objets%                            , 850
Height Fenetre_Numerotation_Objets%                            , 640
Left  Fenetre_Numerotation_Objets%                            , 200
Top    Fenetre_Numerotation_Objets%                            ,  50
Caption Fenetre_Numerotation_Objets%                          , " Numerotation des objets..."
Border_small Fenetre_Numerotation_Objets%

Command_target_is  Fenetre_Numerotation_Objets%
Font_Size Fenetre_Numerotation_Objets%                        ,  12
Font_Name Fenetre_Numerotation_Objets%,"Lucida Console"

List      List_Fenetre_Numerotation_Objets%
Width    List_Fenetre_Numerotation_Objets%                    , 570
Height    List_Fenetre_Numerotation_Objets%                    , 400
Left      List_Fenetre_Numerotation_Objets%                    ,  30
top      List_Fenetre_Numerotation_Objets%                    ,  80
color    List_Fenetre_Numerotation_Objets%                    , 195, 196, 198
Hint      List_Fenetre_Numerotation_Objets%                    ,  "Liste des variables objets"
On_Click  List_Fenetre_Numerotation_Objets%                    ,    Sub_Init_FLag
set_focus List_Fenetre_Numerotation_Objets%

List      List_Valeur_Objets%
Width    List_Valeur_Objets%                    , 60
Height    List_Valeur_Objets%                    , 400
Left      List_Valeur_Objets%                    , 610
top      List_Valeur_Objets%                    ,  80
color    List_Valeur_Objets%                    , 195, 196, 198
Hint      List_Valeur_Objets%                    ,  "Liste des variables objets"
On_Click  List_Valeur_Objets%                    ,    Sub_Init_FLag_Valeur

List      List_Pas_Objets%
Width    List_Pas_Objets%                    , 50
Height    List_Pas_Objets%                    , 400
Left      List_Pas_Objets%                    , 680
top      List_Pas_Objets%                    ,  80
color    List_Pas_Objets%                    , 195, 196, 198
Hint      List_Pas_Objets%                    ,  "Liste des variables objets"
On_Click  List_Pas_Objets%                    ,    Sub_Init_FLag_Pas

Picture  Picture_Fenetre_Numerotation_Objets%
Width    Picture_Fenetre_Numerotation_Objets%                , 674
Height    Picture_Fenetre_Numerotation_Objets%                , 700
Left      Picture_Fenetre_Numerotation_Objets%                ,  0
top      Picture_Fenetre_Numerotation_Objets%                ,  40
File_load Picture_Fenetre_Numerotation_Objets%                ,  "Marbre.bmp"
Full_Space Picture_Fenetre_Numerotation_Objets%

Edit      Zone_edition_Libelle%
Width    Zone_edition_Libelle%                                , 570
Height    Zone_edition_Libelle%                                ,  25
Left      Zone_edition_Libelle%                                ,  30
top      Zone_edition_Libelle%                                ,  50
On_Key_UP Zone_edition_Libelle%                                , Sub_Entre_Return
Hint      Zone_edition_Libelle%                                ,  "Entrer le nom de la variable"

Edit      Zone_edition_Valeur%
Width    Zone_edition_Valeur%                                ,  60
Height    Zone_edition_Valeur%                                ,  25
Left      Zone_edition_Valeur%                                , 610
top      Zone_edition_Valeur%                                ,  50
On_Key_UP Zone_edition_Valeur%                                , Sub_Edition_Valeur
Hint      Zone_edition_Valeur%                                ,  "Entrer le numero de depart de l'objet"

Edit      Zone_edition_Pas%
Width    Zone_edition_Pas%                                    ,  50
Height    Zone_edition_Pas%                                    ,  25
Left      Zone_edition_Pas%                                    , 680
top      Zone_edition_Pas%                                    ,  50
On_Key_UP Zone_edition_Pas%                                    , Sub_Edition_Pas
Hint      Zone_edition_Pas%                                    ,  "Entrer le pas d'incrementation"

Button  Bouton_Fenetre_Numerotation_Objets_Ok%
Width  Bouton_Fenetre_Numerotation_Objets_Ok%                , 100
Height  Bouton_Fenetre_Numerotation_Objets_Ok%                ,  25
top    Bouton_Fenetre_Numerotation_Objets_Ok%                , 550
Left    Bouton_Fenetre_Numerotation_Objets_Ok%                ,  92
Hint    Bouton_Fenetre_Numerotation_Objets_Ok%                ,  "Valide ,enregistre le fichier,et , sort du programme"
Caption Bouton_Fenetre_Numerotation_Objets_Ok%                ,    "Ok"

Button  Bouton_Fenetre_Numerotation_Objets_Actualise%
Width  Bouton_Fenetre_Numerotation_Objets_Actualise%          , 120
Height  Bouton_Fenetre_Numerotation_Objets_Actualise%          ,  25
top    Bouton_Fenetre_Numerotation_Objets_Actualise%          ,  20
Left    Bouton_Fenetre_Numerotation_Objets_Actualise%          , 430
Hint    Bouton_Fenetre_Numerotation_Objets_Actualise%          ,  "Actualiser la numerotation des variables objets"
Caption Bouton_Fenetre_Numerotation_Objets_Actualise%          ,  "Actualiser"
On_click Bouton_Fenetre_Numerotation_Objets_Actualise%        ,Sub_Actualiser

Button  Bouton_Fenetre_Numerotation_Objets_Annul%
Width  Bouton_Fenetre_Numerotation_Objets_Annul%              , 100
Height  Bouton_Fenetre_Numerotation_Objets_Annul%              ,  25
top    Bouton_Fenetre_Numerotation_Objets_Annul%              , 550
Left    Bouton_Fenetre_Numerotation_Objets_Annul%              , 400
Hint    Bouton_Fenetre_Numerotation_Objets_Annul%              ,  "Sort du programme sans rien changer
Caption Bouton_Fenetre_Numerotation_Objets_Annul%              ,    "Annul"
On_click Bouton_Fenetre_Numerotation_Objets_Annul%            ,Sub_Fenetre_Variable_Annul

Button  Bouton_Fenetre_Numerotation_Objets_Ouvrir%
Width  Bouton_Fenetre_Numerotation_Objets_Ouvrir%              , 100
Height  Bouton_Fenetre_Numerotation_Objets_Ouvrir%              ,  25
top    Bouton_Fenetre_Numerotation_Objets_Ouvrir%              ,  20
Left    Bouton_Fenetre_Numerotation_Objets_Ouvrir%              ,  30
Hint    Bouton_Fenetre_Numerotation_Objets_Ouvrir%              ,  "Sort du programme sans rien changer
Caption Bouton_Fenetre_Numerotation_Objets_Ouvrir%              ,    "Ouvrir"
On_click Bouton_Fenetre_Numerotation_Objets_Ouvrir%            ,Sub_Fenetre_Variable_Ouvrir

Button  Bouton_Fenetre_Numerotation_Objets_Inser%
Width  Bouton_Fenetre_Numerotation_Objets_Inser%              , 100
Height  Bouton_Fenetre_Numerotation_Objets_Inser%              ,  25
top    Bouton_Fenetre_Numerotation_Objets_Inser%              ,  20
Left    Bouton_Fenetre_Numerotation_Objets_Inser%              , 130
Hint    Bouton_Fenetre_Numerotation_Objets_Inser%              ,  "Sort du programme sans rien changer
Caption Bouton_Fenetre_Numerotation_Objets_Inser%              ,    "Inserer"
On_click Bouton_Fenetre_Numerotation_Objets_Inser%            ,Sub_Fenetre_Variable_Inser

Button  Bouton_Monter_Libelle%
Width  Bouton_Monter_Libelle%                                ,  50
Height  Bouton_Monter_Libelle%                                ,  25
top    Bouton_Monter_Libelle%                                , 270
Left    Bouton_Monter_Libelle%                                , 770
Hint    Bouton_Monter_Libelle%                                ,  "Sort du programme sans rien changer
Caption Bouton_Monter_Libelle%                                ,    "Haut"
On_click Bouton_Monter_Libelle%                                ,Sub_Monter_Libelle

Button  Bouton_Descendre_Libelle%
Width  Bouton_Descendre_Libelle%                                ,  50
Height  Bouton_Descendre_Libelle%                                ,  25
top    Bouton_Descendre_Libelle%                                , 300
Left    Bouton_Descendre_Libelle%                                , 770
Hint    Bouton_Descendre_Libelle%                                ,  "Sort du programme sans rien changer
Caption Bouton_Descendre_Libelle%                                ,    "Bas"
On_click Bouton_Descendre_Libelle%                                ,Sub_Descendre_Libelle
Hide  Bouton_Fenetre_Numerotation_Objets_Inser%

Button  Bouton_Effacer_Libelle%
Width  Bouton_Effacer_Libelle%                                , 100
Height  Bouton_Effacer_Libelle%                                ,  25
top    Bouton_Effacer_Libelle%                                ,  20
Left    Bouton_Effacer_Libelle%                                , 230
Hint    Bouton_Effacer_Libelle%                                ,  "Sort du programme sans rien changer
Caption Bouton_Effacer_Libelle%                                ,    "Effacer"
On_click Bouton_Effacer_Libelle%                                ,Sub_Bouton_Effacer_Libelle

Button  Bouton_Modifier_Libelle%
Width  Bouton_Modifier_Libelle%                                , 100
Height  Bouton_Modifier_Libelle%                                ,  25
top    Bouton_Modifier_Libelle%                                ,  20
Left    Bouton_Modifier_Libelle%                                , 330
Hint    Bouton_Modifier_Libelle%                                ,  "Sort du programme sans rien changer
Caption Bouton_Modifier_Libelle%                                ,    "Editer"
On_click Bouton_Modifier_Libelle%                                ,Sub_Bouton_Modifier_Libelle


Button  Bouton_Ajouter_Libelle%
Width  Bouton_Ajouter_Libelle%                                , 100
Height  Bouton_Ajouter_Libelle%                                ,  25
top    Bouton_Ajouter_Libelle%                                ,  20
Left    Bouton_Ajouter_Libelle%                                ,  30
Hint    Bouton_Ajouter_Libelle%                                ,  "Sort du programme sans rien changer
Caption Bouton_Ajouter_Libelle%                                ,    "Ajouter"
On_click Bouton_Ajouter_Libelle%                                , Sub_Bouton_Ajouter_Libelle

Hide  Zone_edition_Libelle%
Hide  Zone_edition_Valeur%
hide  Zone_edition_Pas%
Hide  Bouton_Fenetre_Numerotation_Objets_Inser%
Hide  Bouton_Effacer_Libelle%
Hide  Bouton_Modifier_Libelle%
Hide  Bouton_Fenetre_Numerotation_Objets_Actualise%
Hide  Bouton_Ajouter_Libelle%

'    Text  Zone_edition_Valeur%,"2000"
'    Text  Zone_edition_Pas%,"1"
 
set_focus List_Fenetre_Numerotation_Objets%



end

'                =========================================================
'                Sous-programmes
'                =========================================================

Sub_Fenetre_Variable_Annul:
        Hide  Fenetre_Numerotation_Objets%
Return

Sub_Modifcation_Text_Objets:

        Show  Zone_edition_Libelle%
        show  Zone_edition_Valeur%
        show  Zone_edition_Pas%
        Show  Bouton_Effacer_Libelle%
        Show  Bouton_Modifier_Libelle%
        Show  Bouton_Fenetre_Numerotation_Objets_Actualise%
        Show  Bouton_Ajouter_Libelle%

  i%=Item_index(List_Fenetre_Numerotation_Objets%)
  Chaine$=item_read$( List_Fenetre_Numerotation_Objets%,i%)
 
        Text  Zone_edition_Libelle%,Chaine$
         
return


Sub_Fenetre_Variable_Ouvrir:

        Hide  Bouton_Fenetre_Numerotation_Objets_Ouvrir%
        Show  Bouton_Fenetre_Numerotation_Objets_Inser%
        Show  Bouton_Ajouter_Libelle%
        Show  Zone_edition_Libelle%
        show  Zone_edition_Valeur%
        show  Zone_edition_Pas%
        Show  Bouton_Effacer_Libelle%
        Show  Bouton_Modifier_Libelle%
        Show  Bouton_Fenetre_Numerotation_Objets_Actualise%

       
set_focus Zone_edition_Libelle%

Return

' -----------------------------------------------------------------------
'              Actions liées aux boutons
'              Sous-Programme pour ajouter une ligne dans la liste Objet
' -----------------------------------------------------------------------

Sub_Bouton_Ajouter_Libelle:

  If Flag_Objet%=1

            Chaine$=text$(Zone_edition_Libelle%)

                  if Chaine$="" then return

            gosub Boucle_blanc

                  Gosub Calcul_Indice

      item_add List_Fenetre_Numerotation_Objets%,Chaine$
      item_add List_Valeur_Objets%," "
      item_add List_Pas_Objets%," "
     
                  Text  Zone_edition_Libelle%,""
                  set_focus Zone_edition_Libelle%
                  Indice_Item%=0
  end_if

return

' -----------------------------------------------------------------------
'              Actions liées aux boutons
'              Sous-Programme pour inserer une ligne dans la liste Objet
' -----------------------------------------------------------------------

Sub_Fenetre_Variable_Inser:

If Flag_Objet%=1

            Chaine$=text$(Zone_edition_Libelle%)

                  if Chaine$="" then return

      If Indice_Item%>1
     
            gosub Boucle_blanc

                  Gosub Calcul_Indice
                 
            i%=Item_index(List_Fenetre_Numerotation_Objets%)
            item_Insert List_Fenetre_Numerotation_Objets%,I%,Chaine$
                  item_add List_Valeur_Objets%," "
                  item_add List_Pas_Objets%," "
            Text  Zone_edition_Libelle%,""

            return
      end_if

            gosub Boucle_blanc

                  Gosub Calcul_Indice

      item_add List_Fenetre_Numerotation_Objets%,Chaine$
      item_add List_Valeur_Objets%," "
      item_add List_Pas_Objets%," "
     
                  Text  Zone_edition_Libelle%,""
                  set_focus Zone_edition_Libelle%
                  Indice_Item%=0
end_if

If Flag_Valeur%=1
      Chaine$=text$(Zone_Edition_Valeur%)
     
      item_add List_Valeur_Objets%,Chaine$
     
      end_if
     
' -----------------------------------------------------------------------
'              Actions liées aux boutons
'              Sous-Programme pour Monter le libelle d'un cran
' -----------------------------------------------------------------------
Sub_Monter_Libelle:

    '  if flag_item_index%=0 then return
if    Flag_Objet%=1
      i%=Item_index(List_Fenetre_Numerotation_Objets%)
      if i%=1 then return
      Chaine$=item_read$( List_Fenetre_Numerotation_Objets%,i%)
      item_delete List_Fenetre_Numerotation_Objets%,i%
      Item_Insert List_Fenetre_Numerotation_Objets%,i%-1,Chaine$

      Chaine$=item_read$( List_Valeur_Objets%,i%)
      item_delete List_Valeur_Objets%,i%
      Item_Insert List_Valeur_Objets%,i%-1,Chaine$
     
      Chaine$=item_read$( List_Pas_Objets%,i%)
      item_delete List_Pas_Objets%,i%
      Item_Insert List_Pas_Objets%,i%-1,Chaine$
      flag_item_index%=0
      return
      end_if
     
      If Flag_Valeur%=1
      i%=Item_index(List_Valeur_Objets%)
      if i%=1 then return
      Chaine$=item_read$( List_Valeur_Objets%,i%)
      item_delete List_Valeur_Objets%,i%
      Item_Insert List_Valeur_Objets%,i%-1,Chaine$
      return
      end_if
     
      If Flag_Pas%=1
      i%=Item_index(List_Pas_Objets%)
      if i%=1 then return
      Chaine$=item_read$( List_Pas_Objets%,i%)
      item_delete List_Pas_Objets%,i%
      Item_Insert List_Pas_Objets%,i%-1,Chaine$
      return
      end_if


Return

' -----------------------------------------------------------------------
'              Actions liées aux boutons
'              Sous-Programme pour Descendre le libelle d'un cran
' -----------------------------------------------------------------------
Sub_Descendre_Libelle:

      i%=Item_index(List_Fenetre_Numerotation_Objets%)
     
 '    if flag_item_index%=0 then return
  if    Flag_Objet%=1   
      if i%=count(List_Fenetre_Numerotation_Objets%) then return
      Chaine$=item_read$( List_Fenetre_Numerotation_Objets%,i%)
      item_delete List_Fenetre_Numerotation_Objets%,i%
      Item_Insert List_Fenetre_Numerotation_Objets%,i%+1,Chaine$

      Chaine$=item_read$( List_Valeur_Objets%,i%)
      item_delete List_Valeur_Objets%,i%
      Item_Insert List_Valeur_Objets%,i%+1,Chaine$
     
      Chaine$=item_read$( List_Pas_Objets%,i%)
      item_delete List_Pas_Objets%,i%
      Item_Insert List_Pas_Objets%,i%+1,Chaine$
     
flag_item_index%=0
return

end_if

      If Flag_Valeur%=1
      i%=Item_index(List_Valeur_Objets%)
      if i%=1 then return
      Chaine$=item_read$( List_Valeur_Objets%,i%)
      item_delete List_Valeur_Objets%,i%
      Item_Insert List_Valeur_Objets%,i%+1,Chaine$
      return
      end_if
     
      If Flag_Pas%=1
      i%=Item_index(List_Pas_Objets%)
      if i%=1 then return
      Chaine$=item_read$( List_Pas_Objets%,i%)
      item_delete List_Pas_Objets%,i%
      Item_Insert List_Pas_Objets%,i%+1,Chaine$
      return
      end_if



Return

' -----------------------------------------------------------------------
'              Actions liées Effacer
'              Sous-Programme pour Effacer un libelle
' -----------------------------------------------------------------------

SUB_Bouton_Effacer_Libelle:
                       
                       
If Flag_Objet%=1
                    Indice_Item%=Item_index(List_Fenetre_Numerotation_Objets%)
      item_delete List_Fenetre_Numerotation_Objets%,Indice_Item%
      item_delete List_Valeur_Objets%,Indice_Item%
      item_delete List_Pas_Objets%,Indice_Item%
end_if

 If Flag_Valeur%=1
 
      Indice_Item%=Item_index(List_Valeur_Objets%)
      item_delete List_Valeur_Objets%,Indice_Item%
      Item_Insert List_Valeur_Objets%,Indice_Item%,""
end_if

 If Flag_Pas%=1
 
      Indice_Item%=Item_index(List_Pas_Objets%)
      item_delete List_Pas_Objets%,Indice_Item%
      Item_Insert List_Pas_Objets%,Indice_Item%,""
end_if

return

' -----------------------------------------------------------------------
'              Actions liées aux boutons
'              Sous-Programme pour modifier un libelle
' -----------------------------------------------------------------------
Sub_Bouton_Modifier_Libelle:

      If Flag_Objet%=1
            i%=Item_index(List_Fenetre_Numerotation_Objets%)
                  Chaine$=item_read$( List_Fenetre_Numerotation_Objets%,i%)
                        item_delete List_Fenetre_Numerotation_Objets%,i%
                  Text  Zone_edition_Libelle%,Chaine$
            Indice_Item%=i%
      End_if

      If Flag_Valeur%=1
            i%=Item_index(List_Valeur_Objets%)
                  Chaine$=item_read$( List_Valeur_Objets%,i%)
                        item_delete List_Valeur_Objets%,i%
                        Item_Insert List_Valeur_Objets%,Indice_Item%,""
                  Text  Zone_edition_Valeur%,Chaine$
            Indice_Item%=i%
      End_if

If Flag_Pas%=1
            i%=Item_index(List_Pas_Objets%)
                  Chaine$=item_read$( List_Pas_Objets%,i%)
                        item_delete List_Pas_Objets%,i%
                        Item_Insert List_Pas_Objets%,Indice_Item%,""
                  Text  Zone_edition_Pas%,Chaine$
            Indice_Item%=i%
      End_if
     
Return

' ------------------------------------------------------------------------
'              Action liées au Clavier edit Libelle
'              Sous-Programme pour entrer un libelle avec la touche Retun
' ------------------------------------------------------------------------

Sub_Entre_Return:

Chaine$=text$(Zone_edition_Libelle%)

if Chaine$="" then return

      if Key_up_code=13
     
Gosub Boucle_Blanc

      if Indice_Item%>1
Gosub Calcul_Indice   
     
            Item_Insert List_Fenetre_Numerotation_Objets%,Indice_Item%,Chaine$
            Text  Zone_edition_Libelle%,""
      return
      end_if
     
Gosub Boucle_Blanc
Gosub Calcul_Indice

      item_add List_Fenetre_Numerotation_Objets%,Chaine$
      Text  Zone_edition_Libelle%,""
      item_add List_Valeur_Objets%," "
      item_add List_Pas_Objets%," "
end_if
  return
 
' ------------------------------------------------------------------------
'              Action liées au Clavier edit valeur
'              Sous-Programme pour entrer une valeur avec la touche Retun
' ------------------------------------------------------------------------
 
  Sub_Edition_Valeur:
 
  Chaine$=text$(Zone_Edition_Valeur%)

if Chaine$="" then return

      if Key_up_code=13
     
      Indice_Item%=Item_index(List_Valeur_Objets%)

            item_delete List_Valeur_Objets%,Indice_Item%
            Item_Insert List_Valeur_Objets%,Indice_Item%,Chaine$

            Text  Zone_Edition_Valeur%," "

end_if
  return

' ------------------------------------------------------------------------
'              Action liées au Clavier edit Pas
'              Sous-Programme pour entrer un pas avec la touche Retun
' ------------------------------------------------------------------------
 
  Sub_Edition_Pas:
 
  Chaine$=text$(Zone_Edition_Pas%)

if Chaine$="" then return

      if Key_up_code=13
     
      Indice_Item%=Item_index(List_Pas_Objets%)


            item_delete List_Pas_Objets%,Indice_Item%
            Item_Insert List_Pas_Objets%,Indice_Item%,Chaine$
           
            Text  Zone_Edition_Pas%," "

end_if
  return
 
 
 
 
' ------------------------------------------------------------------------
'              Action liées a List
'              Sous-Programme pour controller la monté du libelle
' ------------------------------------------------------------------------

Sub_Init_FLag:

flag_item_index%=1
Indice_Item%=Item_index(List_Fenetre_Numerotation_Objets%)
print Indice_Item%
Flag_Objet%=1
Flag_Valeur%=0
Flag_Pas%=0

return
' ------------------------------------------------------------------------
'              Action liées a List valeur
'              Sous-Programme pour calculer la numero de l'objet
' ------------------------------------------------------------------------

Sub_Actualiser:

return

' ------------------------------------------------------------------------
'              Action liées a Chaine$
'              Sous-Programme pour remplacer le blanc par _ dans chaine$
' ------------------------------------------------------------------------
Boucle_blanc:
      L%=Len(chaine$)
      If Instr(Chaine$,Chr$(32))=0 then Return
      if    Left$(Chaine$,1)="'" then Return
        chaine$=Trim$(chaine$)
        ChaineG$=Left$(Chaine$,Instr(Chaine$,Chr$(32))-1)
        ChaineD$=Right$(Chaine$, L% - (Instr(Chaine$,Chr$(32))))
        Chaine$=ChaineG$+"_"+ ChaineD$
      goto Boucle_blanc
return
' ------------------------------------------------------------------------
'              Action liées a Chaine$
'              Sous-Programme pour remplacer le blanc par _ dans chaine$
' ------------------------------------------------------------------------
Calcul_Indice:

' Valeur%=val(Text$(Zone_edition_Valeur%))
' Pas%=val(Text$(Zone_edition_Pas%))

Valeur_indice$= str$ (Valeur%+Pas%)

Return

Sub_Init_FLag_Valeur:

Flag_Objet%=0
Flag_Valeur%=1
Flag_Pas%=0
return

Sub_Init_FLag_Pas:

Flag_Objet%=0
Flag_Valeur%=0
Flag_Pas%=1

return


Le Memo se gère comme un list.Sauf que tu ne peu pas entrer directement des valeurs dans le LIST.

Revenir en haut Aller en bas
Invité
Invité




réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 10:46

Je viens de regarder ton programme à toute vitesse. Il faudra attendre pour voir une fois fini.
Les problèmes sont pas facile à gérer.

Étant très critique sur ce que je viens de mettre, j'ai effacé, je crois que cela ne changera rien. Dommage, mais c'est toujours moi qui joue le mauvais rôle.
Revenir en haut Aller en bas
Invité
Invité




réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 12:01

Je crois que je vais me servir de Crimson Editor pour mon programme. Il va me servir d'éditeur, et comme on peut lancer un programme Panoramic avec par les macros, je pourrai ainsi diriger le contrôle de l'éditeur par Panoramic. C'est une situation provisoire qui pourra surement être revu ensuite. Il suffit de refaire une page pour un autre langage, avec un programme Panoramic. Seul le lien est à revoir.
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 14:19

@Cosmos j'ai pas bien compris la....

Citation :

Il suffit de refaire une page pour un autre langage, avec un programme Panoramic. Seul le lien est à revoir.
Revenir en haut Aller en bas
Invité
Invité




réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 14:46

En fait je l'ai revu depuis. Lorsque je parlais de langage, c'était pour lui donné un autre nom avec une autre entrée et un autre raccourcis.
Le but est de me servir de Crismon pour servir en quelque sorte de mémo, et de traité avec Panoramic le contenu. J'ai pas le temps pour l'instant de concevoir un truc qui me convienne. Je suis sur une autre idée, et c'est là que je veux développer, et non perdre mon temps pour obtenir ce que je veux. C'est toujours à complication. En faite sur le programme chain de récupération que j'avais publié, je l'ai repris en partie, pour qu'il puisse être traité par un autre programme, le texte de l'éditeur Crismon étant dans le presse-papier.
Celà sera à revoir par la suite.

De toute façon le traitement du memo je le reprendrais par la suite. Peut-être que d'ici là Jack acceptera de rajouter des commandes. On peut toujours rêver.
Revenir en haut Aller en bas
659_minifly




Nombre de messages : 590
Age : 75
Localisation : Valenciennes Nord
Date d'inscription : 29/04/2010

réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 15:35

L'autre jourt en fouinant sur le Web j'ai trouvé ça qui a l'air tès interressant :
Voici le lien.

http://www.worldlingo.com/ma/enwiki/fr/Visual_programming_language

Ce qui n'a rien a voir avec un certain VB.

ici on parle d'une programmation différente.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 55
Localisation : Valence
Date d'inscription : 02/07/2010

réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo EmptySam 2 Oct 2010 - 17:43

Oui c'est une forme de programmation (ladder,grafcet...) surtout utilisé sur les automates programmables.
Genre Allen-bradley avec le logiciel de Rockwell...on l'utilise dans ma boite...
Labview propose aussi pour leurs chaines d'acquisition un logiciel qui représente les fonctions de manière graphique. (bluffant d'ailleurs le truc! j'ai un collègue au boulot qui s'éclate comme un fou avec..)


Revenir en haut Aller en bas
http://nardo26.lescigales.org
Contenu sponsorisé





réflexion sur return dans un memo Empty
MessageSujet: Re: réflexion sur return dans un memo   réflexion sur return dans un memo Empty

Revenir en haut Aller en bas
 
réflexion sur return dans un memo
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Position dans un MEMO
» file_add dans un memo
» Sélection dans un Memo
» Formattage et justification dans un MEMO
» position du curseur dans memo

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