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
» Form(résolu)
Re numerotation des objets Emptypar leclode Hier à 17:59

» trop de fichiers en cours
Re numerotation des objets Emptypar Marc Hier à 11:42

» Bataille navale SM
Re numerotation des objets Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Une calculatrice en une ligne de programme
Re numerotation des objets Emptypar jean_debord Ven 26 Avr 2024 - 8:01

» Gestion d'un système client-serveur.
Re numerotation des objets Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Re numerotation des objets Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Re numerotation des objets Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Re numerotation des objets Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Re numerotation des objets Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Re numerotation des objets Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Re numerotation des objets Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Re numerotation des objets Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Re numerotation des objets Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Re numerotation des objets Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Re numerotation des objets 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
-29%
Le deal à ne pas rater :
PC portable – MEDION 15,6″ FHD Intel i7 – 16 Go / 512Go (CDAV : ...
499.99 € 699.99 €
Voir le deal

 

 Re numerotation des objets

Aller en bas 
AuteurMessage
Oscaribout




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

Re numerotation des objets Empty
MessageSujet: Re numerotation des objets   Re numerotation des objets EmptyJeu 14 Nov 2019 - 3:41

J'avais prévu de mettre un programme android, mais je voulais renomer mes oobjets, car le programme final est composé de différent sous programmes, et cela posait problème.

Comme ce n'est pas la première fois, j'ai décidé de faire un programme automatique pour cela. Par contrre, il est évident qu'il n'y a pas d'analyse pour le type de programmaton du genre: no% = no%+1

Code:

rem "=================================="
rem " Oscaribout 14/11/2019 Modifier numéros des Objets  "
rem "=================================="

' reprendre N° Objet
'
label  save:  error_french
height 0,screen_y : width 0,1000 : full_space 0

if environment$ <> "CLASSIC"
  DIR_IS_SHARED_DOWNLOADS
end_if

dim l1$ , l2$  ,ob$ 
  ' 1ere ligne N° objets à remplacer : 2"me ligne: Nouveau N° d'objet (ou faire une boucle FIR-NEXT
  l1$ = " 509 510 511 512 513 520 521 530 531 532 533 534 535 540 541 542 543 544 545 546 560 561 562 563 564  "
  l2$ = " 800 801 802 803 804 810 811 820 821 822 833 834 835 840 841 842 843 844 845 846 860 861 862 863 864  "
 
  ' La liste n'est pas complète. Seuls les objets qui ont un N° dans la commande doivent-être dans la liste
  ob$=" HEIGHT WIDTH FULL_SPACE FONT_SIZE FONT_BOLD "
  ob$=ob$+" container panel list memo combo dlist hviewer font_bold font_bold_off font_name file_load file_save  "
  ob$=ob$+" item_add item_red$( item_index( item_index$( item_delete item_insert top left width check option container_option "
  ob$=ob$+" on_click  on_change bar_both bar_vertical button edit text text$( caption image 2d_scene picture " :' voir les curseurs
  ob$=ob$+" caption$( count(  font_color clear object_exists( font_color_item "
  ob$=ob$+" font_size_item height_item show hide show( hide( active inactive set_focus  "
  ob$=ob$+" content_copy parent "
 
dim a$ , b$ , c$ , v% ,f$
list 1 :width 1,1000         
    height 1,250:font_size 1,10:font_bold 1:font_name 1,"Consolas" : top 1,70 
   
    ' mettre le nom du fichier à reprogrammer
    ' file_load 1,"C:\Users\xxxxxx\Downloads\MEmu Download\00_teste_couleur_HTML.bas"
    file_load 1,"00_teste_couleur_HTML.bas"
memo 2 :width 2,60:font_size 2,10:font_bold 2:font_name 2,"Consolas":font_bold 2:bar_both 2
  height 2,550 : left 2,1010:top 2,100
memo 3 : width 3,60:font_size 3,10:font_bold 3:font_name 3,"Consolas":font_bold 3:bar_both 3:left 3,1070       
  height 3,550: left 3,1090  : top 3,100
 
list 4 : top 4,260:width 4,1000: height 4,500:font_size 4,10:font_bold 4:font_name 4,"Consolas": color 4,255,255,200
list(l1$,2)
list(l2$,3)

save_dialog 5
button 6 : left 6,1160:top 6,0:caption 6,"sauvegarde" : top 6,75: on_click 6,save
edit 10:width 10,width_client(0):height 10,35:font_size 10,12:font_bold 10
edit 11:width 11,width(10):height 11,35:font_size 11,12 : font_bold 11:top 11,35

list 12:left 12,1140:height 12,height(3):font_size 12,10:font_bold 12:font_name 12,"Consolas":width 12,120: top 12,100
dim a%  , t$
mot_clef()
renomme()
end

'' _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/   

SUB mot_clef()
  dim_local a$,v%,b$
  a$=ltrim$(upper$(ob$))
  v%= 0
  repeat
      v%=instr(a$," ")
      if v% > 0
        b$=trim$(left$(a$,v%-1))
        if b$ <> ""
            item_add 12, b$+" "
        end_if
        a$=right_pos$(a$,v%+1) 
      end_if
  until v%=0 or scancode = 27
 
END_SUB
' =====================================
SUB list(l1$,n%)
repeat
  v% = instr_pos(l1$," ",v%+1)
  if v% > 0
      b$ = right_pos$(l1$,v%+1)
      b$ = left$(b$ , instr(b$," ")-1)
      if b$ <> "" then item_add n%,b$
  end_if
until v% = 0 or scancode = 27
end_sub
' =====================================
save:
  f$ = file_name$(5)
  if f$ <> "_" then save 4,f$
return

SUB renomme()
  dim_local a$,b$,c$,d$,e$,g$,i%,j%,v%,w%, z% , nb%,ch%,k% ,l% ,h$ ,obj$ ,m$ ,n% , t%
 
  for i% = 1 to count(1) : ' on lit le fichier
      a$ = item_read$(1,i%) : text 10,a$ : text 11,a$
      b$ = upper$(a$) : c$ = b$
      v% = 0
     
      for j% = 1 to count(12)
        d$ = item_read$(12,j%)
        repeat
            '  b$ = ligne , d$ = mot-clef
            v% = instr_pos(b$,d$,v%+1)
            if v% > 0
              e$ = right_pos$(b$,v%)
              w% = len(trim$(d$)) : ' longueur mot-clef
              e$ = mid$(e$,w%+1,10)
              ' ici on recherche les chiffres du nb
              ch% = 0 : nb% = 0 : obj$ = "" :  m$=""
              ' ------------- e$ est un des mot clef de la chaine
              for k% = 1 to len(e$)    :' on regarde la suite de l'objet ou dommande qui doit-être un nombre
                  ' on teste si c'est un nb
                  if numeric(mid$(e$,k%,1)) = 1
                      obj$ = obj$ + mid$(e$,k%,1)
                      if ch% = 0 then ch% = k%
                      if scancode = 27 then end
                      m$ = ""
                      nb% = nb% +1
                  else
                    if ch% > 0
                        rem " ici on doit pouvoir modifier le n°
                        for l% = 1 to count(2)
                          if item_read$(2,l%)  = obj$
                              a$ = left$(a$,v%+w%+ch%-2) + item_read$(3,l%)+right_pos$(a$,v%+w%+ch%+nb%-1)
                              text 11,a$
                             
                              ' maintenant il faut voir si c'est parent ou content_copy, pour modifier le 2è nb
                              if trim$(d$) = "PARENT" or trim$(d$) = "CONTENT_COPY"
                                z% = instr_pos(a$,",",v%+w%+ch%)
                                rem "z%, montre l'emplacement de la virgule
                                e$ = right_pos$(a$,z%+1)
                                ' maintenant il faut trouver le nombre et le changer si prévu
                                nb% = 0 : ch% = 0 : g$ = ""
                               
                                for w% = 1 to 10
                                    if numeric(mid$(e$,w%,1)) = 1
                                      if ch% = 0 then ch%= w%
                                      g$ = g$+ mid$(e$,w%,1)
                                    else
                                      if ch% > 0
                                          ' d'abord rechercher le nombre
                                          for t% = 1 to count(2)
                                            if item_read$(2,t%) = g$
                                                obj$ = trim$(item_read$(3,t%))
                                                a$ = left$(a$, z% + ch%-1) + obj$ + right_pos$(a$,z%+ch% + len(obj$))
                                                text 11,a$
                                                exit_for
                                            end_if
                                          next t%
                                         
                                      end_if
                                    end_if
                                next w%
                              end_if
                              exit_for
                          end_if
                        next l%
                        exit_for
                    end_if
                  end_if                                     
              next k%
              if scancode = 27 then end
            end_if
        until v% = 0 or scancode = 27
      next j%
     
      item_add 4,a$
  next i%
END_SUB

Je n'arrive pas à me connecter depuis mon ordi, et j'ai encore du mal avec la tablette. C'est pas évident de faire une copie.

Remis le code depuis mon PC à midi pour enlever formatage des caractères accentués, produis sur Android.
Revenir en haut Aller en bas
 
Re numerotation des objets
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Donner un nom aux objets, c'est possible ;)
» dynamique de numérotation
» Numerotation ligne de programme
» Numerotation d'objet dans un main_menu
» Limite d'objets sur IDE

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: