Sou novato no AHK mas com muita pesquisa estou conseguindo desenvolver uma automação para minha demanda. Cheguei ao código abaixo mas tenho 2 problemas:
1º Problema: Nessa parte do código não consigo fazê-lo retornar a soma no formato "0.000,00", ele me retorna no formato "0.000,000000", com 6 casas decimais, preciso que me retorne com 2 casas decimais.
Code: Select all
Numero1 := Var2
Numero2 := "5,00"
Var3 := TrabalharFormato(Numero1) + TrabalharFormato(Numero2)
Var4 := TrabalharFormato(Numero1) - TrabalharFormato(Numero2)
;Msgbox, %Var3%
TrabalharFormato(ByRef Valor, Casas = 2)
{
stringreplace Valor, Valor, %A_Space%
stringgetpos commapos, Valor, `,
stringgetpos dotpos, Valor, .
if (dotpos > commapos and dotpos > 0 and commapos > 0)
{
stringreplace Valor, Valor, `,
}
if Valor is not number
{
stringreplace Valor, Valor, .
stringreplace Valor, Valor, `,,.
}
Valor := Round(Valor, Casas)
return Valor
}
Code: Select all
F1::
;Send, {Win down}r{Win up}
;;;;;;;;;;;;;;;;;;;; retorna a 1ª palavra da última linha
FileRead, Log_Profit, C:\Users\Lacorte\Desktop\LOGSPROFIT.txt
RegExMatch(Log_Profit, "(?:^|\n)(.*)$", Last_Line) ; the last line could be the only line
test := Last_Line
Var1 := GetFirstWord(test, 1)
GetFirstWord(word, num){
StringSplit, wordArray, word, % A_Space
return wordArray%num%
}
;Msgbox, %Var1%
;;;;;;;;;;;;;;;;;;;; retorna o preço de entrada
RegExMatch(Last_Line, "\d.\d\d\d,\d\d", Preco)
Preco_Entrada := Preco "`n"
Var2 := Preco_Entrada
;Msgbox, %Var2%
;;;;;;;;;;;;;;;;;;;; Adiciona ou subtrai, dependendo da Var1
Numero1 := Var2
Numero2 := "5,00"
Var3 := TrabalharFormato(Numero1) + TrabalharFormato(Numero2)
Var4 := TrabalharFormato(Numero1) - TrabalharFormato(Numero2)
;Msgbox, %Var3%
TrabalharFormato(ByRef Valor, Casas = 2)
{
stringreplace Valor, Valor, %A_Space%
stringgetpos commapos, Valor, `,
stringgetpos dotpos, Valor, .
if (dotpos > commapos and dotpos > 0 and commapos > 0)
{
stringreplace Valor, Valor, `,
}
if Valor is not number
{
stringreplace Valor, Valor, .
stringreplace Valor, Valor, `,,.
}
Valor := Round(Valor, Casas)
return Valor
}
;;;;;;;;;;;;;;;;;;;; Código
If (Var1 = "Vendido")
{
MouseMove 469, 162
Click, 2
Send %Var3%
MouseMove 269, 162
Click, 2
Send, "10"
MouseMove 571, 234
}
else if (Var1 = "Comprado")
{
MouseMove 469, 162
Click, 2
Send %Var4%
MouseMove 269, 162
Click, 2
Send, "20"
MouseMove 648, 234
}
else if (Var1 = "0")
{
MouseMove 507, 807
}
return