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.
Outil de comptage de fichiers et lignes source Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Outil de comptage de fichiers et lignes source Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Outil de comptage de fichiers et lignes source Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Outil de comptage de fichiers et lignes source Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Outil de comptage de fichiers et lignes source Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Outil de comptage de fichiers et lignes source Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Outil de comptage de fichiers et lignes source Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Outil de comptage de fichiers et lignes source Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Outil de comptage de fichiers et lignes source Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Outil de comptage de fichiers et lignes source Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Outil de comptage de fichiers et lignes source Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Outil de comptage de fichiers et lignes source Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Outil de comptage de fichiers et lignes source Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Outil de comptage de fichiers et lignes source Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Outil de comptage de fichiers et lignes 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
Le Deal du moment :
Cartes Pokémon EV6.5 : où trouver le ...
Voir le deal

 

 Outil de comptage de fichiers et lignes 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

Outil de comptage de fichiers et lignes source Empty
MessageSujet: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyDim 12 Jan 2014 - 2:41

J'ai fait un tout petit utilitaire qui compte le nombre de fichiers source dans un dossier, donne le nombre de lignes pour chaque fichier, puis le nombre total de fichiers et de lignes:
Code:
'
' CompteurDeLignes.bas

label chercher

dim f$, dir$, savdir$, act%, tot%, cnt%, l$, ext$

height 0,600
open_dialog 1

combo 9 : top 9,10 : left 9,10 : width 9,80
item_add 9,"*.bas"
item_add 9,"*.pas"
item_add 9,"*.dbs"
text 9,"*.bas"

button 10 : top 10,10 : left 10,100 : caption 10,chercher
  on_click 10,chercher

memo 11 : top 11,40 : left 11,10 : width 11,300 : height 11,500
  bar_vertical 11
  
  
end

chercher:
  ext$ = mid$(text$(9),3,20)
  filter 1,"Sources|"+text$(9)
  f$ = file_name$(1)
  if f$="_" then return
  dir$ = file_extract_path$(f$)
  
  savdir$ = dir_current$
  dir_change dir$
  f$ = file_find_first$
  clear 11 : tot% = 0 : cnt% = 0
  while f$<>"_"
    if left$(f$,1)<>"."
      if lower$(right$(f$,len(ext$)))=ext$
        file_open_read 1,f$
        act% = 0
        cnt% = cnt% + 1
        while file_eof(1)=0
          file_readln 1,l$
          act% = act% + 1
        end_while
        file_close 1
        tot% = tot% + act%
        item_add 11,f$+"  "+str$(act%)+" lignes"
      end_if
    end_if
    f$ = file_find_next$
  end_while
  file_find_close
  item_add 11," "
  item_add 11,str$(cnt%)+" fichiers avec "+str$(tot%)+" lignes au total"
  dir_change savdir$
  return

Petite info:
j'ai bien mis une commande FILTER avant file_name$, et elle est bien prise en compte. Néanmoins, dans la boucle de recherche, je dois tester à nouveau la bonne extension, tout simplement parce que les fonctions fFILE_FIND_FIRST$ et FILE_FIND_NEXT£ ne tiennent pas compte de cela et retournent tout !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


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

Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyDim 12 Jan 2014 - 19:52

Bonjour Klaus !

Ton cerveau est toujours en ébullition a ce que je vois !
Très intéressant cette petite procédure.

Dis moi, juste une petite question :

Est il possible d'utiliser cette procédure pour connaitre les noms des fichiers utilisant une extension dans un dossier bien défini sans passer par le OPEN_DIALOG.

En fait je m'explique, je recherche un moyen automatique et transparent de connaitre et charger la liste des fichiers directement sans passer par une boite de sélection comme OPEN_DIALOG.

J'espère que je suis assez clair...
Merci d'avance pour ta réponse Klaus.
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




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

Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyDim 12 Jan 2014 - 21:09

