نمایش نتایج 1 تا 18 از 18

نام تاپیک: کپی فایل با نمایش مقدار پیشرفت

  1. #1
    کاربر دائمی آواتار Esikhoob
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    Tehran
    پست
    277

    کپی فایل با نمایش مقدار پیشرفت

    با سلام
    دوستان عزیز ممکن است به من بگویید: چطور می شود فایل را با برنامه نویسی در VFP کپی کرد و آن صفحه که هر چی کپی می شه ،پر میشه (همان طور که توی خود ویندوز کپی میکنیم) را هم نمایش بده؟

    با تشکر


  2. #2
    میتوان فایل مورد نظر رو با fopen() بازکرده و بصورت مثلا 1کیلوبایت به 1 کیلوبایت فایل را read کرده و در مقصد مورد نظر write کرد و در این فرایند حالت روند کپی رو چه بصورت انیمیشن و یا تصویرهای ثابت نشون بدید .
    البته در این روش بعضی از فایلها بعد از کپی اجرا نمیشن !! تا اونجایی که من تست کردم .

  3. #3
    برای کپی کردن میتونید با fso یا همون file system object کار کنید. در مورد progressbar کدی ندارم که بهتون بدم ولی فکر نکنم خیلی سخت باشه
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  4. #4
    کاربر دائمی آواتار mehran_337
    تاریخ عضویت
    مهر 1384
    محل زندگی
    رشت
    پست
    1,305
    نقل قول نوشته شده توسط ali51prog مشاهده تاپیک
    میتوان فایل مورد نظر رو با fopen() بازکرده و بصورت مثلا 1کیلوبایت به 1 کیلوبایت فایل را read کرده و در مقصد مورد نظر write کرد و در این فرایند حالت روند کپی رو چه بصورت انیمیشن و یا تصویرهای ثابت نشون بدید .
    البته در این روش بعضی از فایلها بعد از کپی اجرا نمیشن !! تا اونجایی که من تست کردم .
    من روی این مسئله قبلا کار کرده بودم . اما نمی دونم چرا وقتی فایل جدید با همین توابع ایجاد شد خاصیتشو از دست داده بود . مثلا یه تصویر رو کپی کردم اما در فایل مقصد تصویر باز نمی شد .
    من برای کپی یک فایل راهی پیدا نکردم (البته یکی از بچه ها گفته بود از توابع app ویندوز می شه) اما مثلا برای کپی چند فایل در برنامه هام (مثل پشتیبانگیری) اول حجم هر کدوم رو محاسبه مب کنم (adir) بعد میزان پیشرفت و نشون می دم .
    حالا بازهم دوستان شاید نظرات دیگه داشته باشند

  5. #5
    مدیر بخش آواتار binyaz2003
    تاریخ عضویت
    آبان 1382
    محل زندگی
    کرمان
    سن
    35
    پست
    2,087
    خواهشا دیگه شما نگید که ترجمه کنم چون 10 دقیقه طول کشید تا اینها رو جستجو کنم:
    http://www.foxite.com/archives/how-t...0000079594.htm
    اینم میتونه کمک کنه
    http://www.foxite.com/archives/showi...0000080583.htm

  6. #6
    نقل قول نوشته شده توسط mehran_337 مشاهده تاپیک
    من روی این مسئله قبلا کار کرده بودم . اما نمی دونم چرا وقتی فایل جدید با همین توابع ایجاد شد خاصیتشو از دست داده بود . مثلا یه تصویر رو کپی کردم اما در فایل مقصد تصویر باز نمی شد .
    من برای کپی یک فایل راهی پیدا نکردم (البته یکی از بچه ها گفته بود از توابع app ویندوز می شه) اما مثلا برای کپی چند فایل در برنامه هام (مثل پشتیبانگیری) اول حجم هر کدوم رو محاسبه مب کنم (adir) بعد میزان پیشرفت و نشون می دم .
    حالا بازهم دوستان شاید نظرات دیگه داشته باشند
    با عرض سلام به همه !
    برادر مهران عزیز شما و یا ان دوست گرامی بدون اینکه به فرمت فایل توجه کنید اقدام به ساختن یک فایل جدید کرده اید که این اشتباه است چون شا با دستورات سطح پایین فاکس مانند FOPEN,Fcreat,Fseek می توانید یک فایل را باز کنید اما نوشتن در یک فایل مثلا EXEC,COM بدین صورت است که شما باید آدرس بارگذاری در حافظه در پشته های حافظه(SEGMENT,OFFSET) را نیز در نظر بگیرید و همچنین برای فایل های با فرمت JPG نیز باید HEADER FILE مورد نظر را تنظیم نمایید. البته مقوله کپی از یک فایل کاملا با این بحث متفاوت می باشد چون در این جا شما یک کپی از استراکچر فایل SOURCE خوانده و دقیقا با همان آدرسهای حافضه ای به جای دیگری انتقال می دهید.

    در مورد کپی یک فایل هم می توانید از تابع CopyFile در kernel32 استفاده نمایید.
    در مورد PROGRESS BAR هم یک کلاس خیلی با حال هم هستش که با WIn32API کا میکنه هم معمولی اش هست و هم ترمومترش هست فقط کافی توبرنامه مثل کد زیر صداش کنی!

    LOCAL loTherm, lcTask, lnPercent, lnSeconds
    loTherm = NewObject("_thermometer",HOME()+"ffc\_therm","",'' )
    lcTask =''
    WITH loTherm
    .Show()
    FOR i = 1 TO THIS.Parent.spnDuration.Value
    lnPercent = m.i/
    THIS.Parent.spnDuration.Value*100
    .Update(lnPercent, lcTask+" "+TRANS(lnPercent))
    lnSeconds = SECONDS()
    DO WHILE
    lnSeconds+1>SECONDS()
    ENDDO
    ENDFOR
    .Complete()
    ENDWITH

    ببخشید دیگه چپ و راست دیگه وقت نشد SCRIPT کنم!
    امیدوارم میسر باشد.
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله rezaTavak : یک شنبه 03 تیر 1386 در 08:46 صبح

  7. #7
    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    با عرض سلام به همه !
    برادر مهران عزیز شما و یا ان دوست گرامی بدون اینکه به فرمت فایل توجه کنید اقدام به ساختن یک فایل جدید کرده اید که این اشتباه است چون شا با دستورات سطح پایین فاکس مانند FOPEN,Fcreat,Fseek می توانید یک فایل را باز کنید اما نوشتن در یک فایل مثلا EXEC,COM بدین صورت است که شما باید آدرس بارگذاری در حافظه در پشته های حافظه(SEGMENT,OFFSET) را نیز در نظر بگیرید و همچنین برای فایل های با فرمت JPG نیز باید HEADER FILE مورد نظر را تنظیم نمایید. البته مقوله کپی از یک فایل کاملا با این بحث متفاوت می باشد چون در این جا شما یک کپی از استراکچر فایل SOURCE خوانده و دقیقا با همان آدرسهای حافضه ای به جای دیگری انتقال می دهید.

    در مورد کپی یک فایل هم می توانید از تابع CopyFile در kernel32 استفاده نمایید.
    در مورد PROGRESS BAR هم یک کلاس خیلی با حال هم هستش که با WIn32API کا میکنه هم معمولی اش هست و هم ترمومترش هست فقط کافی توبرنامه مثل کد زیر صداش کنی!

    LOCAL loTherm, lcTask, lnPercent, lnSeconds
    loTherm = NewObject("_thermometer",HOME()+"ffc\_therm","",'' )
    lcTask =''
    WITH loTherm
    .Show()
    FOR i = 1 TO THIS.Parent.spnDuration.Value
    lnPercent = m.i/
    THIS.Parent.spnDuration.Value*100
    .Update(lnPercent, lcTask+" "+TRANS(lnPercent))
    lnSeconds = SECONDS()
    DO WHILE
    lnSeconds+1>SECONDS()
    ENDDO
    ENDFOR
    .Complete()
    ENDWITH



    ببخشید دیگه چپ و راست دیگه وقت نشد SCRIPT کنم!
    امیدوارم میسر باشد.
    سلام
    شیری جان : ما که تو احوالات شما ماندیم , گاهی اوقات از یک دوازه رد نمیشی و گاهی از یک سوراخ سوزن رد میشی
    از لطفتون متشکریم .

  8. #8
    تکه کد بالا که error میده .من می خوام ببینم که مثلا یک فایل dbf که 5000 رکورد داره ظرف چند ثانیه تو فایل دیگه کپی میشه.

  9. #9
    نقل قول نوشته شده توسط ashkan_gorg مشاهده تاپیک
    تکه کد بالا که error میده .من می خوام ببینم که مثلا یک فایل dbf که 5000 رکورد داره ظرف چند ثانیه تو فایل دیگه کپی میشه.
    اصلا چه لزومیه شما از توابع سطح پائین استفاده کنید با فرمان append from و یا رهکارهای ابتکاریه دیگه این کار رو بکنید که با اندکی حوصله میتونید براش نوار پردازش و حتی مدت زمان انجام کار رو بزنید من اینکار رو کردم خیلی راحتر از توابع سطح پائینه.!

  10. #10
    اگه لطف کنید اون تکه کدی که تشخصی میده چند ثانیه طول میکشه رو بزارید ممنون میشم چون هرکاری میکنم نمیشه مرسی

  11. #11
    نقل قول نوشته شده توسط ashkan_gorg مشاهده تاپیک
    اگه لطف کنید اون تکه کدی که تشخصی میده چند ثانیه طول میکشه رو بزارید ممنون میشم چون هرکاری میکنم نمیشه مرسی
    lenx_ = 500
    stime = SECONDS()
    currecjar = 1

              IF INT(currecjar / say_t2) =currecjar / say_t2
    etime = SECONDS()
    timeekh = etime - stime
    tsep = INT(timeekh)
    tbag = INT((endx_ -currecjar) *timeekh /currecjar)
    th1 = INT(tsep / 3600)
    tmx = (tsep - (th1/3600))
    tm1 = INT(tmx / 60)
    ts1 = INT(tmx - (tm1 * 60))
    th2 = INT(tbag / 3600)
    tmx = (tbag - (th2 * 3600))
    tm2 = INT(tmx / 60)
    ts2 = INT(tmx - (tm2 * 60))
    thisformset.pardazesh.z_s_sh.Caption=STR(th1,2) +":" +STR(tm1,2) +":" +STR(ts1,2)
    thisformset.pardazesh.z_b_m.Caption= STR(th2,2) +":" +STR(tm2,2) +":" +STR(ts2,2)
    ENDIF

    بفرما
    امیدوارم کارت رو راه بیندازه .

  12. #12
    چگونه می توان عکس هارا از درون برنامه اسکن کرد و نمایش داد و در فایل اطلاعاتی ذخیره کرد

  13. #13
    در مورد اسکن شما نیاز به OCX مربوط به اسکنر مدل مورد استفاده رو دارید که معمولا در
    درایورهای دستگاه هست . البته کامپوننتهای عمومی اسکنر ممکنه اسکنر شمارو ساپورت نکنه !!
    البته بعضی از اسکنرهای حرفه ای و داکیومنت OCX باهاشون نیست ‍‍!
    در مورد نمایش و ذخیره هم دقیقتر بفرمایید که چی میخواید

  14. #14
    ببخشید ولی من هرکاری میکنم مقدار رو صفر برمیگردونه من میخوام اطلاعات موجود یک dbfرو به dbf دیگر کپی کنم وببینم چند ثانیه اینکار طول می کشه خدائیش موندم توش

  15. #15
    بهتر نیست از دستورات scatter و append استفاده و با کمی کدنویسی در این بین نتیجه بگیرید!!


  16. #16
    نقل قول نوشته شده توسط ashkan_gorg مشاهده تاپیک
    ببخشید ولی من هرکاری میکنم مقدار رو صفر برمیگردونه من میخوام اطلاعات موجود یک dbfرو به dbf دیگر کپی کنم وببینم چند ثانیه اینکار طول می کشه خدائیش موندم توش
    البته این یکی از روشهاست ! این کاری بسیار ساده است ولی روشهای دیگری هم هست !

    SELECT test
    GO TOP
    SELECT paitent
    GO TOP
    SaveSec=SECONDS( )

    DO WHILE !EOF()
    SELECT paitent
    SCATTER MEMO MEMVAR

    SELECT test
    APPEND BLANK
    GATHER MEMVAR MEMO
    SKIP

    SELECT paitent
    SKIP

    ENDDO

    SaveSec=SECONDS()-Savesec
    ?SaveSec
    آخرین ویرایش به وسیله rezaTavak : دوشنبه 04 تیر 1386 در 09:04 صبح دلیل: [/code] از تگ مذکور استفاده کنید.

  17. #17
    کاربر تازه وارد آواتار steghlalt
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    مشهد
    سن
    34
    پست
    77
    چه طوری می تونم حجم فایل رو در Vb.net بدست بیارم :(

  18. #18
    جواب سوالتون رو از بخش وی بی دات نت بپرسید
    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •