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
» Gestion d'un système client-serveur.
Un compteur de lignes de code source Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Un compteur de lignes de code source Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Un compteur de lignes de code source Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Un compteur de lignes de code source Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Un compteur de lignes de code source Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Un compteur de lignes de code source Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Un compteur de lignes de code source Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Un compteur de lignes de code source Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Un compteur de lignes de code source Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Un compteur de lignes de code source Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Un compteur de lignes de code source Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Un compteur de lignes de code source Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Un compteur de lignes de code source Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Un compteur de lignes de code source Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Un compteur de lignes de code source Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-14%
Le deal à ne pas rater :
Apple MacBook Air (2020) 13,3″ Puce Apple M1 – RAM 8Go/SSD 256Go
799 € 930 €
Voir le deal

 

 Un compteur de lignes de code source

Aller en bas 
4 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Un compteur de lignes de code source Empty
MessageSujet: Un compteur de lignes de code source   Un compteur de lignes de code source EmptySam 22 Avr 2017 - 2:50

J'ai fait un petit outil de comptage de lignes source, sans prétendion. Juste saisir l'extension (les 3 lettres gende bas), sans point ni étoile, puis cliquer sur le bouton "Compter". Ensuite, un clic sur une des lignes donne le nombre de lignes de ce fichier. C'est en 100 % Panoramic, et c'est suffisamment rapide. Le programme travaille dans le dossier courant. Pour d'autres dossiers, ajouter un moyen de sélectionner, ou placer ce programe dans ce dossier.
Code:
' CompterLignesSource.bas

label compter, detail

dim ext$, fic$, dir$, cnt%, lig%, i%, s$

width 0,600 : height 0,700
alpha 1 : top 1,10 : left 1,10 : caption 1,"Extension: "
edit 2 : top 2,10 : left 2,100 : width 2,50
button 3 : top 3,10 : left 3,160 : caption 3,"Compter" : on_click 3,compter

alpha 10 : top 10,40 : left 10,10 : caption 10,"Fichiers:"
list 11 : top 11,40 : left 11,100 : width 11,300 : height 11,500 : on_click 11,detail
alpha 12 : top 12,40 : left 12,420 : caption 12,"Nombre: 0"

alpha 20 : top 20,570 : left 20,10 : caption 20,"En cours:"
alpha 21 : top 21,570 : left 21,70 : caption 21,"0 / 0"
alpha 22 : top 22,570 : left 22,140

alpha 30 : top 30,600 : left 30,10 : caption 30,"Lignes:"
alpha 31 : top 31,600 : left 31,70 : caption 31,"0"
end

compter:
  ext$ = lower$(trim$(text$(2)))
  if ext$=""
    message "L'extension n'est pas indiquée."
    return
  end_if
 
  clear 11
  cnt% = 0
  lig% = 0
  caption 21,"0 / 0"
  caption 22,""
  caption 31,"0"
  dir$ = dir_current$ + "\"
  fic$ = file_find_first$
  while fic$<>"_"
    if left$(fic$,1)<>"."
      if right$(fic$,len(ext$))=ext$
        item_add 11,fic$
        cnt% = cnt% + 1
        caption 12,"Nombre: "+str$(cnt%)
      end_if
    end_if
    fic$ = file_find_next$
  end_while
  file_find_close
 
  if cnt%=0 then return
  for i%=1 to count(11)
    fic$ = item_read$(11,i%)
    caption 21,str$(i%)+" / "+str$(cnt%)
    caption 22,fic$
    file_open_read 1,dir$+fic$
    while file_eof(1)=0
      file_readln 1,s$
      lig% = lig% + 1
    end_while
    file_close 1
    caption 31,str$(lig%)
  next i%
  message "Vous avez "+str$(lig%)+" lignes de code dans "+str$(cnt%)+" fichiers !"
 
  return

detail:
  lig% = 0
  fic$ = item_index$(11)
  caption 21,str$(item_index(11))+" / "+str$(cnt%)
  caption 22,fic$
  file_open_read 1,dir$+fic$
  while file_eof(1)=0
    file_readln 1,s$
    lig% = lig% + 1
  end_while
  file_close 1
  message "Vous avez "+str$(lig%)+" lignes de code dans ce fichier !"
  return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Un compteur de lignes de code source Empty
MessageSujet: Re: Un compteur de lignes de code source   Un compteur de lignes de code source EmptySam 22 Avr 2017 - 10:46

