How to use Findtext to identify four digits numbers?

Get help with using AutoHotkey (v1.1 and older) and its commands and hotkeys
emanate22
Posts: 52
Joined: 11 May 2021, 00:03

How to use Findtext to identify four digits numbers?

18 Jun 2021, 23:48

I made a simple script that recognizes two-digit numbers, but using the same method to recognize four digits and three digits numbers should be very complicated. Is there a simpler way to achieve this? Please help, thank you

Code: Select all

SetDefaultMouseSpeed,0
SetKeyDelay,-1
SetMouseDelay,-1
SetStoreCapslockMode, off
SetBatchLines -1 
Process, Priority, , High
#Include <FindText>
B::
MouseGetPos,xpos,ypos
MouseMove,1810,28
SLEEP,1
Text:="|<0>*60$8.ktYwTbtyTbtyD9b3U|<1>*60$7.ztkvTjrvxyzTjr0Ts|<2>*60$8.UnnyzjntwwyTDnw0zs|<3>*60$9.zw3jDxzjvsznzjxz9nUzzU|

<4>*60$9.yTnwT/vSPrRvDM0zTvzQ|<5>*60$8.U/yzjsDtzDvyz3a3U|<6>*60$8.sNyzToANT7tyD9b3U|<7>*60$8.0DnxyTjrxyTjvyzjns|

<8>*60$8.UHVyTXm16LlyT1a3U|<9>*60$8.knZwTbswUDvwzTa3U"
if (ok:=FindText(1719, 90, 1760, 112, 0, 0, Text,,,,,,dir:=5))
 {
X1:=ok.1.x, Y1:=ok.1.y, Comment1:=ok.1.id
X2:=ok.2.x, Y2:=ok.2.y, Comment2:=ok.2.id
If (X1 > X2)
tooltip,%Comment2%%Comment1%,817,857,2
If (X1 < X2)
tooltip,%Comment1%%Comment2%,817,857,2
 }
MouseMove,xpos,ypos
return
User avatar
rommmcek
Posts: 1474
Joined: 15 Aug 2014, 15:18

Re: How to use Findtext to identify four digits numbers?

19 Jun 2021, 03:44

One seemingly obvious thing is wrong "Text" assignement. Try:

Code: Select all

Text:= "|<0>*60$8.ktYwTbtyTbtyD9b3U"
Text.= "|<1>*60$7.ztkvTjrvxyzTjr0Ts"
Text.= "|<2>*60$8.UnnyzjntwwyTDnw0zs"
Text.= "|<3>*60$9.zw3jDxzjvsznzjxz9nUzzU"
Text.= "|<4>*60$9.yTnwT/vSPrRvDM0zTvzQ"
Text.= "|<5>*60$8.U/yzjsDtzDvyz3a3U"
Text.= "|<6>*60$8.sNyzToANT7tyD9b3U"
Text.= "|<7>*60$8.0DnxyTjrxyTjvyzjns"
Text.= "|<8>*60$8.UHVyTXm16LlyT1a3U"
Text.= "|<9>*60$8.knZwTbswUDvwzTa3U"
Good luck!
emanate22
Posts: 52
Joined: 11 May 2021, 00:03

Re: How to use Findtext to identify four digits numbers?

19 Jun 2021, 06:27

rommmcek wrote:
19 Jun 2021, 03:44
One seemingly obvious thing is wrong "Text" assignement. Try:

Code: Select all

Text:= "|<0>*60$8.ktYwTbtyTbtyD9b3U"
Text.= "|<1>*60$7.ztkvTjrvxyzTjr0Ts"
Text.= "|<2>*60$8.UnnyzjntwwyTDnw0zs"
Text.= "|<3>*60$9.zw3jDxzjvsznzjxz9nUzzU"
Text.= "|<4>*60$9.yTnwT/vSPrRvDM0zTvzQ"
Text.= "|<5>*60$8.U/yzjsDtzDvyz3a3U"
Text.= "|<6>*60$8.sNyzToANT7tyD9b3U"
Text.= "|<7>*60$8.0DnxyTjrxyTjvyzjns"
Text.= "|<8>*60$8.UHVyTXm16LlyT1a3U"
Text.= "|<9>*60$8.knZwTbswUDvwzTa3U"
Good luck!
If you separate them it can only find number 9. If use more findtext it will cost much more time.
sofista
Posts: 650
Joined: 24 Feb 2020, 13:59
Location: Buenos Aires

Re: How to use Findtext to identify four digits numbers?

19 Jun 2021, 08:25

Another way to assign content to the "Text" variable is by join

Code: Select all

Text := "
(join|
|<0>*60$8.ktYwTbtyTbtyD9b3U
<1>*60$7.ztkvTjrvxyzTjr0Ts
<2>*60$8.UnnyzjntwwyTDnw0zs
<3>*60$9.zw3jDxzjvsznzjxz9nUzzU
<4>*60$9.yTnwT/vSPrRvDM0zTvzQ
<5>*60$8.U/yzjsDtzDvyz3a3U
<6>*60$8.sNyzToANT7tyD9b3U
<7>*60$8.0DnxyTjrxyTjvyzjns
<8>*60$8.UHVyTXm16LlyT1a3U
<9>*60$8.knZwTbswUDvwzTa3U
)"
emanate22
Posts: 52
Joined: 11 May 2021, 00:03

Re: How to use Findtext to identify four digits numbers?

19 Jun 2021, 09:15

sofista wrote:
19 Jun 2021, 08:25
Another way to assign content to the "Text" variable is by join

Code: Select all

Text := "
(join|
|<0>*60$8.ktYwTbtyTbtyD9b3U
<1>*60$7.ztkvTjrvxyzTjr0Ts
<2>*60$8.UnnyzjntwwyTDnw0zs
<3>*60$9.zw3jDxzjvsznzjxz9nUzzU
<4>*60$9.yTnwT/vSPrRvDM0zTvzQ
<5>*60$8.U/yzjsDtzDvyz3a3U
<6>*60$8.sNyzToANT7tyD9b3U
<7>*60$8.0DnxyTjrxyTjvyzjns
<8>*60$8.UHVyTXm16LlyT1a3U
<9>*60$8.knZwTbswUDvwzTa3U
)"
It seems has same effect with my code

Return to “Ask for Help (v1)”

Who is online

Users browsing this forum: Lamron750 and 238 guests