Suite a mon msg

Programmation d'applications complexes
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Suite a mon msg

Message par garzul »

:D Suite à mon message précedent je poste le code (vus qe personne sait me répondre ) voila donc le code est le suivant et je voudrais que vous réussisiez à corriger ces bug au niveau de la deuxiéme fenêtre car j'ai passer toute la journée merci à vous (Pour les images utilisez d'autre image ou enlevez les :) ) Merci ==>

Code : Tout sélectionner

;  ** Procédure de visualisation ( Add - ons crée par Garzul ). **
Procedure Visualiseur()

LoadFont(1, "arial", 50 )
LoadFont(2, "arial", 50 )
UseFont(1)
Resultat = InitSprite()
Global Angle,amplitude
amplitude=5
Texte.s="Pingtix Player"

  OpenWindow(500,50,50,640,200,#PB_Window_TitleBar,"lu",#pingtixplayer)
  CreateGadgetList(WindowID())
  ButtonGadget(#cl,400,400,100,100,"FERMER")
  OpenWindowedScreen(WindowID(),0,0,640,200,1,0,0)
  
  CreateImage(100, 640, 100)
StartDrawing( ImageOutput())
FrontColor($0,$FF,$FF)
BackColor(0, 0, 0)

UseFont(1)
DrawingFont(FontID())
DrawingMode(1)
Locate(0, 0)
DrawText(Texte.s)
StopDrawing()

For t=0 To 100
    GrabImage(100, t, 0, t, 640,1)
Next t
   
Repeat
    
    For y= 0 To 100
        StartDrawing(ScreenOutput()) 
        UseFont(2)
        DrawingFont(FontID())
        DrawingMode(1)
        
        FrontColor($95,$25,$BA)
        BackColor(0, 0, 0)
        Locate(40, 0)
        DrawText(Texte.s)
        
        
        Angle+1 :If Angle=360*10: Angle=0 :EndIf
        x=1+(Sin(Angle*2*3.1415926/50)* amplitude)
        DrawImage( UseImage(y), x+40, y+20*x/25+50,640,1)
        StopDrawing()
        dep+1 :If dep>640 :dep=-100:EndIf
        
    Next y
    
  ClearScreen(0,0,0)
  FlipBuffers()
  
Until #cl
EndProcedure
;  ** Fin de la procédure. **
C'est au niveau du visualiseur ( délimiter par des astérisque par mes soins ( procédure Visualiseur ) ) .
Les bugs vus sont les suivants :

* Quand le visualiseur est lancer on ne peux plus utilisez la premiére fenétre ( qui utilise une callback et qui teste les event d'ailleur je pense que c'est les events qui pose problémes ) .

* Quand on déplacez un fichier vidéos vers le player normal ( premiére fenétre ) la vidéos se lance dans une nouvelle fenêtre .

( Voici le code du deplacement ==> ) :

Code : Tout sélectionner

  Select WindowEvent()
    Case #WM_DROPFILES : DragAndDrop()
      azik$=zik$
      zik$=filename.s
      If azik$ <> zik$
        FreeVideo(0)
      EndIf
      ReadyMovie()
Et la procédure pour lire le fichier vidéos ==> :

Code : Tout sélectionner

  Procedure ReadyMovie()

  LoadVideo(0,zik$): load$ = "o"
        
  mseconde=SetVideoFormat(0,#VIDEO_MSECONDE)
  duree$=GetTime(mseconde)
  width = VideoWidth(0)
  height = VideoHeight(0)
        
  volume = GetGadgetState(#volume)
  VideoSetVolume(0,volume)  

  If VideoWidth(0) <> 0 And VideoHeight(0) <>0
  ResizeWindow(VideoWidth(0),VideoHeight(0)+94)
Else
  ResizeWindow(300,100)
  resize()
  EndIf
  StatusBarText(#Statut,0,GetTime(VideoLength(0)))
  StatusBarText(#Statut,1,zik$)
    mciSendString_("Window MCI_"+"0"+" Handle "+Str(WindowID()),0,0,0)
    ResizeVideo(0,0,25,WindowWidth(),WindowHeight()-94)
    ResizeGadget(#progression,0,WindowHeight()-70,WindowWidth(),20)
    SendMessage_(hSeek, #TBM_SETRANGEMAX,#True,VideoLength(0))
    ;MCI_Play(0)
    mciSendString_("play MCI_"+Str(0),0,0,0)
    MoveWindow(WindowX()+1,WindowY()+1)
    MoveWindow(WindowX()-1,WindowY()-1)
    
EndProcedure
Voila merci à vous .