مشخصات درایو ها

quantom

Member
سلام و تشکر از تمام دوستان بابت توجه و لطفشون
گشتم یکی دو مورد مثال در ارتباط با مشخصات درایو ها پیدا کردم که خیلی مورد نظر من نبود. می خواستم اگه امکان داره مثالی رو لطف کنید که در اون علاوه بر اینکه لیست درایو ها رو مشخص می کنه ،بشه برای هر درایو هم دستوری جداگانه نوشت.
http://forum.majidonline.com/newthread.php?do=newthread&f=83
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
میشه بیشتر توضیح بدین، منظورتون از "بشه برای هر درایو هم دستوری جداگانه نوشت" دقیقاً چی هست ؟
 

ubuntu

Member
کلاً تو اسکريپت نويسي يا برنامه نويسي يا ... چند مثال مي‌دن و ديگه مخلوط کردن اون‌ها با هم به عهده کاربره. اصلاً لذت نوشتن برنامه‌ها به همين مخلوط کردن. تو اين مثال بايد تو قسمت کامند انتخاب ايتم در ليست باکس کدي رو که مي‌خاين بنويسين. اين يکي از ساده ترين کدهاييه که مي‌تونين بنويسين. ابتدا به ليست باکس به اسم List درست کنيد. درايوها رو درش ليست کنين. بعد تو قسمت On selection کد ليست باکس اينو بنويسين:
کد:
ListBoxGetSelectedItems("List","SelItems$,SelItemsNum$")
Message("SelItems$","")
حالا اگه تو اين مثال رو درايو C کليک بشه پيغام حرف C رو نشون مي‌ده و به همين ترتيب اگه رو درايو D ...
 

peyman136

کاربر متخصص مولتی مدیا بیلدر
Drive sample : demo by peyman136

یه مثال برات میذارم امیدوارم کارت رو راه بندازه
این مثال تمام درایو های هاردت رو لیست میکنه (حتی اگه یه هارد جدید نصب کنی برنامه درایو های اون رو هم اضافه میکنه) که میتونتی خودت متناسب با نیازت هرجور که خواستی تنظیم کنی این مثالی که گذاشتم حجم کل ، حجم استفاده شده (به درصد و گیگ) ، نوار نشان دهنده درصد اسفاده شده از درایو و نوع درایو رو نشون میده بقیه چیزارم که دیگه خودت میتونی اضافه کنید
 

پیوست ها

  • drive sampel.rar
    401.9 کیلوبایت · بازدیدها: 91

quantom

Member
دوست گرامی

لطف کردید، اما این مثالی رو که گذاشتید درایو سی دی رو لیست نمی کنه .از طرفی شما با یک تازه کار در برنامه نویسی مواجه اید. زحمت بکشید مثال کامل تری بزارید؛اگه ممکنه!
 

peyman136

