秀丸エディタ、マクロのコメントアウトの記述方法

コメントを入れるにはC++言語と同様に//が使える。

記述例:
--------------------------------------------------------------------------
//作品名を作品IDに置換
replaceallfast "^作品名" , "作品ID" , regular, nocasesense, hilight, loop;
--------------------------------------------------------------------------

V6.00より、/*~*/もコメントとして記述できる。
ただしV6.00未満や秀丸メールの場合はできないので、汎用的なマクロを作る場合は/*~*/は使わないほうがいい。

秀丸エディタで複数の改行を一つにまとめる正規表現

改行を一つにまとめる正規表現は本来次のような書き方になる。

\n+ → \n(左から右へ置換)

複数の改行を、一つの改行に置き換えるだけだが、秀丸エディタではうまくいかない。
秀丸エディタでは、2行単位でしか連続した改行を見つけることができず、3行の改行に対しても、そのうちの2行にだけマッチして残りの1行にマッチしない。その結果、改行の数は減るが何行か残ってしまう。

この問題を解決するには次のように記述する。

(?#maxlines:10)\n+

正規表現のパターンをこう記述すると、10行までの改行をまとめて置換できる。10の部分を増やせば、対象となる行数も増える。(この記述はバージョン8以上に対応している)

【UWSC】テキストファイルの一行目を取得して、削除する

作業用のURLリストなんかをつくって、一行目から順にUWSCで作業させたいときに使う。

//テキストファイルの一行目を取得して、削除するサンプルコード//////////////////////////////////////////////////////////////////
FILE_PATH = "url_list.txt"

FID = FOPEN(FILE_PATH, F_READ or F_WRITE) //読み込み、書き込み両対応

Line_data = FGET(FID, 1) //LISTの1行目のURLを取得

print Line_data //一行目を情報を出力

sleep(100)
//作業内容を書き込む

FDELLINE(FID, 1) //LISTの1行目のURLを削除

FCLOSE(FID) //閉じることで処理が完了する
//////////////////////////////////////////////////////////////////

//すべての行を消化したら終了する場合は、次のように書く
//////////////////////////////////////////////////////////////////
FILE_PATH = "url_list.txt"

WHILE true //ずっと繰り返す

FID = FOPEN(FILE_PATH, F_READ or F_WRITE) //読み込み、書き込み両対応

Line_data = FGET(FID, 1) //LISTの1行目のURLを取得

//空文字になったら終了
IFB Line_data = ""
msgbox("データがないので終了します")
exitexit
ENDIF

print Line_data //一行目を情報を出力

sleep(100)
//作業内容を書き込む

FDELLINE(FID, 1) //LISTの1行目のURLを削除

FCLOSE(FID) //閉じることで処理が完了する

WEND
//////////////////////////////////////////////////////////////////

【UWSC】フォルダにあるファイルのパスをすべて取得する

UWSCでファイル名を取得するには、「GETDIR」を用いる。

フォルダにあるすべてのファイルパスを取得するサンプルコード/////////////////////////////////////////////////////
//取得した情報の保存先とファイル名
//保存先を実行ファイルと違うフォルダにする場合は、フルパス
fid = FOPEN("info.txt",F_WRITE) //前の情報は消去して書き込む

PATH = INPUT("取得するフォルダを入力して下さい","C:\")

NUM = GETDIR(PATH) //ファイルの数だけならNUM

//配列を展開
FOR A = 0 TO LENGTH(GETDIR_FILES) - 1

fileName = GETDIR_FILES[A] //ファイル名

FPUT(fid,PATH + "\" + fileName) //ファイルの書き込み

NEXT

FCLOSE(fid)

/////////////////////////////////////////////////////

サブフォルダの情報も取得したいときは、コマンドプロンプトのdirコマンドを使うといい。

//カレントディレクトリの情報を出力
/////////////////////////////////////////////////////
CMDSTR = "dir /b /a-d /s > C:¥Users¥info.txt"

DOSCMD(CMDSTR,FALSE,TRUE)
/////////////////////////////////////////////////////

//C:¥Windowsの情報を出力
/////////////////////////////////////////////////////
CMDSTR = "dir C:¥Windows /b /a-d /s > C:¥Users¥info.txt"

DOSCMD(CMDSTR,FALSE,TRUE)
/////////////////////////////////////////////////////

オプションの説明

/b → ファイル名またはディレクトリ名のみ表示。最終更新日などの情報はなし。
/a-d → ディレクトリ以外のみ表示。
/s → サブディレクトリに含まれるファイルやディレクトリも全て表示。

cssのborderはきちんと指定しないと効かないことがある

cssのborderはきちんと指定しないと効かないことがある

枠線を消すために、

border:0px;

と記述したが一部のブラウザでうまくいかなかった。

そこで、

border:0px #969696 solid;

と三項目きちんと指定したらうまくいった。
手抜きをするとろくなことがない。

border-width:0px;

↑これでもいいだろう

【PHP】if(0)で複数行のコメントアウトする

phpで複数行をコメントアウトする場合/*~*/で囲むのが一般的。

/*
aaa
bbb
*/

しかし/*~*/が入れ子になっていたり、PHPとHTMLが交じって複数行のコメントアウトが簡単にできない場合は次のように書くといい。

<?php if(0) { ?>

0はfalseを意味するので実行されない

<?php } ?>

コメントアウトした箇所を再び実行したい場合は「1」に書き換えるだけでいい。

<?php if(1) { ?>

1はtureを意味するので実行される

<?php } ?>

【wordpress】カテゴリを指定して記事情報を出力する

特定のカテゴリのタイトルや記事内容を一覧にするサンプルコード

get_posts関数で、どの記事の情報が欲しいか正しく指定するのが大事。

<?php
//カテゴリ別で出力

//get_postsは、条件にマッチする投稿情報を取得する
//numberpostsは取得する投稿数。-1で全件。categoryはカテゴリのID。
$posts = get_posts('numberposts=2&category=3');
global $post;

if($posts) {
foreach($posts as $post) {
setup_postdata($post); //投稿記事に関連するグローバル変数を設定する。the_content()が使えるようになる。
echo the_title() . "<br>"; //タイトルを出力
//echo the_content() . ""; //内容を出力

}
}
?>

【UWSC】IE9以上でファイルダウンロード時に出る通知バーのボタンを押す方法

IE9以上で出現する通知バーのボタンをUWSCで押す方法

下の画像の保存ボタンを押したい
通知バー

//サンプルコード
////////////////////////////////////////////////////
// IEのIDを取得
id = GETID("Internet Explorer", "IEFrame")

//通知バーのハンドル(識別番号)を取得する。
handle = 0
repeat
sleep(0.5)
handle = GETCTLHND(id,"DirectUIHWND",2)
print handle //取得できなければ、0(ゼロ)が返る
until 0 < handle //ハンドルをIDに変換 id2 = HNDtoID(handle) //保存ボタンを押す CLKITEM(id2, "保存", CLK_ACC) //「ダウンロードが完了」と出るまで待ち //インターネットオプション → 詳細設定の「ダウンロードの完了時に通知する」にチェックを入れておくこと Repeat Sleep(1) Until Pos("ダウンロードが完了", GETSTR(id2, 1, STR_ACC_STATIC))>0 //通知バーを閉じる CLKITEM(id2, "閉じる", CLK_ACC) ////////////////////////////////////////////////////

UWSCでたまに聞く、ウインドウハンドルとは

ハンドルとは、ウィンドウやコントロールに割り当てられている識別番号のこと。
ウィンドウを開くとそのとき空いていた番号が適当に与えられる。よって、同じウィンドウでも開くたびに番号は変わる。

UWSCでは「GETCTLHND」で取得できる。
たまたま開いていたIEのハンドル値を取得したら「132424」と返ってきた。
(取得できなければ 0(ゼロ)が返る)

print GETCTLHND(id,"DirectUIHWND")

「HNDtoID」を使えば、ハンドル値をUWSCのIDに変換できる。

【PHP】クエスチョン(?)がある演算子は三項演算子

サンプルコードにクエスチョン(?)を使った演算子らしいものを発見。
WEBで調べるのに少し手間取ったのでメモ。

三項演算子という。3つの項目を使用する唯一の演算子らしい。

---------------------------------------------------------
書式:

[条件式] ? [真の場合] : [偽の場合]
//条件式を評価し、TRUEであれば[真の場合]、FALSEであれば[偽の場合]を返す
---------------------------------------------------------

---------------------------------------------------------
サンプルコード:

$_SESSION["category"] = isset($_POST["category"]) ? $_POST["category"] : "";
//POSTの値があればPOSTの値を、なければ空文字をSESSIONに格納する
---------------------------------------------------------