PDA

View Full Version : سوال: بک آپ و ریستور سیستم



Mask
شنبه 20 آذر 1389, 19:03 عصر
با سلام
آیا دوستان کدی دارند که یه point restore از سیستم (ویندوز)بگیرم و با برنامم ریستور کنم.
یعنی در حقیقت مثل برنامه ای که خود ماکروسافت گزاشته من با برنامم بتونم این کار رو بکنم.
ممنون.

Felony
شنبه 20 آذر 1389, 20:34 عصر
باید از کلاس SystemRestore (http://msdn.microsoft.com/en-us/library/aa378951(v=VS.85).aspx) از WMI استفاده کنید ، برای گرفتن لیست Restore Point ها باید یک درخواست WQL به این کلاس بفرستید و اطلاعات Restore Point ها رو درخواست کنید ، چند وقته شدیدا تو کار WMI هستم :لبخند: دیدم سوال جالبیه یه نمونه نوشتم ( توابع تبدیل تاریخ رو از نت گیر آوردم ) که میتونید از ضمیمه دریافت کنید .

نوشتن قسمت Restore با خودتون .

hossein_h62
یک شنبه 21 آذر 1389, 10:24 صبح
ممنون آقا مجتبی
ولی یه موردی دیدم، اون هم اینه که ساعت checkpoint هایی که استخراج میشن به وقت گرینویچ هست.یعنی دقیقا -3.30 نسبت به ساعتی که در فرم system restore نشون میده اختلاف داره.

Felony
یک شنبه 21 آذر 1389, 12:45 عصر
تو پست اولم هم گفتم تابعی که ازش برای تبدیل تاریخ استفاده کردم از اینترنت پیدا کردم و به اون موردی که گفتی دقت نکرده بودم ، در هر صورت تابع رو خودم نوشتم و اون مورد رو هم اصلاح کردم ، برنامه جدید رو میتونید از ضمیمه پست اول دریافت کنید .

hossein_h62
یک شنبه 21 آذر 1389, 13:09 عصر
مرسی فقط
با اجازه جناب تاجیک:
در فانکشن WMITimeToStr بجای این خط :

WMI_Date:= StrToDate(Copy(WMITime,5,2) +'/'+ Copy(WMITime,7,2) +'/'+ Copy(WMITime,1,4));
خط زیر جایگزین بشه :

WMI_Date:= StrToDate(Copy(WMITime,1,4) +'/'+ Copy(WMITime,7,2) +'/'+ Copy(WMITime,5,2));

Felony
یک شنبه 21 آذر 1389, 15:39 عصر
مرسی فقط
با اجازه جناب تاجیک:
در فانکشن WMITimeToStr بجای این خط :

WMI_Date:= StrToDate(Copy(WMITime,5,2) +'/'+ Copy(WMITime,7,2) +'/'+ Copy(WMITime,1,4));
خط زیر جایگزین بشه :

WMI_Date:= StrToDate(Copy(WMITime,1,4) +'/'+ Copy(WMITime,7,2) +'/'+ Copy(WMITime,5,2));
چرا ؟!
اینطوری فرمت تاریخ به هم میخوره و به عنوان تاریخ استاندراد شناخته نمیشه و موقع اجرا پیغام خطا داده میشه .

hossein_h62
یک شنبه 21 آذر 1389, 15:45 عصر
وقتی بصورت خط بالا باشه خطای تاریخ رو میداد.ولی بعد از اصلاح به خط دوم درست شد!
اشتباه میگم ؟! لطفا تست کنید.

Felony
یک شنبه 21 آذر 1389, 16:00 عصر
وقتی بصورت خط بالا باشه خطای تاریخ رو میداد.ولی بعد از اصلاح به خط دوم درست شد!
اشتباه میگم ؟! لطفا تست کنید.

احتمالا نحوه نمایش تاریخ تو سیستمتون رو دستکاری کردید و سیستم اون نوع فرمت بندی رو به عنوان تاریخ استاندارد میشناسه ، چون تاریخ میلادی به صورت سال / روز / ماه هست ولی کدی که شما بالا نوشتید ماه / روز / سال هست که حالت استانداردی نیست .

hossein_h62
یک شنبه 21 آذر 1389, 16:08 عصر
فرمت تاریخ توی سیستم من به شکل yyyy/mm/dd هستش. با اجرای برنامه اولیه خطای تاریخ رو داد که با اون کد اصلاحش کردم.
پس تنظیمات متفاوت تاریخ در Regional Setting توی این کد تاثیر داره!
مرسی

Felony
یک شنبه 21 آذر 1389, 16:15 عصر
فرمت تاریخ توی سیستم من به شکل yyyy/mm/dd هستش. با اجرای برنامه اولیه خطای تاریخ رو داد که با اون کد اصلاحش کردم.
پس تنظیمات متفاوت تاریخ در Regional Setting توی این کد تاثیر داره!
مرسی
اون فرمت بندی ، فرمت استاندارد تاریخ میلادی نیست .
در ضمن فقط توی این کد تاثیر نداره بلکه تو همه کدها تاثیر داره ، تنظیمات تاریخ و زمان و زبان تنضیماتی هستن که در ویندوز به صورت سراسری اعمال میشن ، اگر میخواین تو برنامتون این نوع مشکلات رو کنترل کنید میتونید توسط توابع ShortDateFormat و LongDateFormat از کتابخانه SysUtils فرمت فعلی تاریخ و زمان رو به دست بیارید و به وسیله روش های مختلفی مثل استفاده از تابع StringReplace تاریخ رو بر اساس فرمت ویندوز مرتب کنید و بعد ازش تو برنامتون استفاده کنید .

vcldeveloper
دوشنبه 22 آذر 1389, 01:43 صبح
اون فرمت بندی ، فرمت استاندارد تاریخ میلادی نیست .
تاریخ میلادی یک فرمت بندی استاندارد جهانشمول نداره، بلکه در مناطق مختلف، تاریخ میلادی به فرمت های مختلف نمایش داده میشه؛ بعضی اول ماه رو میارند بعدش روز، بعضی اول روز رو میارند، بعدش ماه، بعضی از / برای جداسازی استفاده می کنند، بعضی از -، بعضی هم از نقطه، و غیره.

به طور کلی، فرمت بندی تاریخ، به اون شکل که تصور کنید فرمت تاریخ ثابت هست، و همیشه مقدار سال، ماه، یا روز در فلان محل از رشته قرار داره، یا همیشه از فلان کارکتر برای جداسازی استفاده شده؛ یک کار کاملا اشتباه هست. نتیجه اش هم این میشه که در سیستم های مختلف با فرمت بندی های مختلف تاریخ، نرم افزار یا کار نمیکنه، یا بدتر از اون، داده غلط ارائه میکنه. در هر حال، بحثش به موضوع این تاپیک ارتباطی پیدا نمیکنه.

Mask
دوشنبه 22 آذر 1389, 15:40 عصر
با سلام
مشکل تاریخ رو هم منم دارم.
طبق صحبتهای آقای کشاورز چه کاری باید کرد که این مشکل هیچ کجا پیش نیاد؟

Felony
سه شنبه 23 آذر 1389, 06:22 صبح
با سلام
مشکل تاریخ رو هم منم دارم.
طبق صحبتهای آقای کشاورز چه کاری باید کرد که این مشکل هیچ کجا پیش نیاد؟
تو پست قبلیم توضیحات مختصری دادم !

vcldeveloper
سه شنبه 23 آذر 1389, 11:19 صبح
طبق صحبتهای آقای کشاورز چه کاری باید کرد که این مشکل هیچ کجا پیش نیاد؟


در هر حال، بحثش به موضوع این تاپیک ارتباطی پیدا نمیکنه.

----------------