کاربر متخصص مولتی مدیا بیلدر
کامل تر ؟
قرار نیست که برنامت رو من بنویسم بعد تو قسمت About اسم خودت رو بذاری:wink:
اما در مورد درایو سیدی ها اگه دقت کرده باشی توی Script یه دستور شرطی وجود داره که نوع دراو ها رو فیلتر میکنه منظورم اینه :
کد:
  [color=#0000FF]If[/color] (get$=[color=#800000]'FIXED'[/color]) [color=#0000FF]Then[/color] 
    set$=[color=#800000]'Drive         '[/color]+getdrive$+[color=#800000]':\\'[/color] 
    [color=#000090][b]PluginSet[/b][/color]("PlugIn","set$") 
    [color=#000090][b]PluginRun[/b][/color]("PlugIn","AddItem") 
  [color=#0000FF]Else[/color]

اگه بخوای تمام درایوها از جمله سیدی و ... میتونی این کد رو پاک کنی و کد زیر رو جای گزین کنی :
کد:
set$=[color=#800000]'Drive         '[/color]+getdrive$+[color=#800000]':\\'[/color]  
    [color=#000090][b]PluginSet[/b][/color]("PlugIn","set$") 
    [color=#000090][b]PluginRun[/b][/color]("PlugIn","AddItem")
دقت کن که دقیقا همین خطوط را جای گزین خطوط دیگه بکنی وگر نه کار نمیکنه
 
آخرین ویرایش:

peyman136

کاربر متخصص مولتی مدیا بیلدر
این روش کلی اضافه کردن و فراخوانی تنظیمات درایو ها بود برای پیدا کردن تنظیمات دیگه از پلاگین های دیگه مثل Microbe استفاده کنی
 

quantom

Member
خیلی ممنونم ولی من در این پلاگین نتوانستم دستوری بنویسم که هنگام انتخاب یک درایو یک مسیج باکس باز شود.
بازم ممنون .دستتون درد نکنه
 

ubuntu

Member
شما از پلاگ اين درايو ها رو انتخاب نمي‌کني. بلکه تو همون ليست باکس mmb اون‌ها رو انتخاب مي‌کني. پلاگ‌اين فقط اسم درايو‌ها و مشخصات مربوط به اون‌ها رو مي‌گيره و شما مي‌تونين از توي اون فراخواني کنيد.
 

peyman136

کاربر متخصص مولتی مدیا بیلدر
خیلی ممنونم ولی من در این پلاگین نتوانستم دستوری بنویسم که هنگام انتخاب یک درایو یک مسیج باکس باز شود.
بازم ممنون .دستتون درد نکنه
توی مثال یه Script هستش به اسم EventHandler توی اون دستورات مربوط به لیست باکس نوشته شده و هر کاری بخوای میتونی انجام بدی مثلا اگه این کد رو به آخرش اضافه کنی هم نوع درایو رو توی محیط اصلی نشون میده و هم تو یه مسیج باکس
کد:
[color=#000090][b]Message[/b][/color]("Drive type","get$")
 
آخرین ویرایش:

quantom

Member
خیلی لطف کردید
از اطلاعات خوبتون استفاده کردم. قول می دم این سوال آخر باشه و بیشتر مزاحمتون نشم .با کد اخیر اگه بخوام از شرط If
استفاده کنم ،بر فرض بگم اگه روی درایو سی کلیک شد عکس شماره یک و اگه روی درایو دی کلیک شد عکس شماره دو
نمایش داده بشه و الی آخر ،کدش چطوری نوشته می شه؟
پیشاپیش ازلطف و توجهتون متشکرم.
 

peyman136

کاربر متخصص مولتی مدیا بیلدر
خیلی لطف کردید
از اطلاعات خوبتون استفاده کردم. قول می دم این سوال آخر باشه و بیشتر مزاحمتون نشم .با کد اخیر اگه بخوام از شرط If
استفاده کنم ،بر فرض بگم اگه روی درایو سی کلیک شد عکس شماره یک و اگه روی درایو دی کلیک شد عکس شماره دو
نمایش داده بشه و الی آخر ،کدش چطوری نوشته می شه؟
پیشاپیش ازلطف و توجهتون متشکرم.

کد زیر ساده ترین کدی هستش که میتونی بنویسی
این کد نام آیتم انتخاب شده شده و مشخص میکنه و اون رو با دستور شما چک میکنه اگه درست بود یه پیام میده و آیتم انتخابی رو اعلام میکنه من توی کد زیر D رو انتخاب کردم که اگه درایو D انتخاب شد پیام بده :
کد:
[color=#000090][b]PluginRun[/b][/color]("PlugIn","GetSelectedText") 
[color=#000090][b]PluginGet[/b][/color]("PlugIn","ItemText$") 
[color=#0000FF]If[/color] (ItemText$=[color=#800000]'D'[/color]) [color=#0000FF]Then[/color] 
  [color=#000090][b]Message[/b][/color]("The selected text is: ","ItemText$") 
[color=#0000FF]End[/color]
این کد رو به آخر EventHandler اضافه کن دقت کن اگه اسم آیتم D نباشه کد کار نمیکنه حتما باید توی لیست باکس اسم ایتم انتخابی D باشه
 

quantom

Member
متشکر و شرمنده
در مثال drive sampel کدی رو که فرمودید به آخر اسکریپت EventHandler به این صورت اضافه کردم آیا بجز این کد چیز دیگری هم نمی دانم آبجکتی یا ....باید اضافه میکردم اگر جواب منفی است پس لطفا بفرمایید ایراد من کجاست که مسیج باکس مورد نظر اجرا نمی شود . این هم کدها ....


PluginRun
("PlugIn","GetSelectedIndex")
PluginGet("PlugIn","SI")
si=SI+
2
set$=CHAR(si)
PluginSet("MiscY","set$")
PluginRun("MiscY","GetDrive")
PluginGet("MiscY","drive$")
**Message("","drive$")
set$=drive$+'|GB|total|'
PluginSet("MiscY","set$")
PluginRun("MiscY","GetDriveSpace")
PluginGet("MiscY","total$")
**Message("Size of free space at C in MB= ","total$")
set$=drive$+'|GB|USED|'
PluginSet("MiscY","set$")
PluginRun("MiscY","GetDriveSpace")
PluginGet("MiscY","free$")
**Message("Size of free space at C in MB= ","free$")
line=VAL(free$)/VAL(total$)
all=line*
100
all1=ABS(all)
all$=
'Free Space in drive D = '+CHAR(all1)+'%'
**Message("","all$")
MoveObject("Rectangle2","25,40,all1*2,14")
txt$=
CHAR(all1)+'%'
DisplayValue("Text4","txt$")
If (txt$<'50') Then
SetObjectParam("Text4","TEXTCOLOR=0,0,0")
Else
SetObjectParam("Text4","TEXTCOLOR=255,255,255")
End
set$=drive$
PluginSet("MiscY","set$")
PluginRun("MiscY","GetTypeOfDrive")
PluginGet("MiscY","get$")
DisplayValue("Text5","get$")
set$=drive$+
'|GB|FREE|'
PluginSet("MiscY","set$")
PluginRun("MiscY","GetDriveSpace")
PluginGet("MiscY","get$")
get$=
StrCopy(get$,1,4)
get$=get$+
' GB'
DisplayValue("Text7","get$")
set$=drive$+
'|GB|TOTAL|'
PluginSet("MiscY","set$")
PluginRun("MiscY","GetDriveSpace")
PluginGet("MiscY","get$")
get$=
StrCopy(get$,1,4)
get$=get$+
' GB'
DisplayValue("Text5","get$")
set$=drive$
PluginSet("MiscY","set$")
PluginRun("MiscY","GetTypeOfDrive")
PluginGet("MiscY","get$")
DisplayValue("Text","get$")
PluginRun("PlugIn","GetSelectedText")
PluginGet("PlugIn","ItemText$")
If (ItemText$='D') Then
Message("The selected text is: ","ItemText$")
End
 

quantom

Member
از دوستان کسی لطف میکنه به مشکل من یه نظری بندازه و یه راهنمایی کنه
 

ali guard

Member
شوما دقيقن ميخواهيد چ مشه خساتى از درايوى درايو بگيريد و بيشتر منظورت درايو ها سيدى هست يا هارد
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
وقتی شما از دستور GetSelectedText استفاده میکنید، پلاگین متن آیتم انتخاب شده در کامبو باکس رو بر میگردونه
و متن آیتم انتخاب شده هم تو این مثال به این فرمت هست:
"Drive D:\"
با این تفاسیر شما نمیتونید تو دستور شرطیتون از عبارت D استفاده کنید و در این روش باید تو شرطتون از عبارت "Drive D:\" استفاده کنید
 
آخرین ویرایش:

quantom

Member
ببینید من فقط می خوام اگه روی درایو C کلیک شد عکس شماره یک و اگه روی درایوD کلیک شد عکس شماره دو
نمایش داده بشه و و همینطور روی درایو های دیگه اگه کلیک شد یه عکس دیگه نمایش داده بشه.
ممنون میشم یکی زحمت تکمیل کردن مثال صفحه قبل( drive sampel.rar ) رو بکشه.

در ضمن جناب nevercom باتشکر از راهنمایی تون ،متاسفانه به نتیجه نرسیدم
 
آخرین ویرایش:

peyman136

کاربر متخصص مولتی مدیا بیلدر
ببینید من فقط می خوام اگه روی درایو C کلیک شد عکس شماره یک و اگه روی درایوD کلیک شد عکس شماره دو
نمایش داده بشه و و همینطور روی درایو های دیگه اگه کلیک شد یه عکس دیگه نمایش داده بشه.
ممنون میشم یکی زحمت تکمیل کردن مثال صفحه قبل( drive sampel.rar ) رو بکشه.

در ضمن جناب nevercom باتشکر از راهنمایی تون ،متاسفانه به نتیجه نرسیدم

یه جای کد قبلی از این کد استفاده کن ببین جواب میده ؟
کد:
[color=#0000FF]If[/color] (ItemText$=[color=#800000]'Drive         D:\\'[/color]) [color=#0000FF]Then[/color] 
  [color=#000090][b]Message[/b][/color]("The selected text is: ","ItemText$") 
[color=#0000FF]End[/color]
 

ali guard

Member
سلام دوستان من نمونة رو كامل كردم
هر وقت يك درايو اينتخاب كنيد يك عكس نيشون ميدو و يك ميساج بوكس ميگة شوما درايو مسلن dرو انتخاب كرديد
اگر دراوى ديگر انتخاب كنيد يك عكس ديكة وة مساج بوكس ديگة نيشون ميد اوميدوارم مشكيل دوستمون حل بشة
 

پیوست ها

  • drive sampel edit by ali guard.rar
    404.5 کیلوبایت · بازدیدها: 39

جدیدترین ارسال ها

بالا