|
>ファイルの拡張子
こんな感じですか ???
$wk1 = filename2;
//$wk1 = "..a..b..t";
call pk_get_filetype2 $wk1;
$wk2 = $$return;
message $wk1 + "\n" + $wk2;
endmacro;
//*6MICROpk_get_filetype2
//*6_Desc.ファイル名の「拡張子」部分を得るVer. 02.02
//*6call pk_get_filetype2 arg_t1;//basename;
//*6arg_t1 : file name//$$1
//*6$$return : file type (拡張子) - .ttt
//*6global area : N/A
//*6if( $$return != "" ){
//*6message "basename - " + basename + "\n file type - " + $$return;
//*6} else {
//*6message "basename - " + basename + "\n file type - " + "N/A";
//*6}
//*6"aaa.bbb.nnn.ttt" というファイル名の拡張子にも対応しています !
endmacroall;
pk_get_filetype2:
$$wk1 = $$1;$$wk2 = "";
while( $$wk1 != "" ){
##i = strstr($$wk1,".");
if( ##i != -1 ){
##j = strlen($$wk1);
$$wk2 = midstr($$wk1,##i,##j);
$$wk1 = midstr($$wk1,##i+1,##j);
} else {
$$wk1 = "";
}
}
if( $$wk2 == "." ){$$wk2 = "";}
//Tmessage $$1 + "\n'" + $$wk2 + "'";
return $$wk2;
//*6MICRO_END
マクロのテストです。
call pk_get_filetype2 "";
call pk_get_filetype2 "abc";
call pk_get_filetype2 "a.b";
call pk_get_filetype2 "a.b.c";
call pk_get_filetype2 ".a.b..c..d";
call pk_get_filetype2 ".abc";
call pk_get_filetype2 "..abc";
call pk_get_filetype2 "ab.c.";
call pk_get_filetype2 "ab.c..";
endmacro;
|
|