Jump to content

dm83737

Active Members
  • Posts

    45
  • Joined

  • Last visited

About dm83737

  • Birthday 08/22/1978

Profile Information

  • Location
    68504

dm83737's Achievements

Seeker

Seeker (1/7)

0

Reputation

  1. Sorry, I am too nervous that I will forget to delete some login info or something and put it out there for the world. So I will not be placing any HTML for you to see. If anyone that wants to figure this out with me needs an invite, I have 2 more as of 05-24-2010. Thanks for the offer though, evilertoaster - dm83737
  2. I am trying to figure out how to send an SMS message to my phone each morning and have gathering the data down, now I need to figure out how to send the SMS via Google Voice through AutoIT3. I am obviously an idiot as I can not figure out how to read the object / element / ?? or whatever it is that is the SMS button. I have even installed FireBug in Firefox in hopes that it would give me something more to go with to no avail. All I have gotten to work is reading the HTML and writing that to a file to look over, which really does nothing that FireBug was not already telling me. I have also given up on trying to get the FF.au3 functions working for Firefox and have resorted to the IE.au3 (despite hating IE), which again, has not resulted in anything productive. I think I am not quite understanding how to read the objects off of the GVoice web page and effectively assigning a click to it. I feel that if I can get the SMS button click down, the rest will be similar and fall right into place. Some of you may ask for code, but I literally have nothing other than this pathetic effort: #include <IE.au3> Local $sURL = "https://www.google.com/voice/#inbox" Local $hFile = "C:\GV.txt" Local $iPhone = "<Phone# Goes Here>" Local $hTemp = @WorkingDir & "\temp.html" $oIE = _IECreate($sURL) ; <= Final product would have the browser window hidden $sHTML = _IEBodyReadHTML($oIE) FileWrite($hTemp, $sHTML) _IEQuit($oIE) Exit Thanks for your help. - dm83737
  3. I am having this same issue with our in-house software. The controls for the main toolbar and other controls throughout the application are written using the Stingray Objective Grid software. So when I try to view the various treeview and drop-down controls in AU3Info, it finds the window, but considers it a control with a class of 'Afx:00400000:8:00010013:00000000:038707D3' and does not allow me to do much to it via script commands. I need a way to either down through the Stingray Grid to the MFC or a way to read the actual Stingray grid though other methods than OCR (takes too long and is unreliable in my previous attempts: LINK) I was hoping there might be something similar to JavaFerret out there that brings back the various controls within the Stingray Grid since AU3Info can not see them. If anyone has any ideas on this, I would really appreciate it! - dm83737
  4. This works for me as I am using software that has toolbars built using Stingray Objective Grids, but does take a while... Is there a way to narrow down where this searches for the match (i.e. - Give it a rectangular area to search through)? If I could tell it where to look, it would really cut down the time I wait. Thanks, dm83737
  5. Oh well, I guess this will never be. Would be nice though. Hopefully someone who is a genius at AutoIT will come up with something (as that's definitely not me).
  6. BRILLIANT! This worked like a champ! Thanks a lot everyone for the solutions / lessons; any knowledge is good knowledge in my book.
  7. Hopefully Melba23 can answer that as I am a bit inadequate when it comes to Arrays... I spoke too soon, when I place -ArrayDisplay's in the script from Melba23, the temp array holds the 3 entries from that row and then the next 'For $i' function places them in the correct order in a new array and continues to build from there. #include <Array.au3> Local $avArray[4] ; Why make this array 2D? $avArray[0] = "00:00:00" $avArray[1] = "22:23:51" $avArray[2] = "39:34:58" $avArray[3] = "101:41:22" _ArrayDisplay($avArray, "Initial Array") Local $avNewArray[4][3] For $i = 0 To UBound($avArray) - 1 $avTempArray = StringSplit($avArray[$i], ":") _ArrayDisplay($avTempArray, "Temp Array") For $j = 0 To 2 $avNewArray[$i][$j] = $avTempArray[$j + 1] _ArrayDisplay($avNewArray, "New Array") Next Next _ArrayDisplay($avNewArray)
  8. Of course, mine does not work quite as well as yours... When I try to implement what you have given me into my script, it seems to clear out the index above the one it writes to (i.e. - If it is in the process of writing the "39 | 34 | 58" line to the 3 columns, it clears out the row above it, "22 | 23 | 51"). I am attaching the file I am reading and the full script so you can see exactly what it is that leads up to this situation. Thanks again for your help! Cue Sheet Time Scraper.au3 CrazyCousinz-EssentialMix-2009-09-12.zip
  9. This is a blaring example of my inexperience with arrays... Perfect, much appreciated!
  10. I have looked at all the array scripts I could find in these forums, as well as all the array and string functions in the help file, and I could not come up with anything that would get what I want done, completed. I have numbers that correlate to times (i.e. - 00:00:00, 104:34:21, etc.) and currently they are being returned within an array that would look like so: #include <Array.au3> Local $avArray[4][1] $avArray[0][0] = "00:00:00" $avArray[1][0] = "22:23:51" $avArray[2][0] = "39:34:58" $avArray[3][0] = "101:41:22" _ArrayDisplay($avArray, "Times") How do I split these from 2D to 4D by the ":" symbol to make it look like this: #include <Array.au3> Local $avArray[4][3] $avArray[0][0] = "00" $avArray[0][1] = "00" $avArray[0][2] = "00" $avArray[1][0] = "22" $avArray[1][1] = "23" $avArray[1][2] = "51" $avArray[2][0] = "39" $avArray[2][1] = "34" $avArray[2][2] = "58" $avArray[3][0] = "101" $avArray[3][1] = "41" $avArray[3][2] = "22" _ArrayDisplay($avArray, "Times") I have a feeling it is a "For $i = 1 To UBound***" type statement, but am unable to format it correctly. Thanks for the help
  11. I am wondering if there is any way to make this UDF act more like JavaMonkey than JavaFerret. I have already asked this in a different thread, but it seems to not get a lot of play lately; so I thought I would come right to the source (thread link). The reason I ask is that I am trying to retrieve a list that is bigger than the viewing window and place into an Excel CSV file. I have rigged up a shaky Pixel color reference Do... Until that notes if there is a scroll bar and goes until it can no longer click to go any lower. Then it reads the info to an array to separate the uniques from the repeats, pastes those into the CSV and saves for another associate to review. I am hoping that there will be a way to grab ALL the info from a control (i.e. - How the info is listed in JavaMonkey) someday soon as this would really help me out. Code example: ; ======================================================================================================================= ; ------ Select the License tab ----------------------------------------------------------------------------------------- WinWait("AGENT") $Agent = WinGetHandle("AGENT") _JavaAttachAndWait($Agent) WinActivate($Agent) WinSetState($Agent, "", @SW_MAXIMIZE) Do Mouseclick("left", 1266, 81) $sTabState1 = _JavaObjPropertyGet("", "License", "page tab", "", "States") Until $sTabState1 = "enabled,focusable,visible,showing,selectable,selected" $sTabState2 = _JavaObjPropertyGet("", "License List", "page tab", "", "States") ; ======================================================================================================================= ; ------ Get the License info ------------------------------------------------------------------------------------------- For $i1 = 1 To 50 $sLabel1 = _JavaObjPropertyGet("", "", "label", $i1, "Name") $sLabel2 = _JavaObjPropertyGet("", "", "label", $i1, "Role") _ExcelWriteCell($oExcel, $sLabel1, $i1, 1) If $sLabel2 <> "label" Then ExitLoop Next WinActivate($Agent) $iPixel = Hex(PixelGetColor(1206, 927), 6) ; Sets $iPixelY to 167 $iPixelY = 167 If $iPixel <> "FFFFFF" Then Do Do $iPixelHex = Hex(PixelGetColor(1206, $iPixelY), 6) $iPixelY = $iPixelY+9 Until $iPixelHex = "CCCCCC" $iPixelY = $iPixelY-9 If $iPixelY < 927 Then Mouseclick("left", 1206, $iPixelY) Sleep(1000) Else Mouseclick("left", 1206, 927) Sleep(1000) EndIf For $i2 = 1 To 50 $sLabel1 = _JavaObjPropertyGet("", "", "label", $i2, "Name") $sLabel2 = _JavaObjPropertyGet("", "", "label", $i2, "Role") _ExcelWriteCell($oExcel, $sLabel1, $i2+$i1, 1) If $sLabel2 <> "label" Then ExitLoop Next Until Hex(PixelGetColor(1206, 928), 6) = "666699" EndIf ; ======================================================================================================================= ; Saves and closes the Excel spreadsheet _ExcelBookSaveAs($oExcel, @DesktopDir & "\JAVARead", "csv", 0, 1) _ExcelBookClose($oExcel, 1, 0) Exit
  12. bump I do this at my own peril it appears (): BUMP eHow Step 1 Forum threads are typically listed from top to bottom in reverse chronological order, based on the date of the most recent post in each thread. The more newly updated threads are at the top, and the older, stagnating ones gradually make their way lower and lower, eventually moving off the first page of threads and forgotten about. While in many cases this is fine, there are times when a thread is very important, but no one has replied to it in a while, perhaps because the matter at hand is being worked on, and there is nothing new for anyone to say. In these situations, it is sometimes acceptable to BUMP the thread to the top of the list so that it is kept in prominent view, and so that the topic will not inadvertently be repeated in a new thread by someone who didn't see the original one. Step 2 A thread can be BUMPed by adding any new posting to it at all, but is most commonly done by way of a posting with nothing but the aforementioned acronym which stands for "Bring Up My Post." Sometimes the actual word "bump" is used, which is semantically correct in and of itself. Step 3 Before BUMPing a thread, it is important to know the culture, politics, and procedures of the forum in question. On some forums it is only acceptable for an administrator to BUMP a thread. On some it is considered acceptable for any experienced member to do so. On some it is completely unheard of, regardless of the BUMPer and/or circumstances, and even thinking about BUMPing will get you banned from the forum for life, but not before being called all sorts of bad names. On eHow, the worst you will probably run into is someone posting a message which says, "What does 'bump' mean?" Step 4 If nothing else, don't ever BUMP a thread unless you are a veteran of the forum in question and have some "clout." Even on the most forgiving of forums, people usually get upset if a total "newbie" BUMPs a thread, with the typical reaction being, "Who the heck is this guy/girl?" Also, in some cases the person who posted the message right above your BUMP may actually assume that your BUMP was in some way related to him/her (perhaps taking it as some sort of high-tech insult), and may not know what to make of it. It is possible that you will see a follow-up posting by that person to the effect of, "What did I do wrong? Why are you calling me a bump?" Step 5 There is then the question of when a BUMP is in order. Usually it is not a good idea to BUMP a thread unless it has moved to the very bottom of the first page, or better still, totally off the first page. No one wants to read a thread with dozens of bumps, just because you had to always have it at the very top. It is also not a good idea to BUMP a thread unless it is an important topic that truly benefits all or most of the members of the forum. It is in bad taste to BUMP a thread that contains a picture of your new puppy, or one that contains your list of Rachael Ray memorabilia for sale. Such threads are not likely to be more important than everything else being discussed on the forum. Step 6 Note that some forums contain threads which are known as "stickies," or pinned threads. These threads are essentially permanently BUMPed, and will always be the first listed. If a topic is important enough, the site administrator may choose to handle a particular thread in this manner. Step 7 That's all you need to know about BUMPed threads and being a good BUMPer. Happy BUMPing!
  13. http://www.autoitscript.com/forum/index.php?showtopic=87956&hl=javaau3&st=0
  14. I have been excitedly trying out the Java.au3 as I had not realized it had been released. This was a big deal as the main app I am working with is based only in Java (which was a blank void to AutoIT until now). I have hit another bump and am curious if someone could tell me if my other idea is possible. 1) Is it possible to use JavaMonkey as the reference piece since it can read all the information within a Java control? (This one is not AutoIT based) 2) Is there a way to export the tree listing from JavaMonkey? Or is there another app out there that does this same tree structure that CAN export its contents? The Java.au3 functions seem to only pick up the parts that are visible within the apps windows. If the list is too long, it cuts off the remainder of that list when it returns the results. I am not sure if this is because it is using JavaFerret as the go-between, but somehow it is not quite doing what I had hoped. I have not been able to find any freeware that does the same thing as JavaMonkey, but then again I don't consider myself to be anything close to a Java expert... so my know-how and app expereince is VERY limited. I appreciate any help on this as this could be a ground-breaker as to if I can get AutoIT approved as a formal testing application in our company (very large insurance corp). I have been trying to get the IT powers-that-be to notice how helpful AutoIT has been to me, but if it's Java capabilities are limited, then it may not even have a chance... :-( Here is my script where I am just trying to figure out which $instance_num the license list is (as there are some many lists in the app window): ; ======================================================================================================================= #include <Java.au3> Opt("WinTitleMatchMode", 2) Global $Admin, $Agent, $Proc Global $sLabel1 Global $i1 ; ======================================================================================================================= If WinExists("Admin") Then Sleep(25) Else MsgBox(262208, "Error", "You must be logged into ADMIN in order to proceed. Exiting Script...", 30) Exit EndIf $Admin = WinGetHandle("Admin") $Agent = WinGetHandle("AGENT") $Proc = WinGetHandle("Processing") ; ======================================================================================================================= _JavaAttachAndWait($Agent) WinActivate($Agent) For $i1 = 200 To 10000 $sLabel1 = _JavaObjPropertyGet("", "", "label", $i1, "Name") If StringLen($sLabel1) > 85 Then ExitLoop ToolTip($i1 & " - " & $sLabel1, 0, 0) Sleep(1) Next MsgBox(0, "Info", $i1 & " - " & $sLabel1) Exit EDIT: I have tested things out quite extensively and concluded that Java.au3 does indeed only read/report what is visible in the window.
  15. weaponx, The jist of my request is this: 1) I create an array from the first column of an Excel file 2) I read out the unique values from the first array to a second array 3) I would like to then get the index numbers that _ArrayUnique found those unique values at as points to alter the Excel file (i.e. - the screen shots from my second post) My current method is very clunky and seems to have hit a snag when I go from 3 variables to 4: If $aArray[1] <> "" Then For $i = 0 to UBound($aArray-1) If $aArray[$i] = '' Then ReDim $aArray[$i] ExitLoop Endif Next Local $iEnd = $i + 1 Local $g = _ArraySearch($aArray, "EN", 0, 0, 0, 1) Local $iEN1 = $g + 2 Local $sEN1 = $aArray[$g] Local $sAG1 = $aArray[1] For $j = 0 to UBound($aArray-1) If $aArray[$j] <> $sAG1 Then ExitLoop Endif Next Local $iAG2 = $j+2 This is obviously NOT the best way to accomplish what I am asking, which is why I was placing some hope in a variation of the _ArrayUnique script being out there somewhere. I hope you understand what my goal is this time around as I do not think I can explain this in any simpler way. Any help would very much be appreciated.
×
×
  • Create New...