Salut Minibug,
Je réponds pour Klaus (qui a déjà plein de boulot  Very Happy ), mais c'est facile, par exemple avec cette petite sub:
Code:
SUB Dir(rep$, arg$)
' Liste des fichiers du répertoire rep$, options arg$, résultat -> CLIPBOARD
' (à coller par exemple dans un Memo). Exécution sans fenêtre noire.
' Arguments optionnels:
'    /A:D répertoires, /A:-D fichiers, /B format abrégé"
'    /-C pas de séparateur de milliers, /-N fichiers à gauche (abrégés)
'    /O: (tri) N tri alpha, E tri par extension, G répertoires en tête,
'        S tri par taille, D tri par date croissante (-D date décroissante)
'    /S y compris sous-répertoires, /X avec noms abrégés.
DIM_LOCAL prg_a$, s_cr$, b_at$
prg_a$ = "CMD.exe /c DIR " + rep$ + " " + arg$ + " | clip"
s_cr$ = "C:\Vbscript.vbs": b_at$ = "C:\Bat.bat"
FILE_OPEN_WRITE 9, b_at$: FILE_WRITELN 9, prg_a$: FILE_CLOSE 9: ' Fichier .bat
prg_a$ = "CreateObject(" + CHR$(34) + "Wscript.Shell" + CHR$(34) + ").Run "
prg_a$ = prg_a$ + CHR$(34) + b_at$ + CHR$(34) + ",0,True"
FILE_OPEN_WRITE 9, s_cr$: FILE_WRITELN 9, prg_a$: FILE_CLOSE 9: ' script vbs
EXECUTE_WAIT "WSCRIPT.exe " + s_cr$: ' Exécution du script
FILE_DELETE b_at$: FILE_DELETE s_cr$
END_SUB
Tu peux l'appeler de la façon suivante:
rep$ = "C:\Monrepertoire"
Dir(rep$,"/B") -> tous les fichiers du répertoire, en version abrégée (seulement les nom)
Dir(rep$+"\*.txt","/T:C /O:-D") -> tous les fichiers .txt, dans l'ordre chronologique inverse des dates de création
etc.
il suffit de 'coller' le résultat (clipboard) dans un memo par exemple, et l'exploiter, ou le sauvegarder.
(pour toutes les options de DIR, taper 'help dir' en mode ligne de commande de windows: touche Windows/R, taper cmd)
Revenir en haut Aller en bas
Minibug

Minibug


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

Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyDim 12 Jan 2014 - 22:15

Merci JL pour ta réponse rapide.

Effectivement c'est une solution, mais je souhaiterai (si possible) l'exécuter uniquement en Panoramic

Est ce possible ?
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




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

Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyDim 12 Jan 2014 - 22:38

Sans utiliser les ressources panoramic de open_dialog et file_find_first etc. comme tu le désires, c'est possible, mais il faut passer par les émulations ms_dos de windows;
Avec la fonction DIR en mode ligne de commande (donc je ne sais pas si tu appelles ça 'uniquement en panoramic').
Par exemple:
Code:
EXECUTE_WAIT "CMD.exe /C DIR " + rep$ + "\*.txt [/B ou autres options] >C:\TEMP\result.txt"
et exploiter le résultat dans le fichier result.txt.
Ou la même chose en envoyant le résultat dans le clipboard:
Code:
EXECUTE_WAIT "CMD.exe /C DIR " + rep$ + "\*.txt [/B ou autres options] | clip"
Moyennant quoi tu auras l'apparition d'une brève fenêtre noire pendant l'exécution par windows.

 Sleep 
Revenir en haut Aller en bas
Klaus

Klaus


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

Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyDim 12 Jan 2014 - 23:00

@Minibug:

