HAMLOG プログラム開発室


一括表示
タイトル
記事No
投稿日
投稿者

Pascal UTC to JST
808
2017/08/05(Sat) 08:40:16
JA2BQX 太田
Pasacl 講座の続きですがお願いします。

UTC を JST に変換する処理でつまずいています。
VB2010 ではサンプルも多くあり既に出来ていますが Pasacl の例が少ないようで。

Delphi のサンプルはそこそこありますが宣言の procedure 文の記載箇所が正しく無いようでエラーで落ちてしまったり
流用出来ないでいます。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Pascal UTC to JST
809
2017/08/05(Sat) 09:02:50
JG1MOU浜田
> Pasacl 講座の続きですがお願いします。
>
> UTC を JST に変換する処理でつまずいています。
> VB2010 ではサンプルも多くあり既に出来ていますが Pasacl の例が少ないようで。
>
> Delphi のサンプルはそこそこありますが宣言の procedure 文の記載箇所が正しく無いようでエラーで落ちてしまったり
> 流用出来ないでいます。

何が解らないのかが解らないのですが、HAMLOGでは、Windows-APIを
使って変換してます。

var
 Systm: TSYSTEMTIME;
 Filtm1, Filtm2: TFILETIME;
begin
if SystemTimeToFileTime(Systm, Filtm1) and
// LocalFileTimeToFileTime(Filtm1, Filtm2) and // JST => UTC
  FileTimeToLocalFileTime(Filtm1, Filtm2) and // UTC => JST
  FileTimeToSystemTime(Filtm2, Systm) then
    変換完了!;
end;
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Pascal UTC to JST
810
2017/08/05(Sat) 09:25:19
JA2BQX 太田
浜田さん、こんにちは。 ありがとうございます。


> 何が解らないのかが解らないのですが、HAMLOGでは、Windows-APIを
> 使って変換してます。

試していたサンプルが複雑過ぎて宣言が多くて現在のソースに追記するとその場所では不適切の様でコンパイルエラーが出たりしました。
もっと易しサンプルを...と思っていたら見つけてテストOK、
ここで掲示板を見たら浜田さんの回答がありました。
私がテストしたのは下記のページの
function IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer = 1) :TDateTime;
「月に1を追加します。
http://www.w3ii.com/ja/pascal/pascal_date_time.html


「月に1を追加」があるなら「時間に追加」もあるだろうと検索したら
下記がありました。
function IncHour(const AValue: TDateTime; const const AValue: TDateTime; const ANumberOfHours:Int64 ):TDateTime;

https://www.freepascal.org/docs-html/rtl/dateutils/inchour.html

浜田さんが提示してくれたサンプルは今から試します。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Pascal UTC to JST
812
2017/08/05(Sat) 14:58:34
JA2BQX 太田
浜田さん、こんにちは。 ありがとうございます。

ご提示いただいたサンプルも組み込みテストをしていますが uses での追記が必要なのか
エラーが出て進まないので別のサンプル dt_jst:=IncHour(dt_utc,9); を使って一応の形にまとめました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Pascal UTC to JST
813
2017/08/06(Sun) 08:53:50
je6lao
Delphi6では、usesに windowsがあれば使えるようです。

> 浜田さん、こんにちは。 ありがとうございます。
>
> ご提示いただいたサンプルも組み込みテストをしていますが uses での追記が必要なのか
> エラーが出て進まないので別のサンプル dt_jst:=IncHour(dt_utc,9); を使って一応の形にまとめました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop
タイトル
記事No
投稿日
投稿者

Re: Pascal UTC to JST
815
2017/08/06(Sun) 09:15:58
JA2BQX 太田
長野さん、こんにちは。

> Delphi6では、usesに windowsがあれば使えるようです。

通常に新規作成時には usesに windows は書かれているので
そのままで行けると思ったのですがVB(.Net)に比べてシビアのようで。

ありがとうございました。
このスレッドは管理者によってロックされていますので、返信並びに編集は出来ません!
pagetop