【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net (430レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
306: デフォルトの名無しさん [] 2020/03/02(月) 01:17:10.82 ID:v6XbUmZi(1/3) AAS
>>305305(1): 渡辺真 [] 2020/02/29(土) 12:30:13.84 ID:Hs4SAFSa(1) AAS
>>304
教えていただき有難うございます。
修正しました。
ところで、日本語環境で DateValue を使ってうまく日付を設定するほほがあれば教えて下さい。
追記:
来週末を目標に、英語 Wiki の更新を、日本語マニュアルに反映させる作業をしています。
>日本語環境で 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日までの日付を入力すると換算できる)、使い物にならないとして使用を打ち切りました。
外部リンク:ja.wikipedia.org
同様な問題は数値変数化関数(Str$())でも、(登記に使われている)漢数字の数値化ができない等でみられました。
したがって、DateValueを使っていません。
307: デフォルトの名無しさん [] 2020/03/02(月) 23:01:53.20 ID:v6XbUmZi(2/3) AAS
DateValue が、想定した動きをしないので、Fun DayString20()系を作成しました。
Fun DayString20()を作るきっかけとなったルーチンを引っ張り出して、それらしき内容にまとめたものをUPします。
外部リンク[html]:dotup.org
上4つが日付処理、下4つ(実質は3つ)が時刻処理です。
なお、Fun Daystring20()系を作成したころに参照したサイトの多くは消失しました。
処理可能なCodePage 一覧を入手するルーチンと、CodePageから日付情報を抜き取るルーチンの名称がわかれば、続きを書けるでしょうけれども。
コードページ関係処理は訳が分からなくて、使っていません。
それと、レジストリーをダンプすると、各国の言語別情報が保存されています。
ここから関係情報を抜き出せれば、やり方があるかもしれません。
308: デフォルトの名無しさん [] 2020/03/02(月) 23:32:12.62 ID:v6XbUmZi(3/3) AAS
日付設定に関して FreeBasic 処理系では
SETDATE 現在のシステム日付を設定します。
SETTIME 現在のシステム時刻を設定します。
の2つだけです。外部リンク[html]:makoto-watanabe.main.jp では
SetDate m + "/" + d + "/" + y
とあり、Format() 関数を使うように変更すると
SetDate Format(A_DATESERIALdouble, "mm/dd/yyyy")
と書き換え可能です。
今のところ、NTPサーバーに対して送る ユニックス時刻 作成ルーチンと、その逆関数を作成中です。
ですから、いろいろな動作試験はちょっと先になります。
関数を作ったらば、正関数を通して得た演算値を、逆関数に送って戻ってきた演算値が、最初に使った値と同じになるか、を延々と繰り返します。
ループバック試験と同じようなこと
外部リンク:ja.wikipedia.org
を正関数、逆関数で延々続けます。
適当な間隔で第三者の計算値を利用する場合もあります
初期には定義域を定めて、乱数で作った値で比較します。
これを本格的にやると、1か月ぐらいかかります。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.025s