Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> HSP2 -> HSP2.x系で、アルファベットの大文字と小文字を相互変換するサンプルモジュール

HSP2.x系で、アルファベットの大文字と小文字を相互変換するサンプルモジュール

Hot Soup Processor 2.x系で使える、アルファベットの大文字化と小文字化のサンプルコードです。モジュール化してあります。
こういう処理は、素直にC言語でDLL化して済ませちゃった方が高速な気がしますけどねw

; ; strlower p1 ; strupper p1 ; ; p1=変数 : 変換する文字列型変数 ; ; strlowerは、アルファベットの大文字を小文字に変換、 ; strupperは、小文字を大文字に変換します。 ; ; C言語のstrlwr,struprや、palhspのpal_StrLwr,Uprと違い、2バイト文字が含まれていても ; 文字化けする事無く変換出来ますが、その分低速かも知れません。(^^; ; 1バイトのアルファベットのみ変換。 ; ; (使用例) ; a="AbCdEfgHiJKlmnOPQRstuVWxyZ" ; strupper a ; dialog a ; #module #deffunc strlower val mref dat,24 strlen len,dat repeat len if FLG==0{ peek pe,dat,cnt if pe>=129&&(pe<=159) : FLG=1 ;2バイト文字判定 if pe>='A'&&(pe<='Z') : poke dat,cnt,pe+32 } else{ FLG=0 } loop return #deffunc strupper val mref dat,24 strlen len,dat repeat len if FLG==0{ peek pe,dat,cnt if pe>=129&&(pe<=159) : FLG=1 ;2バイト文字判定 if pe>='a'&&(pe<='z') : poke dat,cnt,pe-32 } else{ FLG=0 } loop return #global

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

この記事をシェアする

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

関連記事

資料室のトップに戻る
Windowsソフト、iPhoneアプリ、ゲーム音楽素材の「Meteoric Stream」 -> 資料室 -> HSP2 -> HSP2.x系で、アルファベットの大文字と小文字を相互変換するサンプルモジュール
▲Top English