PDA

View Full Version : تبدیل زمان به عدد ...



Hamid_PaK
چهارشنبه 01 فروردین 1386, 12:50 عصر
IDMan برای ذخیره زمان بندی شروع کارش زمان را در رجیستری ذخیره می کند ...
نوع داده ذخیره شده در رجیستری بدون عنوان (REG_NONE) تعریف شده و مقادیر ذخیره شده به این ترتیب است ...


http://www.imagebee.org/images/3702snap01.gif


$3C30F6D8 => 1009841880 => 03:08:00 AM
$3C311118 => 1009848600 => 05:00:00 AM

کسی از دوستان می تونه کمک کنه چگونه این اعداد به زمان تبدیل میشه و بالعکس ؟؟؟

با تشکر ، یا حق ...

oracle
چهارشنبه 01 فروردین 1386, 13:00 عصر
منظور شما اینه که چطور می شهه دکد کرد؟

ghabil
چهارشنبه 01 فروردین 1386, 17:54 عصر
از اونجایی که اختلاف این دوتا عددی که گذاشتی میشه 6720 که اگر ثانیه در نظر بگیریمش میشه 1 ساعت و 52 دقیقه یعنی دقیقا اختلاف این دوتا ساعت ، پس میشه نتیجه گرفت که عدادت به ثانیه هستند ، حالا به چه فرمت و استانداردی نمیدونم ولی حتما به فرمت Time دلفی نیستند چون توی دلفی اولا تایم اعشاری هست دوما کسری از 24 ساعت نه به ثانیه.
چون بیشترین تعداد ثانیه در روز 86400 ثانیه هست یعنی 24 * 3600 پس عملا اگر بخواهیم اعداد در دلفی داشته باشیم 5 رقم اول کفایت میکنه (بقیش نمیدونم چیه!) یعنی اعدادمون میشن :
41880 , 48600 که این دوتا عدد هرکدوم با مبدا دلفی 30600 ثانیه یعنی 8 ساعت و نیم اختلاف مبدا دارند ، که بازم نمیدونم چرا ! یا این چه استانداردیه .
خلاصش که فرمول تبدیل این اعداد به Time دلفی (با داشتن فقط این دو نمونه) یک چیزی شبیه این میشه :
فرض کنیم 5 رقم اول اعدد در متغییر Integer با نام ATime هستند.


TimeToStr((ATime - 30600) / 86400);

بقیه اعداد هم احتمالا ماله تاریخ هستند که میتونی خودت یکیم روش کار کنی و پیدا کنی چه فرمتیه.

dkhatibi
چهارشنبه 01 فروردین 1386, 23:59 عصر
اگر زمان را با Reg.WriteDate تو رجیستری بنویسی ببین تفاوتی مشاهده می شه یا نه؟
یا reg.Writedatetime

Hamid_PaK
پنج شنبه 02 فروردین 1386, 11:00 صبح
گر زمان را با Reg.WriteDate تو رجیستری بنویسی ببین تفاوتی مشاهده می شه یا نه؟
زمان را از نوع باینری ذخیره کرد ولی نوع داده ما NONE هست ...

با تشکر ، یا حق ...