[OT] [AHK] zaklady prace s AHK
Moderator: Hacker
[OT] [AHK] zaklady prace s AHK
^#!a::
Send, {HOME}{SHIFTDOWN}{END}{SHIFTUP}{CTRLDOWN}c{CTRLUP} ;zkopirovani radku do schranky
Send, {TAB}%clipboard% ;vypsani schranky
obsah = To je zkouska
FoundPos := RegExMatch(%clipboard%, %obsah%)
MsgBox, %FoundPos%
;sem chci pridat case
Priklad:
mam v textovem editoru text "toto je cervena" a spustim skriptik vyse
nejde mi porovnat promenna obsahujici mezeru, pise mi to:
the following variable name contains an illegal character: "toto je cervena"
chtela bych, aby mi skriptik delal nasledujici:
1. zkopiruj radku do schranky
2. kdyz radka obsahuje "toto je modra", napis nekam jinam (napr. na konec textu) "this is blue"
3. kdyz radka obsahuje "toto je cervena", napis nekam jinam (napr. na konec textu) "this is red"
diky Terka
Send, {HOME}{SHIFTDOWN}{END}{SHIFTUP}{CTRLDOWN}c{CTRLUP} ;zkopirovani radku do schranky
Send, {TAB}%clipboard% ;vypsani schranky
obsah = To je zkouska
FoundPos := RegExMatch(%clipboard%, %obsah%)
MsgBox, %FoundPos%
;sem chci pridat case
Priklad:
mam v textovem editoru text "toto je cervena" a spustim skriptik vyse
nejde mi porovnat promenna obsahujici mezeru, pise mi to:
the following variable name contains an illegal character: "toto je cervena"
chtela bych, aby mi skriptik delal nasledujici:
1. zkopiruj radku do schranky
2. kdyz radka obsahuje "toto je modra", napis nekam jinam (napr. na konec textu) "this is blue"
3. kdyz radka obsahuje "toto je cervena", napis nekam jinam (napr. na konec textu) "this is red"
diky Terka
Last edited by Terka on 2007-08-23, 08:04 UTC, edited 1 time in total.
No, s expressionami (vyrazmi) sa pracuje trochu inac, nez povodne v AHK. Expressions su vyrazy, pri ktorych sa pouziva ":=" namiesto "=". Ked pouzijes ":=", tak premenne pises bez percent okolo, a cisty text pises v uvodzovkach, takze:nejde mi porovnat promenna obsahujici mezeru, pise mi to:
the following variable name contains an illegal character: "toto je cervena"
Code: Select all
Premenna1 = Ja som obsah premennej 1
Premenna2 := "Ja som obsah premennej 2"
Premenna3 = %Premenna1%%Premenna2%
Premenna4 := Premenna1 . Premenna2
Ohladom toho skriptu:
- Ak ti netreba RegEx, nepouzivaj, zbytocne zlozite.
- Case AHK zatial nepodporuje.
Code: Select all
$^#!a::
Send, {Home}+{End}^c
IfEqual, Clipboard, Toto je cervena ; prve musi byt nazov premennej, druhe obsah
{
MsgBox, This is red
}
IfEqual, Clipboard, Toto je modra
{
MsgBox, This is blue
}
Return

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Nie som si isty, ci rozumiem - pytas sa, ze preco sa pise
a nie
?
Neviem, tak to je. Asi by bolo zbytocne porovnavat konstantu s konstantou.
Roman
Code: Select all
IfInString, string, a
Code: Select all
IfInString, %string%, a
Neviem, tak to je. Asi by bolo zbytocne porovnavat konstantu s konstantou.
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Ahoj,
Nie, len takto:
alebo takto:
Roman
Nie, len takto:
Code: Select all
Loop, 3 {
Send, ahoj
Sleep, 1000
}
Code: Select all
Loop, 3
{ Send, ahoj
Sleep, 1000
}
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
pri pouziti ahk windows spy, lze videt:
>>>>>>>>>>>( Visible Window Text )<<<<<<<<<<<
tady neco je
...
...
--------------------
lze nejak tato data dat do promenne? Neco jsem na netu nasla na ahk foru, ale nic z toho mi neslo krome
WinGetText, TohleTamJe, outlook
MsgBox %TohleTamJe%
ale nebylo tam vsechno, co spy pod ( Visible Window Text ) ukazuje
>>>>>>>>>>>( Visible Window Text )<<<<<<<<<<<
tady neco je
...
...
--------------------
lze nejak tato data dat do promenne? Neco jsem na netu nasla na ahk foru, ale nic z toho mi neslo krome
WinGetText, TohleTamJe, outlook
MsgBox %TohleTamJe%
ale nebylo tam vsechno, co spy pod ( Visible Window Text ) ukazuje
Hm, zaujimave, mne to vypise vsetko. Skus ine okna, a prikaz
(A = active window).
HTH
Roman
Code: Select all
WinGetText, TohleTamJe, A
HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Tak nevim co je blbe, ale ted jsem to spustila a je tam vsechno. Jedine co jsem menila je myslim $ na zacatku klaves. zkratky.
K cemu ze je ten $ na zacatku dobry?
A nez jsem tuto odpoved stacila poslat, uz mi to opet nejde aniz bych udelala nejakou zmenu ve skriptu
(
tak to je ve funkcich winwait, winwaitactive atd. chybu brzy najdu..
tak jsem to vyresila jinak - pres CLICK
jde dat do ahk prikazy linuxu jako head tail grep ?
K cemu ze je ten $ na zacatku dobry?
A nez jsem tuto odpoved stacila poslat, uz mi to opet nejde aniz bych udelala nejakou zmenu ve skriptu

tak to je ve funkcich winwait, winwaitactive atd. chybu brzy najdu..
tak jsem to vyresila jinak - pres CLICK
jde dat do ahk prikazy linuxu jako head tail grep ?
$ instaluje keyboard hook, coz jest po slovensky taky maly programcek, taka brana, kontrolor, dozorca, ktoremu prejdu pod ruky vsetky klavesy, ktore stlacis, a potom je na nom, ci na ich zaklade nieco urobi a ci ich preposle dalej Windowsu. Ked tam ten $ nie je, tak Windows zobudi AHK ked nieco stlacis, ale AHK uz nema vplyv na to, ci sa ta klavesa preposle dalej, alebo nie. V prvom pripade je teda "panom" AHK, v druhom Windows. Osobne vsade davam $, ak to vyslovene niecomu neskodi.
Head, tail ani grep AHK vlastne nema, jedine ze by si ich spustala cez Run, atd. Pripadne naprogramovala sama. Head je vyslovene lahky, podobne aj grep. Tail by bol trosku zlositejsi.
Roman
Head, tail ani grep AHK vlastne nema, jedine ze by si ich spustala cez Run, atd. Pripadne naprogramovala sama. Head je vyslovene lahky, podobne aj grep. Tail by bol trosku zlositejsi.
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
1. jasne.
2. dobre, kdyz to budu potrebovat tak to zkusim. Nebo pokud budes tak hodny napis mi treba grep, predpokladam ze se to dela jako funkce.
zkusim:
Head cislo: StringSplit - Enter jako delimiter a cyklus ktery to tiskne a pridava za kazdou polozkou Enter. Podminka bude index pole<=cislo
Grep:to same jen porovnat polozku pole s tim co chci tisknout.
Tail: zjistit cislo posledni polozky pole a cyklus dat obracene.
Jinak diky!
tady neco k grepu:
http://www.autohotkey.com/forum/topic16164.html
2. dobre, kdyz to budu potrebovat tak to zkusim. Nebo pokud budes tak hodny napis mi treba grep, predpokladam ze se to dela jako funkce.
zkusim:
Head cislo: StringSplit - Enter jako delimiter a cyklus ktery to tiskne a pridava za kazdou polozkou Enter. Podminka bude index pole<=cislo
Grep:to same jen porovnat polozku pole s tim co chci tisknout.
Tail: zjistit cislo posledni polozky pole a cyklus dat obracene.
Jinak diky!
tady neco k grepu:
http://www.autohotkey.com/forum/topic16164.html