【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net (430レス)
【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1482549747/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
306: デフォルトの名無しさん [] 2020/03/02(月) 01:17:10.82 ID:v6XbUmZi >>305 >日本語環境で DateValue を使ってうまく日付を設定するほほが DateValue の条件に、使用しているOSに依存する、という内容があるので HTTP通信のヘッター部 Date: の解釈に使えない とあるので、使用をあきらめ、自前でルーチンを作ってしまいました。 Fun DayString10String()系の一群の処理です。 ファイルの時刻操作関係は Fun DayTime()系の一群の処理で 1970年または1900年以前のデータ処理(古文書)を行う関係で、 DateSerial ではなく、西暦の文字列表記を使うような形式にしました。 今回は NTPサーバーに接続するための Unix時刻処理を行うために #Include once "crt/time.bi" 処理系関数の使用と、言語系 DateSerial の使用と #Include once "win/winbase.bi" 処理系関数の使用が候補に挙がり、 これら3種のルーチンの比較(私でもなんとか使えるルーチンが作成できるか)を行っている状態です。 DateValue は、説明文を見て、私では無理だと感じましたので全く使っていません。 多分 FBの著者は、米国系日付と英国系日付( mm/dd/yy dd/mm/yy )の問題から、システム環境に依存するように作成したものと思われます。 日本では (yy)yy/mm/dd になっているのですが、全角(算用数字と漢数字)と半角の問題、旧暦(和暦)の問題があり、 GW-Basic では対応してなく(幻の明治5年12月3日から12月30日までの日付を入力すると換算できる)、使い物にならないとして使用を打ち切りました。 https://ja.wikipedia.org/wiki/%E6%98%8E%E6%B2%BB5%E5%B9%B4 同様な問題は数値変数化関数(Str$())でも、(登記に使われている)漢数字の数値化ができない等でみられました。 したがって、DateValueを使っていません。 http://mevius.5ch.net/test/read.cgi/tech/1482549747/306
307: デフォルトの名無しさん [] 2020/03/02(月) 23:01:53.20 ID:v6XbUmZi DateValue が、想定した動きをしないので、Fun DayString20()系を作成しました。 Fun DayString20()を作るきっかけとなったルーチンを引っ張り出して、それらしき内容にまとめたものをUPします。 https://dotup.org/uploda/dotup.org2077653.zip.html 上4つが日付処理、下4つ(実質は3つ)が時刻処理です。 なお、Fun Daystring20()系を作成したころに参照したサイトの多くは消失しました。 処理可能なCodePage 一覧を入手するルーチンと、CodePageから日付情報を抜き取るルーチンの名称がわかれば、続きを書けるでしょうけれども。 コードページ関係処理は訳が分からなくて、使っていません。 それと、レジストリーをダンプすると、各国の言語別情報が保存されています。 ここから関係情報を抜き出せれば、やり方があるかもしれません。 http://mevius.5ch.net/test/read.cgi/tech/1482549747/307
308: デフォルトの名無しさん [] 2020/03/02(月) 23:32:12.62 ID:v6XbUmZi 日付設定に関して FreeBasic 処理系では SETDATE 現在のシステム日付を設定します。 SETTIME 現在のシステム時刻を設定します。 の2つだけです。http://makoto-watanabe.main.jp/freebasic/PgSetdate.html#start では SetDate m + "/" + d + "/" + y とあり、Format() 関数を使うように変更すると SetDate Format(A_DATESERIALdouble, "mm/dd/yyyy") と書き換え可能です。 今のところ、NTPサーバーに対して送る ユニックス時刻 作成ルーチンと、その逆関数を作成中です。 ですから、いろいろな動作試験はちょっと先になります。 関数を作ったらば、正関数を通して得た演算値を、逆関数に送って戻ってきた演算値が、最初に使った値と同じになるか、を延々と繰り返します。 ループバック試験と同じようなこと https://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%BC%E3%83%97%E3%83%90%E3%83%83%E3%82%AF を正関数、逆関数で延々続けます。 適当な間隔で第三者の計算値を利用する場合もあります 初期には定義域を定めて、乱数で作った値で比較します。 これを本格的にやると、1か月ぐらいかかります。 http://mevius.5ch.net/test/read.cgi/tech/1482549747/308
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s