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
» SineCube
Re numerotation des objets Emptypar Marc Aujourd'hui à 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Re numerotation des objets Emptypar Marc Aujourd'hui à 12:22

» Philharmusique
Re numerotation des objets Emptypar jjn4 Hier à 13:58

» PANORAMIC V 1
Re numerotation des objets Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Re numerotation des objets Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Re numerotation des objets Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Re numerotation des objets Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Re numerotation des objets Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Re numerotation des objets Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
Re numerotation des objets Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Re numerotation des objets Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Re numerotation des objets Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Re numerotation des objets Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Re numerotation des objets Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Re numerotation des objets Emptypar leclode Sam 27 Avr 2024 - 17:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

 

 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
-
» Numérotation par no%=no%+1
» dynamique de numérotation
» Numerotation ligne de programme
» Numerotation d'objet dans un main_menu
» Donner un nom aux objets, c'est possible ;)

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: