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.
Mp3 Cover Extractor Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Mp3 Cover Extractor Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Mp3 Cover Extractor Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Mp3 Cover Extractor Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Mp3 Cover Extractor Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Mp3 Cover Extractor Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Mp3 Cover Extractor Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Mp3 Cover Extractor Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Mp3 Cover Extractor Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Mp3 Cover Extractor Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Mp3 Cover Extractor Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Mp3 Cover Extractor Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Mp3 Cover Extractor Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Mp3 Cover Extractor Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Mp3 Cover Extractor 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
Le Deal du moment : -38%
Ecran PC gaming 23,8″ – ACER KG241Y P3bip ...
Voir le deal
99.99 €
anipassion.com

 

 Mp3 Cover Extractor

Aller en bas 
2 participants
AuteurMessage
Yannick




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

Mp3 Cover Extractor Empty
MessageSujet: Mp3 Cover Extractor   Mp3 Cover Extractor EmptyMer 22 Oct 2014 - 23:34

Je vous embête une dernière fois avec les *.mp3  Laughing
Ce coup ci c' est pour récupérer la pochette intégrée dans un fichier
et tout en Panoramic.
Code:
' attribution du nom de l' application
Application_title "Mp3 Cover Extractor"
' déclaration des variables globales événements
Dim clic%
' déclaration des variables globales d' adresses
dim dir_mp3$
dir_mp3$="C:\Users\"
' déclaration des variables globales fonctions
Dim file$,typ$,Img$
' déclarations des labels
Label Clic,L

' -----  Interface Utilisateur -------------------------------------------------
Caption 0,"Mp3 Cover Extractor"
Top 0,10 : Left 0,10 :Height 0,368 :Width 0,326
Font_name 0,"arial"
Main_menu 1
Sub_menu 2 : parent 2,1 : caption 2,"Fichier"
Sub_menu 3 : parent 3,2 : caption 3,"Ouvrir"      : On_click 3,Clic
Sub_menu 4 : parent 4,2 : caption 4,"Enregistrer" : Inactive 4 :On_click 4,Clic
Sub_menu 5 : parent 5,2 : caption 5,"-"
Sub_menu 6 : parent 6,2 : caption 6,"Quitter"    : On_click 6,Clic
Picture 7 : Top 7,5 : Left 7,5 : Height 7,300 : Width 7,300
End

' -----  Menu ------------------------------------------------------------------

Clic:
  clic%=Number_click
  Select clic%
      Case 3
        Select_file()
        if File$<>""
            Recup_info(File$)
        end_if
      Case 4
        Save()
      Case 6
        If file_exists(Img$)=1 : File_delete Img$ : End_if
        Terminate
  End_select
Return

' -----  Fonctions -------------------------------------------------------------

' Ouverture d' un fichier
Sub Select_file()
  Dim_local f$
  File$=""
  Open_dialog 8
  Dir_dialog 8,dir_mp3$
  Filter 8,"*.mp3|*.mp3"
  f$=File_name$(8)
  If f$<>"_"
      file$=f$
  End_if
  delete 8
End_sub

