ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月27日(土) 23:58

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - FileTimeToSystemTimeで
作成者 メッセージ
  記事の件名:  Re: FileTimeToSystemTimeで  引用付きで返信する
たかせ様

無事に動作しました。
ありがとうございました。
投稿記事 Posted: 2013年8月08日(木) 11:30
  記事の件名:  sprintfのパラータを修正してください  引用付きで返信する
編集対象がLong/Word型などの変数のときはsprintfの部分を次のように変更してください。

sprintf(Sumtime As VoidPtr,"%02d/%02d %02d:%02d:%02d",_
tLMTp1.wMonth,tLMTp1.wDay,tLMTp1.wHour,tLMTp1.wMinute,tLMTp1.wSecond)

下記の場合だとポインタ変数が指す文字列の編集と扱われます。
つまり文字列データを編集するときの方法となります。
sprintf(Sumtime As VoidPtr,"%02s/%02s %02s:%02s:%02s",_
tLMTp1.wMonth,tLMTp1.wDay,tLMTp1.wHour,tLMTp1.wMinute,tLMTp1.wSecond)

この場合はプログラムでアクセスできないアドレスを参照しようとしたので実行時にエラーになったと思われます。
sprintfの仕様についてはABのヘルプに記載されていませんがパラメータの指定方法はwsprintfとほぼ同じです。

よろしくお願いします。
投稿記事 Posted: 2013年8月07日(水) 16:54
  記事の件名:  FileTimeToSystemTimeで  引用付きで返信する
AB5.0にて下記コードをデバッグ実行するとエラーが出ます。
コード:
スレッド(&H8E4)でアクセス違反がありました(EIP=&H77BF2A16/ESP=&H00000010)。
FileTimeToSystemTime()か、sprintf()のどちらかをコメントにするとエラーは出なくなります。
原因は何でしょう??
コード:
	Dim tLMT As SYSTEMTIME
	Dim fTimt As FILETIME
	Dim tLMTp1 As SYSTEMTIME

	GetLocalTime(tLMT)

	SystemTimeToFileTime(tLMT , fTimt)
	FileTimeToSystemTime(fTimt , tLMTp1)

	Dim Sumtime(50) As Byte 
	sprintf(Sumtime As VoidPtr,"%02s/%02s %02s:%02s:%02s",_
			tLMTp1.wMonth,tLMTp1.wDay,tLMTp1.wHour,tLMTp1.wMinute,tLMTp1.wSecond)
投稿記事 Posted: 2013年8月07日(水) 14:18

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean