Devnaorgor Posted December 9, 2017 Share Posted December 9, 2017 Hello everyone, I have an array containing some words as follows dim $ array [4] = ["bibi", "toto", "lulu", "fafa"]I would like to create a program that evaluates whether a selected word - with the command send("^c") - contains one of the items in the tablefor instance, for "totocar" selectionif "totocar" contains "bibi" or "toto" or "lulu" or "fafa" then ACTION 1else ACTION 2 Link to comment Share on other sites More sharing options...
Developers Jos Posted December 9, 2017 Developers Share Posted December 9, 2017 Welcome I am not sure if there is a question in your post? Guess you like to get some hints how to accomplish the stated? Open the helpfile and check out the _ArraySearch() type options. Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
careca Posted December 9, 2017 Share Posted December 9, 2017 (edited) "StringInStr" will do the trick. Edited December 9, 2017 by careca Spoiler Renamer - Rename files and folders, remove portions of text from the filename etc. GPO Tool - Export/Import Group policy settings. MirrorDir - Synchronize/Backup/Mirror Folders BeatsPlayer - Music player. Params Tool - Right click an exe to see it's parameters or execute them. String Trigger - Triggers pasting text or applications or internet links on specific strings. Inconspicuous - Hide files in plain sight, not fully encrypted. Regedit Control - Registry browsing history, quickly jump into any saved key. Time4Shutdown - Write the time for shutdown in minutes. Power Profiles Tool - Set a profile as active, delete, duplicate, export and import. Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes. NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s. IUIAutomation - Topic with framework and examples Au3Record.exe Link to comment Share on other sites More sharing options...
Developers Jos Posted December 9, 2017 Developers Share Posted December 9, 2017 29 minutes ago, careca said: "StringInStr" will do the trick. with an Array? ... guess I am learning something new every day Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
careca Posted December 9, 2017 Share Posted December 9, 2017 Well, if you loop and string compare it, can you not? Spoiler Renamer - Rename files and folders, remove portions of text from the filename etc. GPO Tool - Export/Import Group policy settings. MirrorDir - Synchronize/Backup/Mirror Folders BeatsPlayer - Music player. Params Tool - Right click an exe to see it's parameters or execute them. String Trigger - Triggers pasting text or applications or internet links on specific strings. Inconspicuous - Hide files in plain sight, not fully encrypted. Regedit Control - Registry browsing history, quickly jump into any saved key. Time4Shutdown - Write the time for shutdown in minutes. Power Profiles Tool - Set a profile as active, delete, duplicate, export and import. Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes. NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s. IUIAutomation - Topic with framework and examples Au3Record.exe Link to comment Share on other sites More sharing options...
Developers Jos Posted December 9, 2017 Developers Share Posted December 9, 2017 Just now, careca said: Well, if you loop and string compare it, can you not? yes ..... which is what ArraySearch() does for you, but the part where you need to loop through the array entries was missing, which could imply that you meant you can search an Array with StringInstr(). Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
careca Posted December 9, 2017 Share Posted December 9, 2017 Yea i didn't explain myself very clearly. Loop, and stringinstr should work, or as you say arraysearch, but i think i never used it. Spoiler Renamer - Rename files and folders, remove portions of text from the filename etc. GPO Tool - Export/Import Group policy settings. MirrorDir - Synchronize/Backup/Mirror Folders BeatsPlayer - Music player. Params Tool - Right click an exe to see it's parameters or execute them. String Trigger - Triggers pasting text or applications or internet links on specific strings. Inconspicuous - Hide files in plain sight, not fully encrypted. Regedit Control - Registry browsing history, quickly jump into any saved key. Time4Shutdown - Write the time for shutdown in minutes. Power Profiles Tool - Set a profile as active, delete, duplicate, export and import. Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes. NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s. IUIAutomation - Topic with framework and examples Au3Record.exe Link to comment Share on other sites More sharing options...
mikell Posted December 9, 2017 Share Posted December 9, 2017 1 hour ago, Jos said: yes ..... which is what ArraySearch() does for you Hmmm... I thought that _ArraySearch searches an array for a value, not the opposite. Am I wrong ? Link to comment Share on other sites More sharing options...
Earthshine Posted December 9, 2017 Share Posted December 9, 2017 (edited) Script up a test to the OP Edited December 9, 2017 by Earthshine My resources are limited. You must ask the right questions Link to comment Share on other sites More sharing options...
careca Posted December 9, 2017 Share Posted December 9, 2017 #include <Array.au3> Local $String = 'totocar' Local $array[4] = ["bibi", "toto", "lulu", "fafa"] ;_ArrayDisplay ($array) For $i=0 to 3 If StringInStr($String, $array[$i]) <> 0 Then ConsoleWrite('ActionFunc1 - '&$array[$i]&@CRLF) ;ActionFunc1() Else ConsoleWrite('ActionFunc2 - '&$array[$i]&@CRLF) ;ActionFunc2() EndIf Next Spoiler Renamer - Rename files and folders, remove portions of text from the filename etc. GPO Tool - Export/Import Group policy settings. MirrorDir - Synchronize/Backup/Mirror Folders BeatsPlayer - Music player. Params Tool - Right click an exe to see it's parameters or execute them. String Trigger - Triggers pasting text or applications or internet links on specific strings. Inconspicuous - Hide files in plain sight, not fully encrypted. Regedit Control - Registry browsing history, quickly jump into any saved key. Time4Shutdown - Write the time for shutdown in minutes. Power Profiles Tool - Set a profile as active, delete, duplicate, export and import. Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes. NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s. IUIAutomation - Topic with framework and examples Au3Record.exe Link to comment Share on other sites More sharing options...
jdelaney Posted December 10, 2017 Share Posted December 10, 2017 I don't recall who created this, but it will tell you the differences between two words: expandcollapse popupFunc Var_Typos(Const $st1, Const $st2, $anychar = '_', $anytail = '%') ; Get amount of typos between two strings Local $s1, $s2, $pen, $del, $ins, $subst If Not IsString($st1) Then Return SetError(-1, -1, -1) If Not IsString($st2) Then Return SetError(-2, -2, -1) If $st2 = '' Then Return StringLen($st1) If $st2 == $anytail Then Return 0 If $st1 = '' Then Return (StringInStr($st2 & $anytail, $anytail, 1) - 1) EndIf ;~ $s1 = StringSplit(_LowerUnaccent($st1)), "", 2) ;; _LowerUnaccent() addon function not available here ;~ $s2 = StringSplit(_LowerUnaccent($st2)), "", 2) ;; _LowerUnaccent() addon function not available here $s1 = StringSplit(StringLower($st1), "", 2) $s2 = StringSplit(StringLower($st2), "", 2) Local $l1 = UBound($s1), $l2 = UBound($s2) Local $r[$l1 + 1][$l2 + 1] For $x = 0 To $l2 - 1 Switch $s2[$x] Case $anychar If $x < $l1 Then $s2[$x] = $s1[$x] EndIf Case $anytail $l2 = $x If $l1 > $l2 Then $l1 = $l2 EndIf ExitLoop EndSwitch $r[0][$x] = $x Next $r[0][$l2] = $l2 For $x = 0 To $l1 $r[$x][0] = $x Next For $x = 1 To $l1 For $y = 1 To $l2 $pen = Not ($s1[$x - 1] == $s2[$y - 1]) $del = $r[$x - 1][$y] + 1 $ins = $r[$x][$y - 1] + 1 $subst = $r[$x - 1][$y - 1] + $pen If $del > $ins Then $del = $ins If $del > $subst Then $del = $subst $r[$x][$y] = $del If ($pen And $x > 1 And $y > 1 And $s1[$x - 1] == $s2[$y - 2] And $s1[$x - 2] == $s2[$y - 1]) Then If $r[$x][$y] >= $r[$x - 2][$y - 2] Then $r[$x][$y] = $r[$x - 2][$y - 2] + 1 $r[$x - 1][$y - 1] = $r[$x][$y] EndIf Next Next Return ($r[$l1][$l2]) ;~ ; usage ;~ Local $reference = "lexicographically" ;~ Local $Words[11][2] = [ _ ;~ [$reference], _ ;~ ["Lexicôgraphicaly"], _ ;~ ["lexkographicaly"], _ ;~ ["Lexico9raphically"], _ ;~ ["lexioo9asdasraphically"], _ ;~ ["Lexicographical"], _ ;~ ["lexicographlcally"], _ ;~ ["Lex1cogr@phically"], _ ;~ ["lexic0graphïca1yl"], _ ;~ ["lexIcOgraphically"], _ ;~ ["Lexlcographically"] _ ;~ ] ;~ For $i = 0 To UBound($Words) - 1 ;~ $Words[$i][1] = _Typos($Words[$i][0], $reference) ;~ Next ;~ _ArrayDisplay($Words, "Number of typos") ;~ ConsoleWrite("Usage of '_' and '%' wildcards in pattern:" & @LF & @TAB & "_Typos('lex1c0gr@fhlâofznho', 'LEx_c_gr%') = " & _Typos('lex1c0gr@fhlofznho', 'lex_c_gr%') & @LF) ;~ ConsoleWrite("Does not always return the absolute minimum edit distance:" & @LF & @TAB & "_Typos('bdac', 'abcd') = " & _Typos('bdac', 'abcd') & @LF) ;~ EndFunc ;==>Var_Typos IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window. 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