Immer wieder erstaunlich , was Leute , die die ganze Assemblerzeit mitbekommen haben , so auf`n Kasten haben ![]()
Beiträge von hellboy3
-
-
Alles gute , wenn auch verspätet

-
Zitat
Spiele und Filme werden dann in Zukunft nicht mehr auf DVD's verkauft sondern auf Disketten.

"Es ist sinnlos sich verrückt zu machen, indem maBack to the roots!!!

-
ohforf Kannst dir ja bei der Gelegenheit auch gleich mal Doodle Jump angucken

-
Funktioniert super!

Ne Frage , wozu dient GuiGetCursorInfo() in deiner UDF? Weil dadurch zuckt mein Slider jetzt (passiert wenn man Guigetcursorinfo zweimal benutzt...laaange geschichte)
-
Tut mir leid dir das sagen zu müssen aber ich habe nichts verstanden

-
Wilkommen bei uns im Forum!

-
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include "SliderTip.au3"$meintext = "ToolTip"
[/autoit] [autoit][/autoit] [autoit]$hWnd = GUICreate("SliderTip Beispiel by name22 (autoit.de)", 400, 90)
[/autoit] [autoit][/autoit] [autoit]
$cSlider1 = GUICtrlCreateSlider(5, 5, 390, 40)
GUICtrlSetLimit(-1, 500, 0)
$cSlider2 = GUICtrlCreateSlider(5, 45, 390, 40)
GUICtrlSetLimit(-1, 600, 50)
GUISetState()_SliderTip_RegisterToolTip($cSlider1, $hWnd , $meintext) ; so meinte ich das
[/autoit] [autoit][/autoit] [autoit]
_SliderTip_RegisterToolTip($cSlider2, $hWnd)While 1
[/autoit]
Switch GUIGetMsg(0)
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
-
Wäre noch nett wenn man über einen paramter selbst entscheiden könnte was der Tooltip anzeigen soll

-
Super Idee wie ich finde , mal schaun ob ich etwas Zeit finde

-
Hellboy war der name

SUPER UDF

-
Oscar Aha , das hab ich auch noch net gewusst
Und das stimmt auch oder?Wieder was gelernt...

-
Oscar : Danke ,das funktioniert!

@Rest: Natürlich auch ein Danke an euch
-
Oscar Die Funktion darf leider nicht im Main-Loop stehen
Aber danke, nette Idee
-
Ja das funzt schon aber geht das nicht auch ohne GuiGetMsg()? weil ich dachte man sollte guigetcursorinfo() (was ich in meinem eigentlichen script benutze) nicht mit guigetmsg benutzen?
-
Hallo Leute , ich habe mal wieder ein Problem.
Dazu habe ich wieder ein Beispielscript erstellt, welches mein Problem schildern soll.Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $WMP , $Button2 , $channel = "http://blackbeats.fm/listen.asx" , $Label
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("Loop-Stop", 247, 109, 426, 173)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent(-3, "_Exit")
$WMP = ObjCreate("WMPlayer.OCX")
$Button1 = GUICtrlCreateButton("Play", 24, 56, 81, 41, 0)
GUICtrlSetOnEvent(-1,"_play")
$Button2 = GUICtrlCreateButton("Stop", 128, 56, 81, 41, 0)
GUICtrlSetOnEvent(-1,"_stop")
$Label = GUICtrlCreateLabel("Label", 32, 16, 80, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)While Sleep(50)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WEndFunc _Exit()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _play()
[/autoit] [autoit][/autoit] [autoit]
$WMP.URL = $channel
$WMP.controls.play()
GUICtrlSetData($Label,"Loading...")
While $WMP.playstate <> 3
;Falls stop geklickt , soll _stop() aufgerufen werden
Sleep(20)
WEnd
GUICtrlSetData($Label,"Playing")
EndFuncFunc _stop()
[/autoit]
$WMP.controls.stop()
GUICtrlSetData($Label,"Stopped")
EndFuncWie kann ich eine Schleife nach einem Klick auf einen Button sofort verlassen ? Wie würdet ihr das machen?
Am besten ohne GuiGetMsg() , wenn , dann mit GuiGetCursorInfo(). -
Alles Gute nachträglich und schönen Urlaub

-
Hatte 4 Jahre lang WinXP Prof (32bit) , habe mir vor ein paar Monaten einen neuen Rechner geholt , auf diesem läuft jetzt Win7 Prof. (64bit).
Seitdem schreibe ich meine Scripte primär für Win7 , habe aber (wenns denn ein Script ist das unbedingt auf WinXP laufen soll) eine XP-VM
auf der ich dann das nötige umschreibe. Aber wie gesagt , ich distanziere mich bewusst immer mehr von XP, was übrigens auch viele Firmen tun.
Und zu der "Schnick-Schnack Oberfläche" , ich hab mir am Anfang auch gedacht "Pff braucht kein Schwein" aber mittlerweile möchte ich dieses ganze
Schnick-Schnack nicht mehr missen.
-
Ich hab euch mal schnell ein Beispiel gemacht
Spoiler anzeigen
[autoit]#include "_FF_YouTube_API.au3"
[/autoit] [autoit][/autoit] [autoit]
#include "FF.au3"
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>Global $schalter = 0 , $iVolume = 20
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("Youtube-API Beispiel", 351, 164, 442, 170,-1,$WS_EX_TOPMOST)
[/autoit] [autoit][/autoit] [autoit]
$Button1 = GUICtrlCreateButton("vUp", 16, 50, 81, 33, 0)
$Button2 = GUICtrlCreateButton("vDown", 104, 50, 73, 33, 0)
$Button3 = GUICtrlCreateButton("Pause", 16, 112, 81, 33, 0)
$Button4 = GUICtrlCreateButton("Stop", 104, 112, 73, 33, 0)
$Label1 = GUICtrlCreateLabel("Time:", 200, 120, 43, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("0.000", 256, 120, 51, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
$Label3 = GUICtrlCreateLabel($iVolume, 200, 60, 51, 20)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)$ff = _FFStart("http://www.youtube.com/watch?v=9rG6jgJAmh4","default", 1, False)
[/autoit] [autoit][/autoit] [autoit]
_FF_YT("setVolume",$iVolume)While Sleep(30)
[/autoit]
If $schalter = 0 Then GUICtrlSetData($Label2,_FF_YT("getCurrentTime"))
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_FFQuit()
Exit
Case $Button1
If $iVolume < 100 Then $iVolume += 5
_FF_YT("setVolume",$iVolume)
GUICtrlSetData($Label3,$iVolume)
Case $Button2
If $iVolume > 0 Then $iVolume -= 5
_FF_YT("setVolume",$iVolume)
GUICtrlSetData($Label3,$iVolume)
Case $Button3
If $schalter = 0 Then
_FF_YT("pausevideo")
GUICtrlSetData($Button3,"Play")
$schalter = 1
Else
_FF_YT("playvideo")
GUICtrlSetData($Button3,"Pause")
$schalter = 0
EndIf
Case $Button4
_FF_YT("stopvideo")
EndSwitch
WEnd
Habe mal die 2 benötigten Includes (FF.au3 und Youtube-API.au3) + BspScript angehängt
Edit: Voraussetzung für das ganze ist natürlich FF und Mozrepl
-
Spoiler anzeigen
[autoit]#include-once
[/autoit] [autoit][/autoit] [autoit]
;~ #include <FF.au3>;Mod: TimeOut verringert
[/autoit] [autoit][/autoit] [autoit]; #FUNCTION# ===================================================================
[/autoit] [autoit][/autoit] [autoit]
; Name ..........: _FF_YT
; Description ...: YouTube API for FF.au3
; AutoIt Version : V3.3.0.0
; Requirement(s).: FF.au3 > V0.5.3.x / MozRepl
; Syntax ........: _FF_YT(ByRef $Socket[, $sCommand = "playVideo"[, $vArg1 = ""[, $vArg2 = ""[, $sPlayerID = "movie_player"]]]])
; Parameter(s): .: $sCommand - Optional: (Default = "playVideo") :
; | loadWait / $vArg1 = TimeOut in ms (int), Default = 10000
; | playVideo
; | pauseVideo
; | stopVideo
; | clearVideo
; | getVideoBytesLoaded
; | getvideobytestotal
; | getVideoStartBytes
; | mute
; | unMute
; | isMuted
; | setVolume / $vArg1 = Volume (int) (min=0, max=100)
; | getVolume
; | seekTo / $vArg1 = Secs (int), $vArg2 = allowSeekAhead (boolean), Default = true
; | getPlayerState
; | getCurrentTime
; | getDuration
; | setSize / $vArg1 = height (int), $vArg2 = width (int) (min=50)
; | getVideoUrl
; | getVideoEmbedCode
; | loadVideoById / $vArg1 = id (string), $vArg2 = start (int)
; | cueVideoById / $vArg1 = id (string), $vArg2 = start (int)
; $vArg1 - Optional: (Default = "") :
; $vArg2 - Optional: (Default = "") :
; $sPlayerID - Optional: (Default = "movie_player") :
; Return Value ..: Success - Deppending on the function call
; Failure - Deppending on the function call and sets
; @ERROR - 1 = error while sending command to player or no player found
; | 2 = wrong value or datatype of $vArg1 or $vArg2
; | 3 = wrong or unsupported $sCommand
; | 4 = wrong datatype returned from API
; | 5 = TimeOut from "loadWait"
; Author(s) .....: Thorsten Willert, iLoveAU3 (loadVideoById, cueVideoById)
; Remarks .......: Currently not supported: setSize (Video), addEventListener, all events
; Date ..........: Tue Apr 28 22:20:44 CEST 2009 @889 /Internet Time/
; Link ..........: http://code.google.com/intl/de-DE/api…_reference.html
; Example .......: _FF_YT($Socket,"pauseVideo"), _FF_YT($Socket,"setSize",480,385)
; ==============================================================================
Func _FF_YT($sCommand = "playVideo", $vArg1 = "", $vArg2 = "", $sPlayerID = "movie_player")
Local $iRetSwitch StringLower($sCommand)
[/autoit] [autoit][/autoit] [autoit]
Case "loadwait"
;dummy
Case "playvideo"
$sCommand = "playVideo()"
$iRet = 0
Case "pausevideo"
$sCommand = "pauseVideo()"
$iRet = 0
Case "stopvideo"
$sCommand = "stopVideo()"
$iRet = 0
Case "clearvideo"
$sCommand = "clearVideo()"
$iRet = 0
Case "getvideobytesloaded"
$sCommand = "getVideoBytesLoaded()"
$iRet = 1
Case "getvideobytestotal"
$sCommand = "getVideoBytesTotal()"
$iRet = 1
Case "getvideostartbytes"
$sCommand = "getVideoStartBytes()"
$iRet = 1
Case "mute"
$sCommand = "mute()"
$iRet = 0
Case "unmute"
$sCommand = "unMute()"
$iRet = 0
Case "ismuted"
$sCommand = "isMuted()"
$iRet = 1
Case "setvolume"
$vArg1 = Number($vArg1)
If IsInt($vArg1) And $vArg1 >= 0 And $vArg1 <= 100 Then
$sCommand = "setVolume(" & $vArg1 & ")"
Else
SetError(2)
Return -2
EndIf
$iRet = 0
Case "getvolume"
$sCommand = "getVolume()"
$iRet = 1
Case "seekto"
$vArg1 = Number($vArg1)
If $vArg2 = "" Or $vArg2 = Default Then $vArg2 = True
If IsInt($vArg1) And IsBool($vArg2) Then
$vArg2 = __FFB2S($vArg2)
$sCommand = "seekTo(" & $vArg1 & "," & $vArg2 & ")"
Else
SetError(2)
Return -2
EndIf
$iRet = 0
Case "getplayerstate"
$sCommand = "getPlayerState()"
$iRet = 1
Case "getcurrenttime"
$sCommand = "getCurrentTime()"
$iRet = 1
Case "getduration"
$sCommand = "getDuration()"
$iRet = 1
Case "setsize"
$vArg1 = Number($vArg1)
$vArg2 = Number($vArg2)
If $vArg2 = 0 Or $vArg2 = Default Then $vArg2 = $vArg1
If IsInt($vArg1) And IsInt($vArg2) And $vArg1 > 50 And $vArg2 > 50 Then
$sCommand = "setSize(" & $vArg1 & "," & $vArg2 & ")"
Else
SetError(2)
Return -2
EndIf
$iRet = 0
Case "getvideourl"
$sCommand = "getVideoUrl()"
$iRet = 2
Case "getvideoembedcode"
$sCommand = "getVideoEmbedCode()"
$iRet = 2
Case "loadVideoById"
$vArg1 = String($vArg1)
$vArg2 = Number($vArg2)
If $vArg2 = Default Or $vArg2 = "" Then $vArg2 = 0
If IsString($vArg1) And IsNumber($vArg2) Then
$sCommand = "loadVideoById('" & $vArg1 & "'," & $vArg2 & ")"
Else
SetError(2)
Return -2
EndIf
Case "cueVideoById"
$vArg1 = String($vArg1)
$vArg2 = Number($vArg2)
If $vArg2 = Default Or $vArg2 = "" Then $vArg2 = 0
If IsString($vArg1) And IsNumber($vArg2) Then
$sCommand = 'cueVideoById("' & $vArg1 & '",' & $vArg2 & ")"
Else
SetError(2)
Return -2
EndIf
Case Else
SetError(3)
Return -2
EndSwitchIf $sCommand <> "loadwait" Then
[/autoit] [autoit][/autoit] [autoit]
Local $vRetVal = _FFCmd(StringFormat("try{window.content.wrappedJSObject.document.getElementById('%s').%s;}catch(e){'_FF_YT_Error'}", $sPlayerID, $sCommand), 500)
If Not @error And $vRetVal <> "_FF_YT_Error" Then
Switch $iRet
Case 0
If $vRetVal = "" Then
Return $vRetVal
Else
SetError(4)
Return ""
EndIf
Case 1
If IsNumber(Number($vRetVal)) Then
Return $vRetVal
Else
SetError(4)
Return -2
EndIf
Case 2
If IsString($vRetVal) Then
Return $vRetVal
Else
SetError(4)
Return ""
EndIf
EndSwitch
Else
SetError(1)
Return -2
EndIf
Else
If $vArg1 = "" Or Not IsInt(Number($vArg1)) Then $vArg1 = 10000
Local $TimeOutTimer = TimerInit()
Local $sState
Do
$sState = _FF_YT("getPlayerState")
If @error Then Return 0
Sleep(500)
If TimerDiff($TimeOutTimer) > $vArg1 Then
SetError(5)
Return 0
EndIf
Until $sState <= 3 Or $sState = "_FF_YT_Error"
Return 1
EndIfEndFunc ;==>_FF_YT
[/autoit]Hier die Youtube-API für AutoIt