' Récupération des infos nécessaires sur le fichier ouvert
Sub Recup_info(F$)
  Dim_local x%,Tf%,bloc%(8),Mess$,dep%,fin%,nbrO%,suf$
  Mess$="Ce fichier ne contient pas la pochette de l' album !..."
  Img$="C:\Users\Yannick\Desktop\temp."
  Waiting()
  Pause 100
  Filebin_open_read 9,F$
  Tf%=Filebin_size(9)
  Filebin_position 9,0
  Filebin_block_read 9,3,bloc%(0)
 ' Recherche de l' image
 ' Recherche de tag de norme ID3 porteur d' une image puis,
 ' dans le cas positif, recherche du marqueur APIC signifiant
 ' la présence d' une image
  Caption 21,"Recherche de l' image..."
  display
  Position 22,1
  display
  If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))="ID3"
      For x%=0 to Tf%
        Filebin_position 9,x%
        Filebin_block_read 9,4,bloc%(0)
        If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))+chr$(bloc%(3))="APIC"
            dep%=x%
        Else
            If chr$(bloc%(0))+chr$(bloc%(1))=chr$(255)+chr$(251)
              fin%=x%
              If dep%=0
                  If Message_Warning_OK(Mess$+"( 2 )")=1 : End_if
              End_if
              Exit_for
            End_if
        End_if
      Next x%
  Else
      If Message_Warning_OK(Mess$+"( 1 )")=1 : End_if
      Exit_sub
  End_if

  If dep%>0
      Caption 21,"Recherche de la position de départ..."
      display
      Position 22,2
      display
    ' determination du type de fichier image et de son octet de départ
      For x%=dep% to fin%
        Filebin_position 9,x%
        Filebin_block_read 9,8,bloc%(0)
        If chr$(bloc%(0))+chr$(bloc%(1))=chr$(255)+chr$(216)
            dep%=x%
            typ$="jpg"
            Exit_for
        End_if
        If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))+chr$(bloc%(3))+chr$(bloc%(4))+chr$(bloc%(5))+chr$(bloc%(6))+chr$(bloc%(7))=chr$(137)+chr$(80)+chr$(78)+chr$(71)+chr$(13)+chr$(10)+chr$(26)+chr$(10)
            dep%=x%
            typ$="png"
            Exit_for
        End_if
        If chr$(bloc%(0))+chr$(bloc%(1))="BM"
            dep%=x%
            typ$="bmp"
            Exit_for
        End_if
        If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))="GIF"
            dep%=x%
            typ$="gif"
            Exit_for
        End_if
      Next x%
    Caption 21,"Recherche de la position de fin de l' image..."
    display
    Position 22,3
    display
  ' détermination de la fin du fichier image
    For x%=dep% to fin%
        Filebin_position 9,x%
        Filebin_block_read 9,8,bloc%(0)
        If chr$(bloc%(0))+chr$(bloc%(1))=chr$(255)+chr$(217) and typ$="jpg"
          fin%=x%+2
          Exit_for
        End_if
        If chr$(bloc%(0))+chr$(bloc%(1))+chr$(bloc%(2))+chr$(bloc%(3))+chr$(bloc%(4))+chr$(bloc%(5))+chr$(bloc%(6))+chr$(bloc%(7))=chr$(73)+chr$(69)+chr$(78)+chr$(68)+chr$(174)+chr$(66)+chr$(96)+chr$(130) and typ$="png"
          fin%=x%+8
          Exit_for
        End_if
    Next x%
  End_if
  Caption 21,"Extraction de l' image..."
  display
  Position 22,4
  display
  ' extraction de l' image et enregistrement dans un fichier
  nbrO%=fin%-dep%+1
  If variable("Tab%")=0 Then Dim Tab%(nbrO%)
  Filebin_position 9,dep%
  Filebin_block_read 9,nbrO%,Tab%(0)
  Img$=Img$+typ$
  Filebin_open_write 10,img$
  Filebin_block_write 10,nbrO%,Tab%(0)
  Filebin_close 10
  Filebin_close 9
  Hide 20
  suf$=File_extract_extension$(img$)
  If suf$=".jpg" Or suf$=".bmp"
      File_load 7,img$
  Else
      Message "L' extension du fichier est *."+typ$+chr$(13)+"Cette extension n' est pas reconnu par la visionneuse." +chr$(13)+"Cependant,vous pouvez la sauvegarder.
  End_if
  Stretch_on 7
  Active 4
  free Tab%
End_sub

Sub Waiting()
  If object_exists(20)=1
      Show 20
  Else
      Form 20 : Top 20,Top(0)+100 : Left 20,Left(0) : Height 20,100 : Width 20,Width(0)
      Caption 20,"Mp3 Cover Extractor"
      Alpha 21 : Parent 21,20 :Top 21,10 : Left 21,5
      Progress_bar 22 :Parent 22,20 : Top 22,30 : Left 22,5 : Width 22,Width(20)-26
  End_if
  Min 22,0 : Max 22,4 : Position 22,0
End_sub

Sub Save()
  Dim_local f$
  If file_exists(img$)=1
      L:
      f$=""
      Save_dialog 10
      Dir_dialog 10,":\"
      Filter 10,"*."+typ$+"|*."+typ$
      f$=File_name$(10)
      If Right$(f$,4)<>"."+typ$ : f$=f$+"."+typ$ : End_if
      If f$<>"_."+typ$
        If File_exists(f$)=0
            File_rename img$,f$
        Else
            Message "Ce fichier exite déjà !"
            delete 10
            goto L
        End_if
      End_if
      Delete 10
      Img$=""
  End_if
End_sub


Dernière édition par ygeronimi le Jeu 23 Oct 2014 - 3:40, édité 1 fois (Raison : correction d' un bug...ou deux...)
Revenir en haut Aller en bas
JL35




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

Mp3 Cover Extractor Empty
MessageSujet: Re: Mp3 Cover Extractor   Mp3 Cover Extractor EmptyJeu 23 Oct 2014 - 0:21

En peu de lignes et en tout Panoramic, chapeau !
Tu es devenu imbattable dans la manipulation des fichiers binaires... Very Happy
Revenir en haut Aller en bas
Yannick




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

Mp3 Cover Extractor Empty
MessageSujet: re   Mp3 Cover Extractor EmptyJeu 23 Oct 2014 - 0:31

J' ai trouvé un bug  Laughing
Rien de méchant mais j' aime pas cà.... bounce
Revenir en haut Aller en bas
Yannick




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

Mp3 Cover Extractor Empty
MessageSujet: re   Mp3 Cover Extractor EmptyJeu 23 Oct 2014 - 3:45

Bug corrigé !
Le code dans le post plus haut est à jour.

Il s' agissait des formats non pris en compte pour un "Picture" (*.png *.gif )
et du cas où l' on essayer d' enregistrer un fichier temp qui n' avait pas été créé  Very Happy .

Mp3 Cover extractor reconnait les formats *.jpg , *.bmp , *.png , *.gif
Revenir en haut Aller en bas
Contenu sponsorisé





Mp3 Cover Extractor Empty
MessageSujet: Re: Mp3 Cover Extractor   Mp3 Cover Extractor Empty

Revenir en haut Aller en bas
 
Mp3 Cover Extractor
Revenir en haut 
Page 1 sur 1

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: