Kovitt Posted June 26, 2008 Posted June 26, 2008 (edited) Does anyone see anything wrong with the following? I can't figure it out. $path = "RollupJobs.txt" $test = _FileReadToArray($path,$jobs) For $x=0 to Ubound($jobs) - 1 ;------------------------------------------------------------------------------------ ; Pulls CE_ID and Instance from TB_Board_Msg output ;------------------------------------------------------------------------------------ $CEID_Instance = StringRegExp($jobs, '([:space]{1,})([:digit]{1,})([:space]{2,})([:digit]{1,}?:)',1) ;----------------------------My attempt at StringRegExp------------------------------ ;StringRegExp($jobs,'([0-9]{1,2},[ ]{1,}?:) ([0-9]{1,9},[ ]{2,}?:)',1) ;------------------------------------------------------------------------------------------ MsgBox(0,"@error", @error);Keeps giving me a 1 If @error = 0 then MsgBox(0,"test",$CEID_Instance[0]) MsgBox(0,"test",$CEID_Instance[1]) $ce_id[$x] = $CEID_Instance[0] $instance[$x] = $CEID_Instance[1] EndIf Next _ArrayDisplay($ce_id, "CE_IDs") _ArrayDisplay($instance, "Instances") The contents of rollupjobs.txt look similar to: CE_ID Instances of CE_ID ---------- ------------------ 14001 16 19604 2 12505 2 12007 7 12108 2 20009 2 19633 4 18734 9 12893 11 12685 9 13596 4 CE_ID Instances of CE_ID ---------- ------------------ 11564 2 18985 4 11435 20 18515 9 15465 9 18645 9 18646 9 14685 9 15632 9 15641 9 15615 9 Thanks for the help! Edited June 26, 2008 by Kovitt
zorphnog Posted June 26, 2008 Posted June 26, 2008 (edited) For one, you're not sending an element of the array, but the whole array to StringRegExp. Second, your MsgBox is reseting the @error flag. Anyway, try this: Dim $jobs $path = "RollupJobs.txt" $test = _FileReadToArray($path,$jobs) $size = UBound($jobs) - 1 Dim $ce_id[$size][2] $count = 0 For $x=1 to $size $CEID_Instance = StringRegExp($jobs[$x], '(\d+)\s(\d+)',3) If @error = 0 then $ce_id[$count][0] = $CEID_Instance[0] $ce_id[$count][1] = $CEID_Instance[1] $count += 1 EndIf Next ReDim $ce_id[$count][2] _ArrayDisplay($ce_id, "CE_IDs") Edited June 26, 2008 by zorphnog
Kovitt Posted June 26, 2008 Author Posted June 26, 2008 (edited) For one, you're not sending an element of the array, but the whole array to StringRegExp. Second, your MsgBox is reseting the @error flag. Anyway, try this: Dim $jobs $path = "RollupJobs.txt" $test = _FileReadToArray($path,$jobs) $size = UBound($jobs) - 1 Dim $ce_id[$size][2] $count = 0 For $x=1 to $size $CEID_Instance = StringRegExp($jobs[$x], '(\d+)\s(\d+)',3) If @error = 0 then $ce_id[$count][0] = $CEID_Instance[0] $ce_id[$count][1] = $CEID_Instance[1] $count += 1 EndIf Next ReDim $ce_id[$count][2] _ArrayDisplay($ce_id, "CE_IDs") Wow, looks like it will do the trick.. Just one thing. I put this in my code and its saying that: CODE C:\Documents and Settings\******\My Documents\scripts\Job_Watch\Job_Watch.au3 (70) : ==> Array variable subscript badly formatted.: ReDim $ce_id[$count][2] ReDim $ce_id[^ ERROR Do you by any chance know why this is? Thanks sooo much for helping me!! I think you have helped in everysingle one of my posts! Edit: Due to Typos... Edited June 26, 2008 by Kovitt
Skruge Posted June 26, 2008 Posted June 26, 2008 You need a condition in case Count still equals zero. If $count Then ReDim $ce_id[$count][2] _ArrayDisplay($ce_id, "CE_IDs") Else MsgBox(0, "CE_IDs", "No Matches found") EndIf I would do the same for $size as well. [font="Tahoma"]"Tougher than the toughies and smarter than the smarties"[/font]
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