FILE名:FILE_search_dot.hsp

#include "FILE_long_instr.hsp"

#module m_search_dot
//拡張子があるか調べる関数
//f_name:拡張子がついているか調べる文字列
#defcfunc search_dot str f_name
loc=0
hoge_loc=0
hoge=f_name
//文字列中の最後の\\の場所を調べる
while loc!=-1
hoge_loc=loc
loc=instr_LL(hoge,loc,"\\")
wend
//文字列中の最後の\\より後の.の場所を探して返す
if instr_L(hoge,hoge_loc,".")==-1:return -1
return 1
#global
/* TEST
sdim s,256,256
s.0="aaa\\bbb\\c.txt"
file_name=s.0
logmes file_name
logmes str(search_dot(file_name))

 

s.1="aaa\\bbb\\c.dat"
file_name=s.1
logmes file_name
logmes str(search_dot(file_name))
s.2="c.txt"
file_name=s.2
logmes file_name
logmes str(search_dot(file_name))
s.3="c.dat"
file_name=s.3
logmes file_name
logmes str(search_dot(file_name))
s.4="."
file_name=s.4
logmes file_name
logmes str(search_dot(file_name))
s.5="aaa"
file_name=s.5
logmes file_name
logmes str(search_dot(file_name))
s.6="aaa\\bbb\\ccc"
file_name=s.6
logmes file_name
logmes str(search_dot(file_name))
s.7="aaa\\bbb\\.ccc"
file_name=s.7
logmes file_name
logmes str(search_dot(file_name))
s.8=".ccc"
file_name=s.8
logmes file_name
logmes str(search_dot(file_name))

 

s.9="abc\\def.\\ghi"
file_name=s.9
logmes file_name
logmes str(search_dot(file_name))
s.10="abc\\def.\\.ghi"
file_name=s.10
logmes file_name
logmes str(search_dot(file_name))

 

s.11="abc\\.def\\ghi"
file_name=s.11
logmes file_name
logmes str(search_dot(file_name))
s.12="abc\\.def\\.ghi"
file_name=s.12
logmes file_name
logmes str(search_dot(file_name))

 

s.13="abc.\\def\\ghi"
file_name=s.13
logmes file_name
logmes str(search_dot(file_name))
s.14="abc.\\def\\.ghi"
file_name=s.14
logmes file_name
logmes str(search_dot(file_name))

 

s.15="abc\\.def\\ghi"
file_name=s.15
logmes file_name
logmes str(search_dot(file_name))
s.16="abc\\.def\\.ghi"
file_name=s.16
logmes file_name
logmes str(search_dot(file_name))
stop*/
/*結果aaa\bbb\c.txt
1
aaa\bbb\c.dat
1
c.txt
1
c.dat
1
.
1
aaa
-1
aaa\bbb\ccc
-1
aaa\bbb\.ccc
1
.ccc
1
abc\def.\ghi
-1
abc\def.\.ghi
1
abc\.def\ghi
-1
abc\.def\.ghi
1
abc.\def\ghi
-1
abc.\def\.ghi
1
abc\.def\ghi
-1
abc\.def\.ghi
1*/