Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> HSP2 -> HSP2.x系で、ファイルパスから、ファイル名やフォルダ名を取得するサンプルモジュール

HSP2.x系で、ファイルパスから、ファイル名やフォルダ名を取得するサンプルモジュール

Hot Soup Processor 2.x系で使える、ファイルのパスを元に、ファイル名、フォルダ名等を抜き出すサンプルコードです。

モジュール化してあります。

; finfo p1,"filename",[p2] ; ; p1=変数 : 結果を格納する文字列型変数 ; "filename" : 元のファイルパス ; p2=0〜3(0) : 取得モード ; ; ファイルパスから、ファイル名等を抜き出します。 ; p2には、以下の内容を入れてください。 ; ; p2の内容 ; 0 : ファイル名 ; 1 : ファイル名(拡張子抜き) ; 2 : 拡張子 ; 3 : ディレクトリ名 ; ; (例) ; a="c:\\windows\\notepad.exe" ; b="" ; finfo b,a,0 ; dialog b ; #module #deffunc finfo val,str,int mref file_name,24 mref file_path,33 mref mode,2 strlen len,file_path ;MODE 2 if mode==2{ repeat len peek index,file_path,len-cnt if index=='.'{ peek file_name,file_path,len-cnt+1 FLG=1 break } else{ FLG=0 } loop if FLG==0 : file_name="" return } ;MODE 0&1&3 repeat len peek index,file_path,len-cnt if index=='\'{ if mode==3{ strmid file_name,file_path,0,len-cnt } else{ peek file_name,file_path,len-cnt+1 } FLG=1 break }else{ FLG=0 } loop if FLG==0{ if mode==3{ file_name="" } else{ file_name=file_path } } ;MODE 1 if mode{ strlen len,file_name repeat len peek index,file_name,len-cnt if index=='.'{ strmid file_name,file_name,0,len-cnt break } loop } return #global

最初に記事を書いた日:2017/10/30

この記事をシェアする

このエントリーをはてなブックマークに追加

関連記事

資料室のトップに戻る
Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> HSP2 -> HSP2.x系で、ファイルパスから、ファイル名やフォルダ名を取得するサンプルモジュール
▲Top English