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
» Logiciel de planétarium.
Re numerotation des objets Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Re numerotation des objets Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Re numerotation des objets Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Re numerotation des objets Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Re numerotation des objets Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Re numerotation des objets Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Re numerotation des objets Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Re numerotation des objets Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Re numerotation des objets Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Re numerotation des objets Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Re numerotation des objets Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Re numerotation des objets Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Re numerotation des objets Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Re numerotation des objets Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Re numerotation des objets Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

 

 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
» Donner un nom aux objets, c'est possible ;)
» objets barres

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: