
今、卒研でVBを使ってよるのですが、そのプログラミングで悩んでいます。
タイマーを使って時間を取得しようと思い、パソコン画面右下の時間表示から取っているのですが、そうすると時間、分は表示できるのですが秒までは表示できません。
このやり方で秒まで表示できませんか?
違った方法でもVBを使って秒まで表示できるプログラミングがあったら教えてください。
VBを使って10分の1秒単位での時間の取得はできませんか?
できたら2つのフォームにまたがって同じタイマーを使用したいのですが、何か方法はありませんか?
すみません。
お願いします。
A 回答 (10件)
- 最新から表示
- 回答順に表示
No.10
- 回答日時:
蛇足ながら補足です。
WindowsAPIで細かい時間を取得するには
GetTickCount()と既に出ているマルチメディアタイマーが
あります。
両方とも、Windowsが起動されてからどれくらい経過したか?
をms単位で返します。
(だから現在時間を知るには役に立ちません)
一般的に正確なのはマルチメディアタイマです。
GetTickCountはWin95/98では55ms単位でしか解りません。
NTなら、マルチメディアタイマと一緒で正確です。
しかしマルチメディアタイマも
BeginTimePeriodを呼び出してからでないとそんなに正確じゃありません。
詳細はMSDNをどうぞ。
引数なしの関数で、DWORDを返すだけですから
VBからでも気軽に呼び出せます。
No.9
- 回答日時:
んとねぇ私が気にしているのは...。
もし、使い方が、『機器制御で”正確に10分の1秒”単位で時刻が欲しい』って事だと、使うべきAPIが変って来るって思っただけです。
また、10分1秒単位(100ミリ秒単位)で、時刻が欲しいって事だとGetLocalTimeよりも、Timerオブジェクトのイベントで100ミリ秒を指定してイベントを待った方がよいのかなぁって思ったのです。
後は、時刻表示を100ミリ秒単位で行うって事も考えましたが...。
っとまぁいろいろ場面が想定出来るので、まずは何に使用したいのが知りたいのですよね。
そんでぇマルチメディアタイマーとは...(ちょっと説明が長くなりますが)
通常のWindowsAPI(SetTimer()関数 - 最高で1/18秒単位)よりも高精度と制御性能(ミリ秒単位)で大枚ベントをスケジュール出来るAPI群
但し、単純に現在時刻が欲しい場合には適しません。
No.8
- 回答日時:
mnabeさまの
>精度が低くなります
・・・ご本人も10分の1秒と言っているし、そのコンピュータが正確な時間を刻んでいるとも限らないから、勘弁してくださいな。
ところでそのマルチメディアタイマーとは何者?
ってこんなところで質問しちゃっていいのかな。
No.6
- 回答日時:
haporun 様の回答への補足です。
GetLocalTime で取得出来る値は、1000分の1秒までは取得できますが、実際に動作させるパソコンの性能に依存して、100分の1秒以下の値は不正確な値になってしまします。且つ、VBで作成されたモジュールの場合には、100ミリ秒以下は精度が低くなります。
同じタイマーを使用したいとの事ですが、タイマーでイベントが欲しいとか、100ミリ秒単位に何かの機器の制御がしたいとか...なると、GetLocalTimeではちょっと処理が難しくなります。
何をしたいのかをもう少し補足下さい。
ちなみに、マルチメディアタイマーを使用すれば、VBでもある程度の精度でタイマを取得する事が出来ます。
No.5
- 回答日時:
VBだけではおそらくムリです。
APIのGetLocalTimeという関数を使うと、1000分の1秒単位で取得できます。
--------------------------------------
Public Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Public Declare Sub GetLocalTime Lib "kernel32" Alias "GetLocalTime" (lpSystemTime As SYSTEMTIME)
--------------------------------------
を標準モジュールの最も上に貼り付けると、この関数は使えるようになります。
例:
--------------------------------------
Dim ST As SystemTime
GetLocalTime ST
MsgBox ST.wSecond + ST.wMilliseconds / 1000
--------------------------------------
などとやれば、現在の秒が1000分の1単位でわかります。
No.4
- 回答日時:
なんだかみなさん、同時に同じ質問に飛びついてしまいましたね。
運良く私が1番目だったようで。
yoshiozさん、Nowはステートメントではなく関数ですよ。
mnabeさん、mm:dd:ssでは月:日:秒になってしまうのでは?
No.2
- 回答日時:
現在の時分秒を持ってきたいだけなんですよね?
そしたらNowステートメントを使うとDate型で
今日の日付から時分秒まで返ってくるので
それを使えばいいと思います。
ためしにイミディエイトで「?Now」と
入力してEnterキーを押してみてください。
No.1
- 回答日時:
すみません、なんだかおっしゃる事が理解できないのですが。
タイマーというのはタイマーコントロール?
右下の~はタスクバーの時計?
タスクバーの時計の表示方法を変えるソフトはあります。
プログラムのソースも公開しているそうです(Cでしょうが)。
時間を取得したいだけなら、Now関数を使えばよいのでは。
Format(Now, "hh:mm:ss")などとやれば、秒まで含んだ時間の文字列が出来上がります。
何か私が見当違いなことを言っているようなら、補足ください。
参考URL:http://homepage1.nifty.com/kazubon/tclock/indexj.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) OMRON PLC CP2Eのプログラム 1 2022/11/24 10:57
- Windows 10 Windows10パソコン右クリックメニューで「切り取り」と「コピー」を選択し間違わないようにしたい 3 2022/04/16 10:35
- C言語・C++・C# gettimeofday() と localtime_r() を使って現在の日時をマイクロ秒単位で表 2 2022/10/26 21:15
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- その他(IT・Webサービス) googleカレンダーについて質問です スマホ版を使っています 週表示で使用してますが 1、デフォル 1 2023/02/26 20:35
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- その他(開発・運用・管理) bashで15分前と現在のエポックタイムの時間を取得したい 2 2023/02/01 19:10
- docomo(ドコモ) 通話録音が(最初から)自動的に始まるアプリは? 7 2023/01/16 15:53
- Windows 10 パソコンの起動時、画面が黒いままのトラブルにつきまして。 4 2022/10/02 18:02
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP8でWarning:Undefined varia...
-
count(*)で取得した値をJAVAの...
-
ListView 項目の選択/選択解除...
-
VB.NETで DataRow()を利用して...
-
利用者側のMACアドレスを取得し...
-
リストビュー:先頭行のアイテ...
-
JavaScriptにおいてコンピュー...
-
VBAでActiveDirectoryのユーザ...
-
VBA:小数点以下の数字を取得で...
-
Windowsの時刻について
-
ListViewで複数選択された項目...
-
DOMの操作
-
iPhone DatePickerでの日付の取...
-
VBScriptでのPCカード操作方法...
-
Macのファイルパス
-
エクセルVBAで別ファイルのデー...
-
エクセルVBAで範囲内での位置取...
-
javascriptのonclickで、ループ...
-
PCインストール済みのアプリケ...
-
データ数をカウントしたいのですが
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで DataRow()を利用して...
-
ListView 項目の選択/選択解除...
-
VBA:小数点以下の数字を取得で...
-
VBAでActiveDirectoryのユーザ...
-
Spreadの選択行の取得について
-
PHP8でWarning:Undefined varia...
-
Flexgridで選択行の列の値を取...
-
count(*)で取得した値をJAVAの...
-
VBA Shapesの座標からセル位置...
-
データ数をカウントしたいのですが
-
JavaScriptにおいてコンピュー...
-
利用者側のMACアドレスを取得し...
-
VBA リストボックス内の値を複...
-
like演算子内に変数って使えな...
-
EXCELのリストボックスを選択し...
-
「Excel VBA」 Webクエリ マク...
-
JavaScriptでWindowsログオンID...
-
gethostbyaddrでのホスト名取得...
-
現在時刻をミリ秒まで取得
-
vbaで、オートシェイプ文字幅と...
おすすめ情報