ورود

View Full Version : برنامه پشتیبان گیری از اطلاعات



پدرخوانده
سه شنبه 20 دی 1384, 19:28 عصر
می خواستم برنامه ایی جهت پشتیبان گیری از اطلاعات (جداول و...) بنویسیم
با قابلیت های :
1 - تعیین مسیر ذخیره پشتیبان گیری
می توان از listbox با قابلیت تنظیم files برای بخش rowsourcetype استفاده کرد ولی دارای مشکلی است که متاسفانه با کلیک تغییر مسیر می دهد (معمولا در برنامه های مشابه با دابل کلیک اینکار انجام می شود) و دیگر اینکه مسیر جاری برنامه را تغییر می دهد (یعنی به هنگام انتخاب مسیر , مسیر جاری به مسیر انتخاب شده تغییر پیدا می کند) و دیگر اینکه برای اینکه فایل ها را نمایش ندهد یک پسوند آننرمال را به عنوان rowsource وارد کنیم تا اینگونه باشد
حال به دنبال یا رفع اشکال موارد فوق در ابزار فوق هستم و یا اینکه نمونه کد یا ... برای اینکار (نمایش مسیرها (درایو و شاخه ها) با قابلیت انتخاب و عدم تغییر مسیر جاری)

2 - می خواهم اطلاعات را فشرده کنم
برای این منظور مدیر محترم آقای حیدری کیا برنامه ای جهت این منظور در بخش قرار داده اند ولی متاسفانه نیازمند نصب برنامه winzip در سیستم می باشد
حال به دنبال نصب ضمیمه ای (dll یا ocx یا ...) جهت نصب به هنگام نصب اصلی برنامه هستم که دیگر نیازی به نصب برنامه winzip (منظور به صورت کامل هست ) نباشد و بهتر از این , آنکه از توابع api (در ویندوز xp موجود هست) برای اینکار استفاده شود و یا از ocx دیگری که بصورت کپی کردن در کنار برنامه اصلی یا شاخه ویندوز قابل اجرا باشد.
(البته یک نمونه تو سایت universalthread پیدا کردم ولی متاسفانه فایل اجرایی است و مناسب نیست)

3 - امکان رایت اطلاعات توسط رایتر
چگونه تشخیص دهیم که بر روی سیستم رایتر نصب است
و دیگر اینکه چگونه اطلاعات را رایت کنیم
(با معرفی دوست عزیز آقای حسینی (با اسم کاربر بی نیاز) موفق به پیدا کردن برنامه ای به این منظور شدم Data Burner ActiveX Control ولی متاسفانه ک شده نیست (دوستانی که ک آن را دارند ممنون می شم که بصورت پیام خصوصی آن را به بنده نیز بدهند) بدنبال ابزار رایگان یا ک برای اینکار هستم
(البته لازم به ذکر است که کراک آن (حتی برای نسخه شماره یک و شماره یک آن را دانلود کردم) نیز پیدا کردم ولی باز هم مشکل دارد (در اصل برنامه هم مشکل دارد چرا که اصلا رایتر را نمی شناسد)
البته راه حلی دیگری نیز دارد و آن اینکه از طریق خود ویندوز XP اینکار را انجام دهیم ولی حال چگونه مسیر موقت برای این کار را بدست آورم
(البته مسیر موقت آن را دارم (با جستجو در همین سایت) ولی چگونه به ویندوز دستور دهم آن را رایت کند)
(مسیر document and setting\username\local setting\application data\Microsoft\cdburning)
و البته برخی نیز برنامه nero را معرفی کرده اند که در یکی از بحثها معرفی شده بود ولی نیاز به یکسری کتابخانه و فایل جهت runtime برای اجرا دارند که معرفی نشده اند)
و البته یکی از دوستان (علیرضا وافی) نیز برنامه رایتر را از سایت دیگری معرفی کردند و البته ....)
و همچنین بحثهای بسیار دیگری ولی متاسفانه هیچ کدام به جواب قطعی نرسید (و البته شاید رسید بنده نتونستم به اون جواب دست پیدا بکنم) به هر ممنون میشم کسی دراین رابطه به جواب قاطع رسید ما را هم مطلع کند

