08/06/10 22:35:38 BhGK1USa0
:= 使いたい時こそ " "で囲め
× strValue := 文字列
○ strValue := "文字列"
682:679
08/06/11 00:28:19 fVOKMAhU0
レスありがとうございます。
なるほど、分かりました~。
683:名無しさん@お腹いっぱい。
08/06/11 01:01:13 Vk8WnOSz0
str=hoge (変数strの中にhogeという文字列がある)として、
a=hoge
a:="hoge"
a:=str
a=%str%
以上のaの中はすべて文字列hogeである
また、次のif文もすべて同じ
if a=hoge
if a=%str%
if (a="hoge")
if (a=str)
684:名無しさん@お腹いっぱい。
08/06/11 02:12:24 6MnSS32m0
横から見ているだけでも役に立つスレだ
685:679
08/06/11 07:55:51 fVOKMAhU0
>>683
おお~、ありがとうございます~・・・
なるほど・・・道理で素人の私が混乱するわけですよ・・・
色々な書き方があるんですねぇ・・・。
if(a == "hoge")
みたいな、 =(等しいか?)の変わりに ==(等しいか?)を使っても全く同じですか?
だとしたらどうしてこんな演算子があるんだろうかと・・・。
それと自分で試行錯誤して理解したのですが
Loop, 5
{
でブロック開始しないとLoopは正常に処理されない
Loop, 5 {
で開始するとなんかmissing "{" とかエラーが出て・・・。
でもif文は
if(a == "hoge") {
で開始しても
if(a == "hoge")
686:679
08/06/11 07:58:36 fVOKMAhU0
途中で書き込んでしまいました。
でもif文は
if(a == "hoge") {
で開始しても
if(a == "hoge")
{
で開始してもどちらも問題なく動きます。
それとかif(a == str) { と% % で囲まずに変数名指定するだけで中身を見てくれるのに
IfWinExist, str
{
とかだと うまく動作せずに、 IfWinExist, %str% としないとだめのようです。
そしてこの構文も
IfWinExist, %str% {
ってやるとエラーが出て
IfWinExist, %str%
{
ってやると正常に動作するんですよ・・。正直言語仕様を理解するのが凄く大変です・・・。
どうしてこんなにトリッキーなんだろう・・。普通のJavaやCと同じような感じにしてくれれば・・・
687:TpMOPuLyPJNoLl
08/06/11 08:02:18 5Nax1wDx0
comment2, <a href="URLリンク(www.titaniuexport.kiev.ua)<)"]titanium sheets[/url], URLリンク(www.titaniuexport.kiev.ua) titanium sheets, >:PPP,
688:yOUAjPuxjrUJV
08/06/11 08:13:50 +P08aPt30
comment6, <a href="URLリンク(doorppcpc.com)">coloring pictures of dinosaurs
</a>, URLリンク(doorppcpc.com) coloring pictures of dinosaurs
, atbow, <a href="URLリンク(doorppcpc.com)">when dinosaurs went extingged
</a>, URLリンク(doorppcpc.com) when dinosaurs went extingged
, =[[, <a href="URLリンク(doorppcpc.com)">humphries medicine
</a>, URLリンク(doorppcpc.com) humphries medicine
, lsj,
689:名無しさん@お腹いっぱい。
08/06/11 09:13:53 FV4NCQQL0
>>686
始めは %str% しか使えなかったんだよ
わかりにくいからって後から従来言語互換を追加していった結果カオスになった。
ちなみに
if(a == "hoge") だと厳密な文字列チェック(大文字小文字区別)
if(a = "hoge") はStringCaseSense依存、デフォだと Hoge、HOGE でもOK
690:名無しさん@お腹いっぱい。
08/06/11 09:52:21 1HOSiKnd0
後方互換をちゃんと取ってるのはいいけど、古い仕様はobsoleteで非推奨
ってちゃんとドキュメントに書いてくれたらいいのに
691:名無しさん@お腹いっぱい。
08/06/11 13:47:40 uoudNQeM0
そこら辺たしかになんとかして欲しいな。
時々しかスクリプト書かないので
一度覚えてもすぐ忘れて間違えてしまう。
692:名無しさん@お腹いっぱい。
08/06/11 14:20:51 OcZxtXTQ0
>>691
わかる。最初AHKでと思うんだけど、すぐに面倒になってHotKey以外の部分は
UWSCで書き出す自分…
693:名無しさん@お腹いっぱい。
08/06/11 15:16:17 JuWezgpD0
逆に俺はAHKに慣れすぎてたまにvbsとかjsかくと無意識に変数を%で囲ったりしてる
694:名無しさん@お腹いっぱい。
08/06/11 16:52:35 rC/xuCxH0
俺も変数の使い方の部分で1週間ぐらい悩んだな
今でもたまに間違うし
695:名無しさん@お腹いっぱい。
08/06/11 17:20:20 GfcCYN010
覚えるのもあほらしいから
毎回何パターンか試して動いたらおkってことにしてるお
696:名無しさん@お腹いっぱい。
08/06/11 21:16:10 6MnSS32m0
俺は、%で囲う作業すら面倒になったので、
Win+Vを押すと、クリップボードの内容に%~%をつけて出力するようにした
string=%Clipboard%
string=`%%string%`%
697:名無しさん@お腹いっぱい。
08/06/11 22:11:00 P7T3f9Wt0
お前ら丸暗記しようとするから混乱するんだよ
値で扱うか、式で扱うかだけだよ
値で扱う物は文字列は値となるので、変数を使いたい場合に%%で展開しなければならない。
式で扱う物は文字列は変数になってしまうので、文字列を値で扱う為には""で囲まなければならない。
(値) : (式)
コマンド : 関数
= : :=
if : if()
さらに大まかに分けると、:=と()内は式が使えるとだけ覚えればいい
698:名無しさん@お腹いっぱい。
08/06/12 10:10:17 LFiheMSR0
こんにちは。最近AutoHotKeyを使い始めました。
PDF-XChange Viewer にて、以下のように
スペースキーを右矢印
シフト+スペースキーを左矢印
に置き換えようとしたのですが、
シフト+スペースキーが効きません。
; for PDF-XChange Viewer
#IfWinActive ahk_class DSUI:PDFXCViewer
+Space::Left
Space::Right
#IfWinActive
AutoHotKeyのKey history and script infoでみたいたところ、
Left以外に最初に押したシフトが押されたままになってしまっています。
ところが、PDF-XChange Viewerでは、シフト+右矢印は無効になります。
(右矢印のみは問題ない)
シフト+スペースを押したときに、右矢印のみを押すことはできないでしょうか?
つまり、シフト+スペース時に、シフトを無効にしたいのですが・・・
699:698
08/06/12 10:29:25 LFiheMSR0
これでいけました!
; for PDF-XChange Viewer
#IfWinActive ahk_class DSUI:PDFXCViewer
+Space::
Send {Left}
return
Space::Right
#IfWinActive
お騒がせしました。ご協力いただきありがとうございました。
700:698
08/06/12 10:30:33 LFiheMSR0
あ、returnは余計でしたね。一行でいけるのか
+Space::Send {Left}
701:名無しさん@お腹いっぱい。
08/06/12 18:08:31 FoxozYwL0
マウスをドラッグ中にカーソルを変更したいのですが、
AHKスクリプト内で、マウスカーソルを変更する方法はありますか?
現在のカーソルの種類を読み出すコマンドはあるようですが、
指定する方法は見つけられない状態でして・・・