【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net (430レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
163
(2): デフォルトの名無しさん [] 2017/07/13(木) 23:00:12.66 ID:jVjH3qh4(1) AAS
>>140
140(4): デフォルトの名無しさん [] 2017/05/09(火) 19:35:55.11 ID:YDoq9mLA(1) AAS
ファイル名関係処理でDBCS関連がらみの処理をどうしようか、
と迷っていたら、ファイル名関係のシステムコール(スーパーバイザ参照)ルーチンを見つけた。
細かいことは C:\tool\FreeBASIC\inc\win\shlwapi.BI を見てくれ。
「declare function Path」で検索すると、主要なルーチン名を見つけることができる。
一部 declare sub Pathなんたら()があるから注意してくれ。
「Pathなんたら()」と記載しないと参照できない。
 DBCSがらみの処理は、ほぼ終わりが見えてきた。
主だったルーチンは C:\tool\FreeBASIC\inc\win\shlwapi.bi を参考にしてくれ。
DBCSがらみは C:\tool\FreeBASIC\inc\win\winnls.bi だけではあるが、ファイル名処理に絡んで一部ルーチンが他の*.BIにも存在する。
Fun StrCmpNI()等で、DBCSの比較が可能なシステム参照が存在する。

文字関数は、外部リンク[html]:makoto-watanabe.main.jp 等が存在する。
VBでは、文字数で規定している。全角文字の「123」がVBでは3文字、FBでは6文字になる。
文字数で位置を指定する場合と、文字位置(DBCS1バイト目)を指定する場合の2つを作成する必要がある。
VBに移植したときに、削除したルーチンを復活させる必要もある。これは、表示文字に限って使うルーチンで、
QBmidString(Astring, STpoint, Haba) というMID$()関数を想定したときに、
文字幅 Haba の値によって、DBCSの途中で途切れてしまう場合が発生する。
途切れた文字を含めて返す場合と途切れた文字を削除して返す場合の2通りを考える必要がある。
QBmidString("123", 3,3)で、「23」と返すか「2」と返すかの違い。
同様に、Left$(), Right$()でも発生する問題だ。表示ルーチンなので、じばけを防ぐ程度の問題であり、少しぐらい表示部位が乱れても気にしない(余分に空白を確保しておく)場合となる。

この後に待っているのが、フォント関係。
外部リンク[html]:makoto-watanabe.main.jp
なんてあるけど
外部リンク[html]:euc.jp
をカバーしないと日本語化が終了しない。
現時点において、実行中にフォントの切り替えに成功していない。前途多難である。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.030s