ブックマーク管理その3
不具合の修正
早速見つかったので、とりあえず修正。あとちょこちょこ改善。
とりあえず書いてみる。ほんとは、前回の記事のほうを修正した方がいいのかな。まあいいや。
ShorterRead.ahk
CoordMode, Menu, Screen Loop, Read,D:\data\AHKdata\bookmark.txt { Src=%A_LoopReadLine% StringSplit, word_array, Src,`|,%A_Space%%A_Tab% Menu,Shorter,add, %word_array1%, Menu } Menu,Shorter,Show,450,600 return Menu: GetKeyState, state, Ctrl If state=D { MsgBox,3,,%A_ThisMenuItem%を削除していいですか? IfMsgBox, No return IfMsgBox,Cancel return Loop, Read, D:\data\AHKdata\bookmark.txt, D:\data\AHKdata\Temp.txt { if(A_Index=A_ThisMenuItemPos) continue FileAppend, %A_LoopReadLine%`n } FileDelete, D:\data\AHKdata\bookmark.txt FileMove, D:\data\AHKdata\Temp.txt, D:\data\AHKdata\bookmark.txt return } If state=U { FileReadLine, Src, D:\data\AHKdata\bookmark.txt, %A_ThisMenuItemPos% StringSplit, word_array, Src,`|,%A_Space%%A_Tab% Run,%word_array2% return }
ShorterWright.ahk
ControlGetText, Urltext, Edit1, ahk_class TKikiMain WinGetTitle, Title, ahk_class TKikiMain ; kiki以外を使っている人は、うえの二つの行をうまく書き換えれば対応できる…はず。 StringTrimRight, Title, Title,7 InputBox, Title , , , , 200, 100, , , , , %Title% if ErrorLevel <> 0 return Loop, Read, D:\data\AHKdata\bookmark.txt { StringSplit, word_array, A_LoopReadLine,`|,%A_Space%%A_Tab% if (word_array1=Title) { Msgbox,その名前登録済みです;;`nすいません違う名前でお願いしまう>< return } } Msgbox,タイトル%Title%`nURL%Urltext%`nを書き込んでもいいですか? FileAppend,%Title%` | %Urltext%`n,D:\data\AHKdata\bookmark.txt return
説明
ShorterRead.ahkは、削除をするときの挙動を、変だったのから修正した。 ShorterWright.ahkでは、同じ名前のサイトを登録できないようにした。同じのだと、A_ThisMenuItemPosを使っている関係でラベルが変なふうにはられてしまうの。本当は、サイト名を変更して再入力ダイアログを出すのがいいんだけど、これでも別に困らないかな、と。
あと、bookmark.txtに改行が入っているとうまくいかない。bookmark.txtの最後が改行で終わっていると、ShorterWright.ahkを使ったときに改行が入って不具合になる。うまいことやったら、問題ないのかな…また考えてみる。最後が改行で終わっている状態にShorterWright.ahkを合わせることで、たぶん解決したの(´・ω・`) 。 操作によっては、なんか勝手に改行入っちゃったりするな…とりあえず修正は施したけど、またこの部分で不具合でるヨカーン。bookmark.txtを読み込むときに文字列の入っていない行を無視することとかできないのかしらん。
具体的な使い方
前回書いたのよりも、もう少しだけ具体的に。
fenrirに、まず、ShorterRead.ahkとShorterWright.ahkを登録。instant.iniに、
r/="D:\bin\AutoHotkey\Autohotkeyfile\ShorterRead.ahk" w/="D:\bin\AutoHotkey\Autohotkeyfile\ShorterWrite.ahk"
を付け足す。こうすると、fenrirにr/を入力すると登録したブックマークがポップアップメニューで表示される。w/で、kikiで現在表示中のサイトが登録される。
AutoHotkeyの検索ボックスについて
web検索の方法その1で、AHKのguiがもっさりとかなんとかいってたけど、変更できるみたい。
Gui,+AlwaysOnTop +ToolWindow +Border -SysMen
みたいなのを、付け加えるだけ。細かい説明は、AutoHotkeyを流行らせるページを見てください。
じゃあねー(^o^)ノ