FaceStickマクロのMessageBox
2006年 07月 23日
そういえば、ずっとMessageBox() という関数の、改行――これがどうやったら出来るのか、検索してみても全く分からなかったんです。今日改めて検索したりしていてああでもないこうでもないと考えるうちに、そういえば文字列を指定する時の改行は、まさにそのまま改行を打ち込むのでよかったんだなぁと、思い出しました。(本当にこれが正しいのかは知らんが‥‥出来るから合ってるんだろうと思っている^^;)
じゃぁそれでやってみればいいんじゃないかと思い、試しにカキカキ‥‥。
φ(._.)
結果、直接 MessageBox() の中に書き込むと、どうも以降の文字列が文字化けしたりしてしまいましたが、先に文字列を作ってから代入してみたら、行けました♪ こうすればよかったのか‥‥。ただ、なぜかは分かりませんが、改行は代入式の行の最後に1個ずつ持ってくるようにしないと(つまり1行ずつ足していく)、それ以降がやはり文字化けしてしまいます‥‥。これはどうしようもないのかな? よく分かりません‥‥。
取り敢えずはこうしておきましょうっと。
Value,Title,Url,Sdstr,MbTxt : string;
ReMb, Gmh, Vec: integer;
begin
Value := '';
Title := '';
Url := '';
Sdstr := '';
SetClipBord('');
SetForegroundWindow(TargetWindow);
Keybd_event(18,0);
Sleep(60);
Keybd_event(69,0);
Sleep(100);
Keybd_event(79,0);
Sleep(60);
Keybd_event(18,-1);
Sleep(60);
Value := Trim(GetClipBord);
Title := StringDivide(Value,'
',0);
Url := StringDivide(Value,'
',-1);
Url := Trim(Url);
if Pos(' - Point and Click Games - GamersHood - Online Games Paradise',Title) > 0 then
begin
Gmh := 1;
Title := Copy(Title,1,(Pos(' - Point and Click Games - GamersHood - Online Games Paradise',Title) - 1));
end;
if Pos('www.vector.co.jp',Url) > 0 then
begin
Vec := 1;
Title := Copy(Title,1,(Pos('(Windows95/98/Me',Title) - 1));
end;
MbTxt := 'タイトル■' + Title +'
';
MbTxt := MbTxt + 'URL■' + Url + '
';
MbTxt := MbTxt + '
';
MbTxt := MbTxt + '文字列挟み込み?選択して「はい」(範囲が選択されていなければタグのみ貼り付け) 「いいえ」でページタイトルをリンク文字に。';
ReMb := MessageBox(MbTxt,'挟み込み選択ウィンドウ',3);
Sleep(180);
if ReMb = 6 then begin
SetClipBord('');
VKCut;
Sleep(60);
Sdstr := GetClipBord;
end;
if ReMb = 7 then Sdstr := Title;
if ReMb = 2 then Exit;
if Gmh = 1 then Value := '<A href="' + Url + '" target="_blank" title="【' + Title + '】のページを別窓で開きます' + '">' + Sdstr + '</A> (in <A href="http://www.gamershood.com/" target="_blank">Gamershood</A> )'
else if Vec = 1 then Value := '<A href="' + Url + '" target="_blank" title="【' + Title + '】のページを別窓で開きます' + '">' + Sdstr + '</A> (in <A href="http://www.vector.co.jp/" target="_blank">Vector</A> )'
else Value := '<A href="' + Url + '" target="_blank" title="【' + Title + '】ホームページを別窓で開きます' + '">' + Sdstr + '</A>';
SetClipBord(Value);
Sleep(60);
VKPaste;
end;