آموزش ویژوال بیسیک

 
امکانات File System Object
نویسنده : اشکان عطایی - ساعت ٢:۱٦ ‎ب.ظ روز یکشنبه ۱ شهریور ۱۳۸۸
 

67 . آشنایی با امکانات  file system object (fso)    : برای کار بر روی پوشه ها و فایها  از قبیل ساختن فایل یا فولدر و یا حذف آنها و  یا جابجایی آنها و یا کپی کردن آنها میتوان استفاده کرد . که بصورت زیر میباشد :

1 .   copy file   و    copy folder   با این متدها میتوانیم یک چند فیل و یا پوشه را از محلی  به محل دیگر کپی کنیم  . ساختار کلی  و استفاده این دو متد به صورت زیر میباشد :

 

بهتره با یک مثال ساده شروع کنیم  میخواهیم  یک عکس بنام  اشکان که در درایو d   قرار داره  رو به داخل درایو  f    در پوشه ای بنام  a   کپی کنیم  به صورت زیر عمل میکنیم :  

یک دکمه داخل یه فرم اضافه کنید  و کپشن اون رو بنویسید کپی فایل  و نام دکمه رو در قسمت  name   بزارید   cmdcopy    حالا روی دکمه دو بار کلیک کرده و دستورات دکمه رو بصورت زیر مینویسیم :

 

Private Sub cmdcopy_Click()

Set  f = CreateObject("scripting . filesystemobject")

F . copyfile  "d:\ashkan.jpg" , "f : \a\"

End Sub

برای کپی کردن پوشه  بجای  copyfile   بنویسید  copyfolder   بصورت زیر :

پوشه ای بنام  b   در درایو d   به داخل پوشه ای بنام a   در درایو  f   کپی میشود.

 

Private Sub cmdcopy_Click()

Set  f = CreateObject("scripting . filesystemobject")

F . copyfolder "d : \b" , "f : \a\"

End Sub

 

 

 2 . متد  createfolder   از این متد برای ایجاد یک پوشه  استفاده میشود  بصورت زیر :

یک پوشه بنام  x   در داریو  f   ساخته میشود.

 

Private Sub cmdcreatefolder_Click()

Set  f = CreateObject("scripting . filesystemobject")

F . createfolder "f :\x\"

End Sub

با اضافه کردن یه حلقه  for   میتونیم پوشه به تعداد زیاد ایجاد کنیم :

 

 

Private Sub cmdcreatefolder_Click()

Set  f = CreateObject("scripting.filesystemobject")

For  i = 1  To  10

F . createfolder "f : \x\" & str( I )

Next  i

End Sub

 

3 . متد   createtextfile    از این متد برای ساخت فایل استفاده میشود  بصورت زیر :

در مثال زیر یک فایل متنی با نام   ashkan   در پوشه ای بنام  a    در درایو  f     ساخته میشود  با محتویات متنی     Hello    - در مثال زیر به  طرز استفاده از متد دقت کنید :

 

Private Sub cmdcreatefile_Click()

Set  f = CreateObject("scripting . filesystemobject")

Set  x = f.createtextfile( " f:\a\ashkan.txt " , true)

X . writeline ( " Hello ")

x . Close

End Sub

 

حالا  یه حلقه   for     به برنامه اضافه کنید  و بجای   writeline    بنویسید  write   ببینید چه اتفاقی رخ میده :

 

Private Sub cmdcreatefile _ Click()

Set  f = CreateObject("scripting.filesystemobject ")

Set  x = f . createtextfile( " f :\ a\ ashkan.txt " , True)

For  i = 1  To  50

x.write ( "  Hello " )

Next  i

X . Close

End Sub

 

4 . متد   deletefile    و  deletefolder    برای پاک کردن فایل یا پوشه بکار میرود و ساختار آن بصورت زیر میباشد :

 

Private Sub cmddeletefile_Click

Set  f = CreateObject( " scripting.filesystemobject " )

F . deletefile " f:\a\ashkan.txt "

End Sub

 

برای استفاده از متد  deletefolder  بصورت زیر :

 

Private Sub cmddeletefolder_Click()

Set  f = CreateObject( " scripting . filesystemobject " )

F . deletefolder  " f:\a\z "

