با سلام
دوستان عزیز ممکن است به من بگویید: چطور می شود فایل را با برنامه نویسی در VFP کپی کرد و آن صفحه که هر چی کپی می شه ،پر میشه (همان طور که توی خود ویندوز کپی میکنیم) را هم نمایش بده؟
با تشکر
با سلام
دوستان عزیز ممکن است به من بگویید: چطور می شود فایل را با برنامه نویسی در VFP کپی کرد و آن صفحه که هر چی کپی می شه ،پر میشه (همان طور که توی خود ویندوز کپی میکنیم) را هم نمایش بده؟
با تشکر
میتوان فایل مورد نظر رو با fopen() بازکرده و بصورت مثلا 1کیلوبایت به 1 کیلوبایت فایل را read کرده و در مقصد مورد نظر write کرد و در این فرایند حالت روند کپی رو چه بصورت انیمیشن و یا تصویرهای ثابت نشون بدید .
البته در این روش بعضی از فایلها بعد از کپی اجرا نمیشن !! تا اونجایی که من تست کردم .
برای کپی کردن میتونید با fso یا همون file system object کار کنید. در مورد progressbar کدی ندارم که بهتون بدم ولی فکر نکنم خیلی سخت باشه
در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
************************************************** ******************************************
اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی
من روی این مسئله قبلا کار کرده بودم . اما نمی دونم چرا وقتی فایل جدید با همین توابع ایجاد شد خاصیتشو از دست داده بود . مثلا یه تصویر رو کپی کردم اما در فایل مقصد تصویر باز نمی شد .
من برای کپی یک فایل راهی پیدا نکردم (البته یکی از بچه ها گفته بود از توابع app ویندوز می شه) اما مثلا برای کپی چند فایل در برنامه هام (مثل پشتیبانگیری) اول حجم هر کدوم رو محاسبه مب کنم (adir) بعد میزان پیشرفت و نشون می دم .
حالا بازهم دوستان شاید نظرات دیگه داشته باشند
خواهشا دیگه شما نگید که ترجمه کنم چون 10 دقیقه طول کشید تا اینها رو جستجو کنم:
http://www.foxite.com/archives/how-t...0000079594.htm
اینم میتونه کمک کنه
http://www.foxite.com/archives/showi...0000080583.htm
وب سایت شخصی
وبلاگ آموزش ویژوال فاکس پرو - به دلیل تعطیل شدن میهن بلاگ نوشته های وبلاگ به وب سایت شخصی منتقل شدند.
با عرض سلام به همه !
برادر مهران عزیز شما و یا ان دوست گرامی بدون اینکه به فرمت فایل توجه کنید اقدام به ساختن یک فایل جدید کرده اید که این اشتباه است چون شا با دستورات سطح پایین فاکس مانند 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 در 07:46 صبح
تکه کد بالا که error میده .من می خوام ببینم که مثلا یک فایل dbf که 5000 رکورد داره ظرف چند ثانیه تو فایل دیگه کپی میشه.
اگه لطف کنید اون تکه کدی که تشخصی میده چند ثانیه طول میکشه رو بزارید ممنون میشم چون هرکاری میکنم نمیشه مرسی
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
بفرما
امیدوارم کارت رو راه بیندازه .
چگونه می توان عکس هارا از درون برنامه اسکن کرد و نمایش داد و در فایل اطلاعاتی ذخیره کرد
در مورد اسکن شما نیاز به OCX مربوط به اسکنر مدل مورد استفاده رو دارید که معمولا در
درایورهای دستگاه هست . البته کامپوننتهای عمومی اسکنر ممکنه اسکنر شمارو ساپورت نکنه !!
البته بعضی از اسکنرهای حرفه ای و داکیومنت OCX باهاشون نیست !
در مورد نمایش و ذخیره هم دقیقتر بفرمایید که چی میخواید
ببخشید ولی من هرکاری میکنم مقدار رو صفر برمیگردونه من میخوام اطلاعات موجود یک dbfرو به dbf دیگر کپی کنم وببینم چند ثانیه اینکار طول می کشه خدائیش موندم توش
بهتر نیست از دستورات scatter و append استفاده و با کمی کدنویسی در این بین نتیجه بگیرید!!
البته این یکی از روشهاست ! این کاری بسیار ساده است ولی روشهای دیگری هم هست !
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 در 08:04 صبح دلیل: [/code] از تگ مذکور استفاده کنید.
چه طوری می تونم حجم فایل رو در Vb.net بدست بیارم :(
جواب سوالتون رو از بخش وی بی دات نت بپرسید
در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
************************************************** ******************************************
اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی