PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
9901 00/01/17 16:59:17 RE(4):PB6.5: ファイルの作成日時,更新日時を取得する方法 By ノグ
9885 00/01/14 15:06:58 RE(3):PB6.5: ファイルの作成日時,更新日時を取得する方法 By kin
9882 00/01/14 13:31:53 RE(2):PB6.5: ファイルの作成日時,更新日時を取得する方法 By Taka
9879 00/01/14 11:33:08 RE(1):PB6.5: テキストファイルの更新日、時間を取得する方法 By ふくぞー
9877 00/01/14 10:52:41 PB6.5: テキストファイルの更新日、時間を取得する方法 By ノグ

カテゴリ:スクリプトの記述
日付:2000年01月14日 13:31 発信者:Taka
題名:RE(2):PB6.5: ファイルの作成日時,更新日時を取得する方法

ノグさん、こんにちは。
ふくぞーさん、のコメントに補足です。

ファイルの日時を取得するPowerBuilder標準関数はありません。
したがって、Win32APIの関数を使います。

(1) CreateFile関数で、ファイルをオープン
(2) GetFileTime関数で、ファイルの 作成日時/更新日時/参照日時 を取得
(3) CloseHandle関数で、ファイルをクローズ

ここで注意しなければならないのは、(2)でFILETIME構造体に格納された日時は、グリニッジ標準時を表します。
ですので、以下の後処理が必要です。

(4) FileTimeToLocalFileTime関数で、グリニッジ標準時を日本時間に変換

さらに、PowerBuilderで扱える形式にするために、

(5) FileTimeToSystemTime関数で、FILETIME構造体をSYSTEMTIME構造体に変換

ここまでやって始めて、PowerBuilderで扱える型になります。


ふくぞーさんが教えてくださった FindFirstFile関数を使う場合、(1)?(3)の処理は不要ですが、
WIN32_FIND_DATAという構造体のメンバの1つがFILETIME構造体になっていますので、
上記(4)と(5)の処理は必要です。

FindFirstFileを使ったサンプルが、PowerBuilder Developer Station に登録されています。(と思いました)
上記[リンク]からどうぞ。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS Oracle SQL*Net 8
Browser InternetExplorer5.X

Server SoftWare

OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.