HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0228
wow改行方法6解決


wow

リンク

2008/2/28(Thu) 20:18:33|NO.13809

現在、テキストファイルの1行目に記入した文字を
読み込むようにしています。
しかし、この枠の大きさだと、テキストファイル
の文字が半角文字で25文字以上だと、枠からはみ
出してしまいます。
テキストファイルの文字が25文字を超える場合
(取りあえず50文字以下)、自動的に改行する
ように設定することはできますか?

cls width 200, 50 notesel buf noteload "001.txt" noteget a mes a stop



この記事に返信する


Kpan

リンク

2008/2/28(Thu) 21:46:16|NO.13812

mes命令に改行する設定はないです。(^^;

手段はいろいろあるかと思いますが
・それこそ文字列を途中でぶった切って改行させる処理を自分で組む
・妥協してmesboxに表示する
・手抜きしてスタティックテキストやAPIのDrawText関数に放り投げる



inovia

リンク

2008/2/28(Thu) 23:40:46|NO.13817

文字列改行させる処理。
3分で考えたバグがあるかもしれないスクリプト。


m="あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん" mes m:mes"↑原文↓改行された文" t=32//改行する文字数(全角) if strlen(m)>t{ tmp=strlen(m)/t } if tmp!=0{ x="" repeat tmp/2+1 x+=""+strmid(m,t*2*cnt,t*2)+"\n" loop mes x }else{ mes m }



inovia

リンク

2008/2/28(Thu) 23:51:25|NO.13818

妥協版mesbox版


m="あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん" m+=m//無理矢理改行させる為に文字数を2倍に増加させる。 mesbox m,640,480,0,-1

手抜き版スタティックテキスト版

#include "hsp3util.as" m="あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん" m+=m//無理矢理改行させる為に文字数を2倍に増加させる。 statictext m,640,480



KENTA

リンク

2008/2/29(Fri) 00:03:19|NO.13819

DrawText関数を利用して改行するスクリプトを書き込んどきます。

//DrawTextで改行するスクリプト #include "user32.as" #define DT_WORDBREAK 0x10 screen 0,640,480 word="あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやいゆえよらりるれろわいうえをん!?。、" word+=word //一応二倍の文字列に... RECT=0,0,ginfo_winx,ginfo_winy //改行する範囲を指定 DrawText hdc,varptr(word),-1,varptr(RECT),DT_WORDBREAK redraw //DrawTextのあとは画面を更新する stop



inovia

リンク

2008/2/29(Fri) 00:08:51|NO.13820

先ほどのNo.13817ですが、2バイト文字と1バイト文字を混ぜると、
もしかしたら文字化けするかもしれません。

http://hspdev-wiki.net/?String%2F%B2%FE%B9%D4
にいい参考例が載ってますのでどうぞ。



wow

リンク

2008/2/29(Fri) 22:14:15|NO.13835

ありがとうございました。とりあえず、KENTAさんのを使うことにしました。



ONION software Copyright 1997-2023(c) All rights reserved.