end sub

 


 
comment نظرات ()
 
 
کاربرد متد TextWidth
نویسنده : اشکان عطایی - ساعت ۱۱:۱٢ ‎ب.ظ روز شنبه ٢٠ تیر ۱۳۸۸
 

 

66 . برنامه ای بنویسید که از متد   TextWidth     استفاده شده باشد و توسط آن اندازه فونت متن برای  چاپ نوشته بکار رود ؟

 

روش نوشتن برنامه  به این صورت است  که :

1 . رنگی برای نوشتمون در نظر میگیریم.

2 . یک متغیر برای ذخیره متن ورودی در نظر میگیریم .

3 . سایز متن را تعیین میکنیم.

4 . مختصات قرار گیری متن مان را روی فرم تعیین میکنیم ( از ارتفاع و عرض فرم )  میخوام درست در وسط فرم چاپ بشه.( میتونید هر کجا دوست دارید تعیین کنید )

5 . توسط   currentx    و   currenty    مختصات افقی و عمودی برای چاپ متن تعیین میکنیم .

6 . چاپ متن.

 

 

 Private Sub Command1_Click ()

 ForeColor = QBColor(13)

 x = Text1.Text

 FontSize = Val(Text2.Text)

 wi =  TextWidth(x)  /  2

 hei =  TextHeight(x)  /  2

 If    wi > hei    Then   l = hei   Else   l = wi

 CurrentX = ScaleWidth   /   2   -  wi

 CurrentY = ScaleHeight   /   2   -   hei

 Print   x

 End Sub

 


 
comment نظرات ()
 
 
کاربرد متد Circle برای رسم دایره یا بیضی
نویسنده : اشکان عطایی - ساعت ۱٠:٥٤ ‎ب.ظ روز شنبه ۱۳ تیر ۱۳۸۸
 

65 . میخواهیم یک برنامه بنویسیم که دایره یا بیضی با سه رنگ اصلی  RGB     ( قرمز- سبز – آبی )  رسم کند ؟

  -- برای این کار باید از متد   Scale    استفاده کنیم -- هر شیء دارای چندین خصوصیت  Scale     هست  مثل : scalewidth ,   scaleheight , scale top )    ( scalemode , scaleleft ,   که برای تعریف سیستم مختصات بکار میروند.

 برای درست متوجه شدن موضوع بهتره با کدنویسی و دست کاری در کد های نوشته شده  این کار را انجام بدیم  تا متوجه کار هر کدام از دستورات بشیم . با یه خورده دقت در کد --- متوجه کار اون  در هر خط از کدنویسی میشیم.

 

دستورات را میتونید در رویداد کلیک فرم  و یا  مثل من اگه دوست داشته باشید که  مثل یک رقص نور ساده عمل کند – دستورات را داخل یک تایمر بنویسید ( من از  دو کنترل تایمر استفاده کردم برای زیبایی کار ).

 

 Private Sub Timer1_Timer()

 ScaleMode = 1

 x = ScaleWidth / 2

 y = ScaleHeight / 2

 If x > y Then l = y Else l = x

 For i = 0 To l

 Circle (x, y), i, RGB(Rnd * 255, Rnd * 255, Rnd * 255), , , 2

 Next i

 End Sub

 

 Private Sub Timer2_Timer()

 ScaleMode = 1

 x = ScaleWidth / 2

 y = ScaleHeight / 2

 l = x

 For i = 0 To l

 Circle (x, y), i, RGB(Rnd * 255, Rnd * 255, Rnd * 255), , , 0.5

 Next i

 End Sub

 حالا  عدد جلوی   Scalemode   را تا عدد  7   یکی یکی تغییر بدید و نتیجش رو ببینید .اگر اعداد (, , , 2 )     و همچنین عدد   (, , , 0.5 )     رو نزاریم شکل ما از بیضی به دایره تبدیل میشه . شما  اعداد مختلف رو بزارید و نتیجش رو مشاهده کنید.   و با متد   Circle    میتوان دایره یا بیضی رسم کرد . متغییر های   X,Y     مرکز دایره را مشخص میکند. و   L     یک متغییر کمکی است . و متغییر  I    که در حلقه استفاده شده  شعاع دایره را تعیین میکند .

 

 


 
comment نظرات ()