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

この記事をシェアする

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

関連記事

Meteoric Streamについて

管理人

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