با تشکر از دوستان

javad_hosseiny
چهارشنبه 21 دی 1384, 18:40 عصر
1 - برای مورد اول می تونید از تابع getdir استفاده کنید که بسیار مناسب است برای این منظور


lcNewPath = getdir("", "Path Data", "Choice a Path For BackUp", 64)

2 - برای مورد دوم نیز می تونید از ابزارهای
RSP GZip Compressor OCX
(http://www.downloadjunction.com/product/store/998/index.html)
http://www.downloadjunction.com/product/software/4/index2.html
و یا ابزار فشرده سازی Chilkat Zip ActiveX
http://www.chilkatsoft.com/downloads.asp
که راهنمایی و نحوه استفاده از آن در محیط ویژوال فاکس را نیز در آدرس زیر بدست آورید
http://www.example-code.com/foxpro/zip.asp
جهت کد ک نیز می تونید از سایت crackzplanet.com استفاده کنید

والبته ابزارهای دیگری همچون xzip
http://www.xstandard.com/page.asp?p=C9891D8A-5390-44ED-BC60-2267ED6763A7
و... نیز هستند

برای بدست آوردن مسیرهای خاص ویندوز نیز می تونید از طریق توابع api اینکار را انجام دهید
رجوع شود به
http://support.microsoft.com/default.aspx?scid=kb;en-us;194702

rezaTavak
پنج شنبه 22 دی 1384, 12:30 عصر
سلام

من یک فرم دارم که مخصوص این کار است. در اولین فرصت جمع و جورش می کنم و ارسال می کنم.

rezaTavak
پنج شنبه 22 دی 1384, 12:32 عصر
راستی راجع به رایت توی ویندوز نمی دونم چکار کنم. البته بهتر به کاربرتون بگید که خودش رایت کنه بهتره.

مگه حجم اطلاعاتون چقدره؟؟؟؟

پدرخوانده
پنج شنبه 22 دی 1384, 18:27 عصر
با تشکر از دوستان
حجم اطلاعات متغیر است (از حدود 2 مگابایت تا 200 مگابایت)
می خواهم این امکان در قسمت پشتیبان گیری باشد که کاربر بتواند اطلاعات را رایت کند
من اطلاعات را در مسیر موردنظر جهت رایت در ویندوز xp کپی کرده ام
حالا می خواهم بدانم چگونه می توانم به ویندوز xp دستور دهم که اطلاعات موجود در شاخه burn را رایت کند (فکر کنم یک فایل اجرایی یا یک کد api برای این منظور باشد)
و یا اینکه چگونه پنجره mycomputer را با توجه به نام درایو رایتر باز کنم که کاربر گزینه write these to cd را انتخاب کند (یعنی چطور نام درایو رایتر را پیدا کنم)
و دیگر اینکه چطور تشخیص دهیم روی سیستم رایتر هست (اکنون من از طریق تست وجود فولدر مربوطه document and setting\username\local setting\application data\Microsoft\cdburning اینکار را انجام میدهم )

alirezavafi
جمعه 23 دی 1384, 09:46 صبح
دوست عزیز برای رایت میتونی از اکتیو ایکس های data burner ( که با سمپل ویژوال فاکس پرو ش هست ) یا NTC Disk Maker استفاده کنی که هر دو تاش تو سایت www.softpedia.com (http://www.softpedia.com) هست.
( تو قسمت programming --> component and libraries )

javad_hosseiny
یک شنبه 25 دی 1384, 12:33 عصر
برنامه ای ساده جهت پشتیبان گیری از اطلاعات شما
با استفاده از فایل xzip.dll (البته دقت باید داشته باشید که dll باید در رجیستری ویندوز ثبت شود)
regsvr32 xzip.dll -s
(البته لینک های قبلی هم مناسب بودند ولی این یکی دیگه خیلی ساده است)

javad_hosseiny
یک شنبه 25 دی 1384, 13:10 عصر
اگر اصرار بر استفاده از قابلیت رایت خود ویندوز xp دارید این فایل dll می تونه کمک خوبی باشه
کافی است تا شیء با توجه به این dll ایجاد کنید
foo = CreateObject("BaydenBurn.XPBurn")
و سپس با استفاده از پارامترهای آن مسیر و نام درایو رایتر و آماده بودن آن را چک کنید
foo.Burnarea تعیین مسیر موقت موجود در ویندوز جهت آماده سازی اطلاعات جهت رایت
foo.BurnerDrive تعیین نام درایو رایتر
foo.Equipped آماده بودن رایتر
foo.AddFolder() انتقال فولدر به پوشه رایتر ویندوز
ffo.addfile() انتقال فایل به پوشه رایتر ویندوز
foo.BurnSize حجم اطلاعات آماده برای رایت
foo.LastError برگرداندن کد خطایی ایجاد شده جهت رایت (در صورت بروز خطا)
foo.StartBurn و نهایتا شروع عملیات رایت

shamim_41
سه شنبه 24 دی 1387, 00:41 صبح
اگر اصرار بر استفاده از قابلیت رایت خود ویندوز xp دارید این فایل dll می تونه کمک خوبی باشه
کافی است تا شیء با توجه به این dll ایجاد کنید
foo = CreateObject("BaydenBurn.XPBurn")
و سپس با استفاده از پارامترهای آن مسیر و نام درایو رایتر و آماده بودن آن را چک کنید
foo.Burnarea تعیین مسیر موقت موجود در ویندوز جهت آماده سازی اطلاعات جهت رایت
foo.BurnerDrive تعیین نام درایو رایتر
foo.Equipped آماده بودن رایتر
foo.AddFolder() انتقال فولدر به پوشه رایتر ویندوز
ffo.addfile() انتقال فایل به پوشه رایتر ویندوز
foo.BurnSize حجم اطلاعات آماده برای رایت
foo.LastError برگرداندن کد خطایی ایجاد شده جهت رایت (در صورت بروز خطا)

سلام استاد یک سوال داشتم من از برنامه شما یک فرم(2) ساختم که اون فرم از داخل یک فرم اصلی(1) که دارای منو هم هست اجرا می شه مشکل اینجاست که وقتی به تنهایی فرم(2) را اجرا می کنم عملیات رایت صورت می گیرد و هیچ مشکلی نیست ولی وقتی از فرم(1) فرم اول رو صدا میزنم هنگام رایت foo.StartBurn پنجره رایتر ویندوز میره زیر فرم اصلی فرم(1) مشکلم کجاست لطفا راهنمایی کنید. با تشکر

kia1349
سه شنبه 24 دی 1387, 15:55 عصر
اینم برنامه ای که من استفاده میکنم
البته باید winzip روی سیستم نصب باشه

shamim_41
سه شنبه 24 دی 1387, 17:23 عصر
سلام استاد
این برنامه خیلی جالبه با اجازه تون ازش تو برنامه ام استفاده می کنم ولی مشکل من حل نشد من می خوام از اطلاعات روی سی دی کپی بگیرم و این کار رو با dll جناب آقای حسین زاده انجام دادم مشکل اینجاست که فرم رایت ویندوز(پنجره رایت) رو میبره زیر فرم اصلی نشون میده می خواستم ببینم که آیا پارامتری داره که بشه فرم رو روی همه فرمها قرار بدیم مثل allways on top یا zorder یا با دستورات api با تشکر فراوان.

هادی-محمد
چهارشنبه 05 فروردین 1388, 09:28 صبح
اینم برنامه ای که من استفاده میکنم
البته باید winzip روی سیستم نصب باشه
با سلام
با تشكر از شما من از برنامه شما استفاده كردم ولي با توجه به انتخاب مسير ها هيچ كاري انجام نشد برنامه اعلام مي كند كه عمليات پايان يافته ولي هيچ كاري صورت نمي گيرد ضمنا winzip در رايانه نصب است لطفا راهنمائي بفرمائيد.