Tu peux faire cela, en chargeant par programme, les variables ext$ (l'extensiion souvaitée) et dir$ (le dossier visé). Voici ce code avec cette modif minime:
Code:
' CompteurDeLignes.bas

label chercher

dim f$, dir$, savdir$, act%, tot%, cnt%, l$, ext$

height 0,600
open_dialog 1

' combo 9 : top 9,10 : left 9,10 : width 9,80
' item_add 9,"*.bas"
' item_add 9,"*.pas"
' item_add 9,"*.dbs"
' item_add 9,"*.dbl"
' text 9,"*.bas"

button 10 : top 10,10 : left 10,100 : caption 10,chercher
  on_click 10,chercher

memo 11 : top 11,40 : left 11,10 : width 11,300 : height 11,500
  bar_vertical 11
 
 
end

chercher:
'  ext$ = mid$(text$(9),3,20)
'  filter 1,"Sources|"+text$(9)
'  f$ = file_name$(1)
'  if f$="_" then return
'  dir$ = file_extract_path$(f$)

ext$ = ".dat"
dir$ = "C:\MonDossier\MonSousDossier\"
 
  savdir$ = dir_current$
  dir_change dir$
  f$ = file_find_first$
  clear 11 : tot% = 0 : cnt% = 0
  while f$<>"_"
    if left$(f$,1)<>"."
      if lower$(right$(f$,len(ext$)))=ext$
        file_open_read 1,f$
        act% = 0
        cnt% = cnt% + 1
        while file_eof(1)=0
          file_readln 1,l$
          act% = act% + 1
        end_while
        file_close 1
        tot% = tot% + act%
        item_add 11,f$+"  "+str$(act%)+" lignes"
      end_if
    end_if
    f$ = file_find_next$
  end_while
  file_find_close
  item_add 11," "
  item_add 11,str$(cnt%)+" fichiers avec "+str$(tot%)+" lignes au total"
  dir_change savdir$
  return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyDim 12 Jan 2014 - 23:26

Eh bien Klaus! tu me donnes le code que je m’apprêtais à faire pour mon programme. Il fallait que je récupère tous les fichiers images d'un dossier, et je vois que c'est le procédé que je pensais utiliser.

Je me dois de te faire des gros bisous! Outil de comptage de fichiers et lignes source Amoureuse-9402
Revenir en haut Aller en bas
Klaus

Klaus


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

Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyDim 12 Jan 2014 - 23:30

Très content d'avoir pu êtrre utile !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Outil de comptage de fichiers et lignes source Empty
MessageSujet: re   Outil de comptage de fichiers et lignes source EmptyLun 13 Jan 2014 - 0:04

Klaus a écrit a écrit:
if lower$(right$(f$,len(ext$)))=ext$

Vous avez aussi "File_extract_Extension$()"....

Code:
if file_extract_extension$(f$)=ext$

la variable ext$ doit être initialisée avec le point  : " .bmp" ou " .txt" ou.....

 geek
Revenir en haut Aller en bas
Klaus

Klaus


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

Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyLun 13 Jan 2014 - 0:15

C'est exact. C'est ce que je fais dans mon code, mais tu as raison de proposer cette fonction d'extraction d'extension qont le fonctionnement est identique à mon code, mais qui rend le code beaucoup plus lisible et intuitif.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Minibug

Minibug


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

Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source EmptyLun 13 Jan 2014 - 8:48

Bonjour a tous !

Merci JL35, j'avais déjà ramené les commandes a ce format (une seule ligne).
C'est vrai que c'est assez pratique.

Merci Klaus pour cette refonte de ton programme. c'est bien ce que je recherché.

Merci à tous pour vos contributions.
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





Outil de comptage de fichiers et lignes source Empty
MessageSujet: Re: Outil de comptage de fichiers et lignes source   Outil de comptage de fichiers et lignes source Empty

Revenir en haut Aller en bas
 
Outil de comptage de fichiers et lignes source
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un compteur de lignes de code source
» Un outil de blockage de pop-up et pop-under
» Un petit outil pour les sprites
» Outil de distribution protégée de logiciels
» Outil de création d'info-bulles

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: