- 【QBASIC互換!?】FreeBasic【GPL】
638 :デフォルトの名無しさん[]:2016/09/15(木) 20:21:32.21 ID:SnC6oaUN - >>629 つづき。
局所ルーチンの Private Function Local_CommonStringSet(ActionType as Integer) As long 各ファイルで、個別にDeclare で宣言してもエラーが発生しなくなった。 原因がよくわからない。結局、何回かコピーして、作り直しただけ。
|
- 【QBASIC互換!?】FreeBasic【GPL】
639 :デフォルトの名無しさん[]:2016/09/15(木) 20:38:47.80 ID:SnC6oaUN - >>635 のつづき。
GetPrivateProfileSection() GetPrivateProfileSectionNames() 関数の戻り値、(Null)文字区切りの文字列の分離がうまくいっていない。 現時点では、 引数として返された文字が解釈できないのか、分離ルーチンの参照でおかしくなったのか、 が゛よくわかっていない。単に、 SepChrLong = &h00 LSet InAString ="1"+Chr$(SepChrLong)+"2"+Chr$(SepChrLong)+"3"+Chr$(SepChrLong)+"4"+Chr$(SepChrLong)+"5"+Chr$(SepChrLong)+Chr$(SepChrLong) と作成された文字列ならば、直後のダンプではヌル文字が存在しているが 引数にしてサブルーチンを参照すると、戻った時には長さ0の文字列になってしまう。 宣言関係の間違いだと、発見が困難な障害を発生しやすい。 特に、Basicでは、引数の型宣言があわないと型を合わせるルーチンが間に入ってくれる。 Fotranでは、型があわなくてもそのままの数値として使うのでメモリーマップさえ注意していれば、値の書き換えが発生しないが、 Basic では値の書き換えが行われる。 言語として使えるのにであれば、どこかに宣言の間違いを行っているはずだが、この発見が困難である。
|
- 【QBASIC互換!?】FreeBasic【GPL】
640 :デフォルトの名無しさん[]:2016/09/15(木) 21:07:11.86 ID:SnC6oaUN - >>673
これがあると、結構楽になります。 2000-2007 にかけて、Shift-Jis,句点コード、Jisコード、7bit ASC文字、8Bit ASC文字(英語以外のアルファベット文化圏の言葉)、UniCodeの判別ルーチンを作成しました。 MS-DOS ver5で、コートページが導入された関係で、アルファベット圏は8bitで片付くようになりました。 DBCS文字が、MS-DOS, 2.14以後(3.0の後に発売されたのが2.14)からサポートされています。 固定で、80-9fの制御文字を割り当てているのがJISですが、他の領域を割り当てている国もあります。 この国の言葉で作成されたファイル名をWin 75等でディスクに自動作成される(ZIPファイルの自動解凍等)と、Format以外削除する手段がなくなるファイルが作成される場合があります。 このあたりの対応ルーチンをライブラリーとして持っています。 サンプルが少ないので、「解釈できません」、と返すだけですけど。
|