Petite optimisation : à la place de compter les lignes dans chaque fichier, tu peux les charger 1 à 1 dans un dlist et obtenir le nombre de lignes de chacun avec la fonction 'count'.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Un compteur de lignes de code source Empty
MessageSujet: Re: Un compteur de lignes de code source   Un compteur de lignes de code source EmptySam 22 Avr 2017 - 11:14

Merci Klaus pour ce petit bout de code qui peut s'avérer très pratique.

Juste une petit remarque.
Pour éviter un plantage s'il y a de nombreux fichiers a scanner, j'ai rajouter :

: INACTIVE 11 en ligne 10 et ACTIVE 11 juste avant le RETURN

Comme cela, il est impossible de cliquer sur les fichier en cours de lecture ! Wink

Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Un compteur de lignes de code source Empty
MessageSujet: Re: Un compteur de lignes de code source   Un compteur de lignes de code source EmptySam 22 Avr 2017 - 15:06

Effectivement, comme dit silverman c'est extrêmement rapide avec Dlist: chez moi 1 seconde pour 650 fichiers .bas (avec pour chacun Clear et File_Load dans le Dlist).
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Un compteur de lignes de code source Empty
MessageSujet: Re: Un compteur de lignes de code source   Un compteur de lignes de code source EmptySam 22 Avr 2017 - 20:55

Merci, Silverman. J'adopte la DLIST - c'est effectivement i,comparablement plus efficace que ce que j'ai faot. Voici le code "rapide comme l'éclair" (avec un petit "display" dans la boucle pour voir la progression):
Code:
' CompterLignesSource.bas

label compter, detail

dim ext$, fic$, dir$, cnt%, lig%, i%, s$

width 0,600 : height 0,700
alpha 1 : top 1,10 : left 1,10 : caption 1,"Extension: "
edit 2 : top 2,10 : left 2,100 : width 2,50
button 3 : top 3,10 : left 3,160 : caption 3,"Compter" : on_click 3,compter

alpha 10 : top 10,40 : left 10,10 : caption 10,"Fichiers:"
list 11 : top 11,40 : left 11,100 : width 11,300 : height 11,500 : on_click 11,detail
alpha 12 : top 12,40 : left 12,420 : caption 12,"Nombre: 0"

alpha 20 : top 20,570 : left 20,10 : caption 20,"En cours:"
alpha 21 : top 21,570 : left 21,70 : caption 21,"0 / 0"
alpha 22 : top 22,570 : left 22,140

alpha 30 : top 30,600 : left 30,10 : caption 30,"Lignes:"
alpha 31 : top 31,600 : left 31,70 : caption 31,"0"

dlist 40
end

compter:
  ext$ = lower$(trim$(text$(2)))
  if ext$=""
    message "L'extension n'est pas indiquée."
    return
  end_if
 
  inactive 0
  clear 11
  cnt% = 0
  lig% = 0
  caption 21,"0 / 0"
  caption 22,""
  caption 31,"0"
  dir$ = dir_current$ + "\"
  fic$ = file_find_first$
  while fic$<>"_"
    if left$(fic$,1)<>"."
      if right$(fic$,len(ext$))=ext$
        item_add 11,fic$
        cnt% = cnt% + 1
        caption 12,"Nombre: "+str$(cnt%)
      end_if
    end_if
    fic$ = file_find_next$
  end_while
  file_find_close
 
  if cnt%=0 then return
  for i%=1 to count(11)
    fic$ = item_read$(11,i%)
    clear 40
    file_load 40,fic$
    lig% = lig% + count(40)
    caption 21,str$(i%)+" / "+str$(cnt%)
    caption 22,fic$
    caption 31,str$(lig%)
    display
  next i%
  active 0
  message "Vous avez "+str$(lig%)+" lignes de code dans "+str$(cnt%)+" fichiers !"
 
  return

detail:
  lig% = 0
  fic$ = item_index$(11)
  caption 21,str$(item_index(11))+" / "+str$(cnt%)
  caption 22,fic$
  clear 40
  file_load 40,fic$
  lig% = count(40)
  message "Vous avez "+str$(lig%)+" lignes de code dans ce fichier !"
  return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Un compteur de lignes de code source Empty
MessageSujet: Re: Un compteur de lignes de code source   Un compteur de lignes de code source Empty

Revenir en haut Aller en bas
 
Un compteur de lignes de code source
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Outil de comptage de fichiers et lignes source
» Compteur mécanique
» Quelques lignes de code plus tard....
» Astuce : Indenter plusieurs lignes de code à la fois
» Lignes ondulées

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: