WhiteCrow Posted August 30, 2005 Posted August 30, 2005 (edited) I need a StringRegExp that can find a number before a .jpg in a url and then parse it to go one number higher for example: this one works fine with my program $klad="http://agrolink.moa.my/did/drainage/menunews/SMART-Sign020604/SigningPhotos/006.jpg" but this doesnt $klad="http://agrolink.moa.my/did/drainage/menunews/SMART-Sign020604/SigningPhotos/smart006.jpg" it want it to work with any url for example $klad="http://www.blah.com/blah/blah0000000056" should return $klad="http://www.blah.com/blah/blah0000000057" but it doesnt, i think it has something to do with $pattern = "gpj.(\d*?)/" Who could help me out to get this piece of *** to work ps i reverse the $var becouse i think that way expandcollapse popup#Include <Constants.au3> #Include <string.au3> $count=0 $count1=0 $count2=0 $counter=1 $picurl_int=0 $msg = "" $picurl = "" $jpggetal = "" $numberparse = "" $nummer = "" $nparse="" $klad="http://agrolink.moa.my/did/drainage/menunews/SMART-Sign020604/SigningPhotos/006.jpg" ; $klad omdraaien $jpggetal = _stringReverse($klad) ;MsgBox (0, "kladblok", $klad) ;MsgBox (0, "omgekeerd", $jpggetal) $pattern = "gpj.(\d*?)/" $y = StringRegExp($jpggetal,$pattern,1) $error = @error If @error = 0 and @extended = 1 Then For $z = 0 to UBound($y) - 1 $jpggetal = $y[$z] Next Else msgbox(0,"error","@error = " & $error & @CRLF & "@extended = " & @extended) EndIf $picurl = _stringReverse($jpggetal) $count1= StringLen ($picurl) MsgBox (0, "stringregfound", $picurl, 2) $picurl_int = Number($picurl) ;MsgBox (0, "stringregfound _ int", $picurl_int, 2) $picurl_int = $picurl_int + 1 $picurl_int = String ($picurl_int) $count2 = StringLen ($picurl_int) ;MsgBox (0, "stringregfound+1", $picurl_int, 2) $counter = $count1 - $count2 Do $picurl_int = "0" & $picurl_int $counter=$counter-1 Until $counter=0 MsgBox (0, "stringregfound", $picurl_int, 2) $count1= StringLen ($picurl) + 4 $klad = StringTrimRight ($klad, $count1) $klad = $klad & $picurl_int & ".jpg" MsgBox (0, "Result", $klad, 2) btw the comments are mostly Dutch (my apologies ) and the messageboxes are for debugging the vars i declared and dont use.. i like to keep some "free" ones, helps me to scroll less Thanks in advance Auto-it has the best helping user-base compared to any other scripting language.. Edited August 30, 2005 by WhiteCrow
w0uter Posted August 30, 2005 Posted August 30, 2005 (edited) is this what you are after ? $klad = "http://agrolink.moa.my/did/drainage/menunews/SMART-Sign020604/SigningPhotos/006.jpg" $klad = StringRegExp($klad, '(\d*)', 3) $klad = $klad[UBound($klad)-1] MsgBox(0, '', $klad) Edited August 30, 2005 by w0uter My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll
WhiteCrow Posted August 30, 2005 Author Posted August 30, 2005 Wow wouter, yes this actually works. way simpler then what i made thanks man. Feel so stupid right now.
w0uter Posted August 30, 2005 Posted August 30, 2005 you learn something evry day My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll
WhiteCrow Posted August 30, 2005 Author Posted August 30, 2005 I do learn everyday But im a bit slow sometimes This is what i made of it.. its sloppy, but it does the job(mostly) ===-- The PictureZapper --=== = is to get the next picturenumber up - is to get the next picturenumber down ] is to exit the program expandcollapse popup#Include <Constants.au3> #Include <string.au3> $infinite=1 $count=0 $count1=0 $count2=0 $counter=1 $picurl_int=0 $msg = "" $picurl = "" $jpggetal = "" $numberparse = "" $nummer = "" $nparse="" Opt("SendKeyDelay", 0) HotKeySet ( "=", "GetPic_Up" ) HotKeySet ( "-", "GetPic_Down" ) HotKeySet ( "]", "Exits" ) Do Sleep(200) Until $infinite=999 Func Getpic_Up() MouseClick ("left", 1071, 66, 1, 0) Sleep(100) Send("^a") Sleep(100) Send("^c") Sleep(100) $klad=Clipget() $kladcopy = $klad $klad= StringRegExp($klad, '(\d*)', 3) $jpggetal = $klad[UBound($klad)-1] ;MsgBox(0, '', $jpggetal) $picurl = $jpggetal $count1= StringLen ($picurl) ;MsgBox (0, "stinrlen", $count1, 2) ;MsgBox (0, "stringregfound", $picurl, 2) $picurl_int = Number($picurl) ;MsgBox (0, "stringregfound _ int", $picurl_int, 2) $picurl_int = $picurl_int + 1 $picurl_int = String ($picurl_int) $count2 = StringLen ($picurl_int) ;MsgBox (0, "stringregfound+1", $picurl_int, 2) $counter = $count1 - $count2 Do if $counter > 0 then $picurl_int = "0" & $picurl_int endif $counter=$counter-1 Until $counter <1 ;MsgBox (0, "stringregfound", $picurl_int, 2) $count1= StringLen ($picurl) + 4 $kladcopy = StringTrimRight ($kladcopy, $count1) $kladcopy = $kladcopy & $picurl_int & ".jpg" ;MsgBox (0, "uiteindelijke uitkomst", $kladcopy, 2) MouseClick ("left", 1071, 66, 2, 0) Sleep(100) Send("^a") Sleep(100) ClipPut($kladcopy) Send("^v") Sleep(100) Send("{Enter}") EndFunc ;=========================================================== Func Getpic_Down() MouseClick ("left", 1071, 66, 1, 0) Sleep(100) Send("^a") Sleep(100) Send("^c") Sleep(100) $klad=Clipget() $kladcopy = $klad $klad= StringRegExp($klad, '(\d*)', 3) $jpggetal = $klad[UBound($klad)-1] ;MsgBox(0, '', $jpggetal) $picurl = $jpggetal $count1= StringLen ($picurl) ;MsgBox (0, "stinrlen", $count1, 2) ;MsgBox (0, "stringregfound", $picurl, 2) $picurl_int = Number($picurl) ;MsgBox (0, "stringregfound _ int", $picurl_int, 2) $picurl_int = $picurl_int - 1 $picurl_int = String ($picurl_int) $count2 = StringLen ($picurl_int) ;MsgBox (0, "stringregfound+1", $picurl_int, 2) $counter = $count1 - $count2 Do if $counter > 0 then $picurl_int = "0" & $picurl_int endif $counter=$counter-1 Until $counter <1 ;MsgBox (0, "stringregfound", $picurl_int, 2) $count1= StringLen ($picurl) + 4 $kladcopy = StringTrimRight ($kladcopy, $count1) $kladcopy = $kladcopy & $picurl_int & ".jpg" ;MsgBox (0, "uiteindelijke uitkomst", $kladcopy, 2) MouseClick ("left", 1071, 66, 2, 0) Sleep(100) Send("^a") Sleep(100) ClipPut($kladcopy) Send("^v") Sleep(100) Send("{Enter}") EndFunc Func Exits() exit EndFunc I hope sombody can use this Its for Firefox, with 1280 x 1024 resolution
WhiteCrow Posted August 30, 2005 Author Posted August 30, 2005 If the page isnt a picture, the program crashes. I get this: $jpggetal = $klad[UBound($klad)-1] $jpggetal = $klad^ ERROR Error: Subscript used with non-Array variable. Im really not a programmer, i cant fix this, tried several things. This is just a free time tid-bit im fiddling with Anyone, help me on my way ?
w0uter Posted August 30, 2005 Posted August 30, 2005 regexp helpfile, @error & @extended. My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll
WhiteCrow Posted August 30, 2005 Author Posted August 30, 2005 regexp helpfile, @error & @extended.<{POST_SNAPBACK}>Its not that kind of error..But thanks for your help sofar, youve been helpfull
w0uter Posted August 30, 2005 Posted August 30, 2005 @extended = 0 means that regexp failed to match = no array = error so check @extended in an If statement before continueing. My UDF's:;mem stuff_Mem;ftp stuff_FTP ( OLD );inet stuff_INetGetSource ( OLD )_INetGetImage _INetBrowse ( Collection )_EncodeUrl_NetStat_Google;random stuff_iPixelSearch_DiceRoll
WhiteCrow Posted August 30, 2005 Author Posted August 30, 2005 (edited) You were right, but the @extended or @error didnt work, but this was even simpler : $klad= StringRegExp($klad, '(\d*)', 3) if $klad="" then MsgBox(0, "","Find a page with pictures....") else $jpggetal = $klad [UBound($klad)-1] endif That i didnt see this, so simple :"> Thanks again Wouter. Edited August 30, 2005 by WhiteCrow
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