jamesstp20 Posted September 12, 2010 Share Posted September 12, 2010 (edited) Hello i'm trying to do something like this: If $LienYoutubeRead = "http://www.http://www.youtube.com/watch?v=" & Not = "" Then ... Or If $LienYoutubeRead = "http://www.http://www.youtube.com/watch?v=" & <> "" Then .. For Exemple: If the GuICtrlCreateInput = http://www.http://www.youtube.com/watch?v= Then do nothing If the GuICtrlCreateInput = http://www.http://www.youtube.com/watch?v=ffdsdf Do something If the GuICtrlCreateInput = http://www.http://www.youtube.com/watch?v=lklk Do something If the GuICtrlCreateInput = http://www.http://fhkjhfdfdkjnfsd.com/ Do nothing But i don't know how :S Thanks and i hope you will understand what i'm trying to do Edited September 12, 2010 by jamesstp20 Link to comment Share on other sites More sharing options...
seandisanti Posted September 12, 2010 Share Posted September 12, 2010 that URL you're acting upon... is it a link, the address bar of the current window, or ??? Link to comment Share on other sites More sharing options...
jamesstp20 Posted September 12, 2010 Author Share Posted September 12, 2010 No its a website URL If the GuICtrlCreateInput = http://www.http://www.youtube.com/watch?v= Then do nothing If the GuICtrlCreateInput = http://www.http://www.youtube.com/watch?v=ffdsdf Do something If the GuICtrlCreateInput = http://www.http://www.youtube.com/watch?v=lklk Do something If the GuICtrlCreateInput = http://www.http://fhkjhfdfdkjnfsd.com/ Do nothing Thanks Link to comment Share on other sites More sharing options...
Tvern Posted September 12, 2010 Share Posted September 12, 2010 4 things: 1. "&" is the operator to concatenate two strings. To evaluate if multiple statements are all true, use "And" 2. When using "And" every statement has to be valid on it's own: If $var > 1 And < 2 Then ;this is not proper syntax If $var > 1 And $var < 2 Then ;this is proper syntax and would be true if $var is between 1 and 2 3. When posting code, consider [ autoit] and [ /autoit] tags. They're nice! 4. For something like this I'd use a Switch statement like this: $LienYoutubeRead = InputBox("Input required","Please enter a valid Youtube url") Switch $LienYoutubeRead ;this is the variable we will look at in every case. Case "" ;the variable is empty MsgBox(0,"error","you must specify an youtube url!") ;react to the empty variable Case "http://www.http://www.youtube.com/watch?v=" MsgBox(0,"error","that url isn't meant to work") Case "http://www.http://www.youtube.com/watch?v=sddffd" MsgBox(0,"success!","that one works") Case "http://www.http://www.lalalala.com" MsgBox(0,"error","that's not even a youtube url") Case Else ;this will be true if none of the others are. MsgBox(0,"error","i don't even know what to do with that") EndSwitch Link to comment Share on other sites More sharing options...
jamesstp20 Posted September 12, 2010 Author Share Posted September 12, 2010 (edited) Look at the function _GetTitle(). Please i just wan't to be sure that the Youtube URL is good or not.. Its why i'm using a IF and not case + switch :S expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <IE.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) $GUI = GUICreate("JST Youtube Downloader", 606, 199, 192, 124) GUICtrlSetFont(-1, 14, 400, 0, "Segoe UI") GUICtrlSetColor(-1, 0x1E3287) GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") $LabelTitre = GUICtrlCreateLabel("Youtube Downloader Par Jamesst20", 175, 8, 255, 25) GUICtrlSetFont(-1, 12, 400, 0, "Segoe UI") $TitreVideoYoutube = GUICtrlCreateLabel("", 48, 88, 518, 24) GUICtrlSetFont(-1, 11, 400, 0, "Segoe UI") $Group1 = GUICtrlCreateGroup("Téléchargement de la Vidéo de Youtube", 32, 56, 545, 121, $BS_CENTER) GUICtrlCreateGroup("", -99, -99, 1, 1) $LienYoutube = GUICtrlCreateInput("http://www.", 48, 120, 409, 21) $DownloadButton = GUICtrlCreateButton("Download", 472, 120, 89, 21, $WS_GROUP) GUICtrlSetOnEvent(-1, "_GetTitle") $ProgressBar = GUICtrlCreateProgress(48, 152, 513, 17) GUISetState(@SW_SHOW) While 1 Sleep(1) WEnd Func _Exit() Exit EndFunc Func _GetTitle() $LienYoutubeRead = GUICtrlRead($LienYoutube) If $LienYoutubeRead = "http://www.youtube.com/watch?v=" Then ;Verify if the URL of youtube is good.. How to? Please Help me $oIETitre = _IECreate($LienYoutubeRead,0,1,0) Sleep(2000) _IENavigate($oIETitre, "javascript:fv=document.getElementById('watch-headline-title').innerText;" ,0) ConsoleWrite("1") Sleep(1000) ConsoleWrite("2") $Titredetecter = _IEBodyReadText($oIETitre) ConsoleWrite("3") MsgBox(0, "", $Titredetecter) ConsoleWrite("4") GUICtrlSetData($TitreVideoYoutube, $Titredetecter) EndIf EndFunc Edited September 12, 2010 by jamesstp20 Link to comment Share on other sites More sharing options...
Richard Robertson Posted September 12, 2010 Share Posted September 12, 2010 If StringRegExp($LienYoutubeRead, "^http://www.youtube.com/watch?v=*+$") Then ; it has text after the v= Else ; it doesn't have text after the v= or it might not even match the YouTube link EndIf Link to comment Share on other sites More sharing options...
Tvern Posted September 12, 2010 Share Posted September 12, 2010 I don't realy understand some parts of your StringRegExp pattern, but it returns false for me all the times. This one works for me though: If StringRegExp($LienYoutubeRead, "\A\Qhttp://www.youtube.com/watch?v=\E.+") Then ; it has text after the v= Else ; it doesn't have text after the v= or it might not even match the YouTube link EndIf Link to comment Share on other sites More sharing options...
Richard Robertson Posted September 13, 2010 Share Posted September 13, 2010 Well I wrote it rather quickly and didn't check it. The problem was my ? after watch. I forgot to escape it. Glad you got it working though. Link to comment Share on other sites More sharing options...
jamesstp20 Posted September 13, 2010 Author Share Posted September 13, 2010 Thanks i Will try Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now