Foro | | | | | Der untenstehende Code se ejecuta, pero yo möchte después de Beenden des Abspielens el "Play"-Button aktivieren. Leider bekomme Yo el sin Waitinput no hin. Lo sino que debe kein Waitinput vorkommen ? KompilierenMarcaSeparación
PROC ABSPIEL_BEFEHL
mcisend$("CLOSE MOVIE")
PARAMETERS avi_datei$
Enablewindow play%,0
Enablewindow stop%,1
mcisend$("OPEN "+shortname$(avi_datei$)+" TYPE AVIVIDEO ALIAS MOVIE")
mcisend$("WINDOW MOVIE HANDLE "+str$(win&))
mcisend$("PUT MOVIE DESTINATION AT 8 5 260 210")
mcisend$("PLAY MOVIE")
Nach Beenden der AVI-Datei soll jetzt hier der Button
play% aktiv und der Button stop% deaktiv geschaltet werden.
Klappt aber nicht :( - da PLAY MOVIE nicht wartet - WaitInput will ich nicht
EnableWindow stop%,0
EnableWindow play%,1
ENDPROC
########################################################
declare avi_datei$,win&
DECLARE play_EE%,play%,stop%,back%,tipp%
play_EE%=0
WINDOW (%MaxX+10),0-0,0
WindowStyle 84
win&=CREATE("WINDOW",%HWND,"",50,50,280,250)
play%=CREATE("BUTTON",win&,">",5,220,20,20)
tipp%=CREATE("TOOLTIP",win&,play%,"Abspielen wiederholen...")
stop%=CREATE("BUTTON",win&,"II",50,220,20,20)
tipp%=CREATE("TOOLTIP",win&,stop%,"Abspielen stoppen...")
back%=CREATE("BUTTON",win&,"ESC Abbrechen",148,220,120,20)
tipp%=CREATE("TOOLTIP",win&,back%,"Anzeige schließen")
--------------------------------------------------
avi_datei$=loadfile$("AVI - Datei auswählen...","*.avi")
avi_datei$="geburtstag.avi" Testdatei auf meiner Festplatte
--------------------------------------------------
ABSPIEL_BEFEHL avi_datei$
WHILENOT play_EE%
WAITINPUT
IF CLICKED(stop%)
mcisend$("CLOSE MOVIE")
EnableWindow stop%,0
EnableWindow play%,1
ENDIF
CASE CLICKED(play%):ABSPIEL_BEFEHL avi_datei$
IF IsKey(27) | CLICKED(back%)
mcisend$("CLOSE MOVIE")
DesTroyWindow(win&)
play_EE%=1
END vorläufiges Ende - normal Rücksprung zum Hauptfenster
ENDIF
ENDWHILE
4 href='./../../function-references/XProfan/end/'>FIN
Wer ha una Tipp para mich ? - Gracias en el Voraus |
| | | | |
| | Thomas Freier | @Horst, por qué willst du ihn deaktivieren? Überlasse el Betrachter, si él el Film todavía una vez startet. In el Ablage fand Todavía: KompilierenMarcaSeparaciónDef w32_CreateMenu(0) !"USER32","CreateMenu"
Def w32_AppendMenu(4) !"USER32","AppendMenuA"
Def SetMenu(2) !"USER32","SetMenu"
Def DrawMenuBar(1) !"USER32","DrawMenuBar"
Def MenuItemEx(1) If(Equ(%umessage,$0111),Equ(LoWord(&uwparam),&(1)),0)
Def DestroyMenu(1) !"USER32","DestroyMenu"
Def @Movewindow(6) !"USER32", "MoveWindow"
Declare hmenu&,hmenu2&,txt$,format%
hmenu&=w32_CreateMenu()
txt$="Beenden"
w32_AppendMenu(hmenu&,0,3000,Addr(txt$))
txt$="Start"
w32_AppendMenu(hmenu&,16,3001,Addr(txt$))
txt$="Stop"
w32_AppendMenu(hmenu&,16,3002,Addr(txt$))
txt$="100%"
w32_AppendMenu(hmenu&,16,3003,Addr(txt$))
txt$="200%"
w32_AppendMenu(hmenu&,16,3004,Addr(txt$))
txt$="Neu"
w32_AppendMenu(hmenu&,16,3005,Addr(txt$))
declare Label_m&, dat$, Funct%,Stop%
WINDOWSTYLE 512
WINDOW 1,1-600,400
SETTRUECOLOR 1
dat$ = ShortName$(LoadFile$("Film laden...","AVI-Film (*.avi)|*.avi"))
case (dat$ = "") : end
Label_m&=create("Window",%hwnd,"",100,50, 340,304)
SetMenu(Label_m&,hmenu&)
DrawMenuBar(Label_m&)
UserMessages $0111
MCISend$("open " + dat$ + " type avivideo alias film")
MCISend$("window film handle " + str$(Label_m&))
MCISend$("put film destination at 8 5 320 240")
MCISend$("play film")
Format%=0
Stop%=0
SetFocus(%hWnd)
EnableMenu 3001, 1
While 1
WaitInput
If MenuItemEx(3000)
Break
ElseIf MenuItemEx(3001)
case Format%=0: @Movewindow(Label_m&,100,50, 340,304,1)
case Format%=1: @Movewindow(Label_m&,100,50, 660,544,1)
MCISend$("close film")
MCISend$("open " + dat$ + " type avivideo alias film")
MCISend$("window film handle " + str$(Label_m&))
case Format%=0: MCISend$("put film destination at 8 5 320 240")
case Format%=1: MCISend$("put film destination at 8 5 640 480")
MCISend$("play film")
ElseIf MenuItemEx(3002)
IF stop%=0
MCISend$("Stop film")
stop%=1
Else
MCISend$("play film")
stop%=0
EndIf
ElseIf MenuItemEx(3003)
Format%=0
@Movewindow(Label_m&,100,50, 340,304,1)
MCISend$("window film handle " + str$(Label_m&))
MCISend$("put film destination at 8 5 320 240")
MCISend$("play film")
ElseIf MenuItemEx(3004)
Format%=1
@Movewindow(Label_m&,100,50, 660,544,1)
MCISend$("window film handle " + str$(Label_m&))
MCISend$("put film destination at 8 5 640 480")
MCISend$("play film")
ElseIf MenuItemEx(3005)
Stop%=0
MCISend$("close film")
dat$ = ShortName$(LoadFile$("Film laden...","AVI-Film (*.avi)|*.avi"))
case (dat$ = "") : end
MCISend$("open " + dat$ + " type avivideo alias film")
MCISend$("window film handle " + str$(Label_m&))
case Format%=0: MCISend$("put film destination at 8 5 320 240")
case Format%=1: MCISend$("put film destination at 8 5 640 480")
MCISend$("play film")
EndIf
Wend
DestroyMenu(hmenu&)
DestroyWindow(Label_m&)
MCISend$("close uot; )
end
|
| | | | |
| | Dieter Zornow | ¡Hola Horst
así gehts KompilierenMarcaSeparación
PROC ABSPIEL_BEFEHL
mcisend$("CLOSE MOVIE")
PARAMETERS avi_datei$
Declare stop$
Enablewindow play%,0
Enablewindow stop%,1
mcisend$("OPEN "+shortname$(avi_datei$)+" TYPE AVIVIDEO ALIAS MOVIE")
mcisend$("WINDOW MOVIE HANDLE "+str$(win&))
mcisend$("PUT MOVIE DESTINATION AT 8 5 260 210")
mcisend$("PLAY MOVIE")
whilenot stop$ = "stopped"
stop$=MCISend$("STATUS MOVIE MODE")zeigt den Zustand (stopped, playing, paused, not ready)
endwhile
enablewindow play%,1
enablewindow stop%,0
Nach Beenden der AVI-Datei soll jetzt hier der Button
play% aktiv und der Button stop% deaktiv geschaltet werden.
Klappt aber nicht :( - da PLAY MOVIE nicht wartet - WaitInput will ich nicht
EnableWindow stop%,0
EnableWindow play%,1
ENDPROC
########################################################
declare avi_datei$,win&
DECLARE play_EE%,play%,stop%,back%,tipp%
play_EE%=0
WINDOW (%MaxX+10),0-0,0
WindowStyle 84
win&=CREATE("WINDOW",%HWND,"",50,50,280,250)
play%=CREATE("BUTTON",win&,">",5,220,20,20)
tipp%=CREATE("TOOLTIP",win&,play%,"Abspielen wiederholen...")
stop%=CREATE("BUTTON",win&,"II",50,220,20,20)
tipp%=CREATE("TOOLTIP",win&,stop%,"Abspielen stoppen...")
back%=CREATE("BUTTON",win&,"ESC Abbrechen",148,220,120,20)
tipp%=CREATE("TOOLTIP",win&,back%,"Anzeige schließen")
--------------------------------------------------
avi_datei$=loadfile$("AVI - Datei auswählen...","*.avi")
avi_datei$="geburtstag.avi" Testdatei auf meiner Festplatte
--------------------------------------------------
ABSPIEL_BEFEHL avi_datei$
WHILENOT play_EE%
IF Getfocus(stop%)
mcisend$("CLOSE MOVIE")
EnableWindow stop%,0
EnableWindow play%,1
ENDIF
CASE getfocus(play%):ABSPIEL_BEFEHL avi_datei$
IF IsKey(27) | getfocus(back%)
mcisend$("CLOSE MOVIE")
DesTroyWindow(win&)
play_EE%=1
ENDvorläufiges Ende - normal Rücksprung zum Hauptfenster
ENDIF
ENDWHILE class=s4 href='./../../function-references/XProfan/end/'>FIN
Usted puede simplemente el Status abfragen, sin Waitinput verzichte en Clicked, el va torcido.
Saludo
Dieter |
| | | Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2 | 04.08.2008 ▲ |
| |
| | | @Thomas Yo voluntad el "play%"-Button no deaktivieren pero después de Abspielen el AVI-Expediente aktivieren - el Button se sí beim Start des Filmes grau - EnableWindow play%,0 - Yo möchte ahora, si la AVI-Expediente al Ende es, dass el Button otra vez aktiv dargestellt se. - EnableWindow play%,1 - Schreib Yo el en el Procedur, se inmediatamente aktiviert. Der MCIPLAY-Befehl macht no Pause pero "rutscht" inmediatamente por. Es sí no besonders wichtig, pero yo finde lo sólo optisch mejor, si la Button sólo después de Spielende aktiv se. - Su Vorschlag Aunque muy schön aber para mi Zwecke brauche Yo, el Windowstil 84 y es con el Menuzeile en Deinem Code no posible. |
| | | | |
| | Jac de Lad | @Thomas: Lieber todavía una "Sleep x" en el Bucle rein, sonst rennt se el Prog kaputt. |
| | | Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 04.08.2008 ▲ |
| |
| | E.T. | ¡Hola Horst,
hier veces rápidamente una Ejemplo, como yo gelöst habe (Aunque en rápido sólo para MP3, aber el Principio debería funzen): KompilierenMarcaSeparación,
Proc EB_Play_MP3
declare Play_Ende%, 1$, 3$, 4$, 5$
Clear Play_Ende%
WhileNot Play_Ende%
@MCISend$("OPEN "+@Chr$(34)+HelpStr$+@Chr$(34)+" TYPE MPEGVIDEO ALIAS MP3_play")
@MCISend$("set MP3_play time format ms")
@MCISend$("set MP3_play video off")
SetFocus(%HWnd)
SetText Sound_PlayBtn&, "WIEDERGABE
S T O P P E N"
EnableWindow Titel_Box&,0
EnableWindow Sound_Btn1&,0
EnableWindow Sound_Btn2&,0
EnableWindow Sound_ErBtn& ,0
@MCISend$("PLAY MP3_play")
4$ = MP3_length()
1$ = PosMP3()
3$ = MP3_position()
5$ = @str$( @Val(4$) - @Val(3$) )
WhileNot @GetFocus(Sound_PlayBtn&) OR (@Val(5$)=0)
sleep 100
1$ = PosMP3()
3$ = MP3_position()
5$ = @str$( @Val(4$) - @Val(3$) )
SetText Play_Time1&, 1$
SetText Play_Time2&, 3$
SetText Play_Ret1&, PosRet(5$)
SetText Play_Ret2&, 5$
EndWhile
@MCISend$("STOP MP3_play")
@MCISend$("CLOSE MP3_play")
SetText Sound_PlayBtn&, "Sound-Datei
abspielen"
EnableWindow Titel_Box&,1
EnableWindow Sound_Btn1&,1
EnableWindow Sound_Btn2&,1
EnableWindow Sound_ErBtn& ,1
Play_Ende% = 1
EndWhile
EB_Sound_Laden
ENDPROC
Hab el rápidamente veces de una meiner Progs rausgenommen: Yo benenne zwar media Start-Button wärend des Abspielens en Stopp-Button en, habe aber auch unos pocos otro Sachen deaktiviert y luego otra vez aktiviert. Das funktioniert en me así eigentlich reibungslos.
Yo frage simplemente en el mittleren Sinestar encargado / Endwhile - Bucle el Button para stoppen y el Rest-Spielzeit de.
Hoffe, el hilft primero una wenig más...
Mario |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 04.08.2008 ▲ |
| |
|
RespuestaThemeninformationenDieses Thema ha 5 subscriber: |