PDA

View Full Version : توضیح در امورد این تکه کد



daniyal_1363
جمعه 19 خرداد 1391, 18:12 عصر
سلام

میخواستم بدونم کسی هست که این تکه کد رو توضیح بده




For Each pp1 In GetObject("winmgmts:").InstancesOf("Win32_PerfRawData_Spooler_PrintQueue")
List1.AddItem pp1.Name
Next pp1




و اینکه معادل های این کد چی هست ؟

چطوری میشه بدون استفاده از حلقه for از Object هاش استفاده کرد ؟

خلاصه یه توضیح کلی میخوام

ممنون

محسن واژدی
جمعه 19 خرداد 1391, 18:52 عصر
سلام
میتواند پرینترهای نصب شده را لیست کند،
کد زیر هم پرینترهای موجود را لیست میکند:

Private Sub Command1_Click()
Dim X As Printer
For Each X In Printers
List1.AddItem X.DeviceName
Next
End Sub

موفق باشید

daniyal_1363
شنبه 20 خرداد 1391, 09:52 صبح
ممنون ولی این کد رو قبلاً دیدم و قابل استفاده برای من نیست

چون من میخوام از قسمت "pp1.TotalPagesPrinted" استفاده کنم

در اصل میخوام به تعداد پرینت یک پرینتر که در Clinet هستش دسترسی داشته باشم (پرینتری که از سرور share شده باشه)

این کد تعداد کل برگه های پرینت شده هر پرینتر رو از زمان روشن شدن ویندوز میگه - ولی فقط پرینترهای نصب شده نه پرینترهای Share شده




For Each pp1 In GetObject("winmgmts:").InstancesOf("Win32_PerfRawD ata_Spooler_PrintQueue")
List1.AddItem pp1.Name & " --- " & pp1.TotalPagesPrinted
Next pp1





حالا من میخوام تعداد برگ های پرینت شده از پرینترهای Share شده رو بدونم البته روی سیستم Clinet

daniyal_1363
سه شنبه 23 خرداد 1391, 20:55 عصر
کسی بلد نیست توضیح بده در این مورد ؟
یه توضیح کامل :گریه::ناراحت:

_behnam_
چهارشنبه 24 خرداد 1391, 16:46 عصر
سلام
مقدار pp1 توی حلقه For Each پر میشه!!
حالا شما چطور میخوای بدون اینکه مقدار بهش بدی ازش استفاده کنی؟!

meys34
چهارشنبه 24 خرداد 1391, 18:32 عصر
ببینید دوست عزیز شما یه تاپیک دیگه هم درست کرده بودید.... اونجا تقریبا جواب گرفتید... اینجا سوالتون واضح نیست و تاپیک هم هی کش پیدا میکنه....

http://barnamenevis.org/showthread.php?300180-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-%DA%86%D8%A7%D9%BE%DA%AF%D8%B1-%D9%87%D8%A7%DB%8C-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85

مشکل شما دقیقا چیه؟ به خدا همه ما تلاش میکنیم سوالاتون رو پاسخ بدیم اما در خیلی موارد جواب درستی که شما انتظار دارید وجود نداره حتی اگر خود ما هم بخوایم همچین کاری انجام بدیم نمیشه...

ببینید یه راه حل عملی وجود داره که توی دانشگاه ما داره اجرا میشه ... برای محاسبه پول چاپ هر صفحه... به این ترتیب که یه برنامه روی تمام کامپیوتر های سایت نصب کردن(که اسم اون برنامه رو الان یادم نیست رفتم دانشگاه اسمشو براتون میارم) ... این برنامه با توجه به شماره دانشجویی و مبلغی که قبلا به ادمین سایت دادیم اجازه پرینت رو به ما میده...
(احتمالا روشش هم اینه که کاربر پرینت رو میفرسته روی اون برنامه ...اون برنامه هم پرینت رو میفرسته روی سرور... سرور بعد از کسر قیمت، خودش پرینت میگیره...)
اما اگر شما باز هم اصرار دارین برنامه ای روی یوزها اجرا نشه دیگه کار خیلی سخت میشه...

با این حال عضو فعال و گرامی سایت اگر زیاد تند روی کردم ببخشید منو:بوس:

daniyal_1363
شنبه 27 خرداد 1391, 17:01 عصر
مشکل شما دقیقا چیه؟ به خدا همه ما تلاش میکنیم سوالاتون رو پاسخ بدیم اما در خیلی موارد جواب درستی که شما انتظار دارید وجود نداره حتی اگر خود ما هم بخوایم همچین کاری انجام بدیم نمیشه... :

ممنون که توجه کردی دوست عزیز ولی هر کس به اندازه توانش ،منم اگه جایی سوالی دیدم که جوابشو بدونم دریغ نمیکنم و جواب میدم مطمئن باش، بهتر این مسائل رو رها کنیم و به بحث اصلی بپردازیم




ببینید یه راه حل عملی وجود داره که توی دانشگاه ما داره اجرا میشه ... برای محاسبه پول چاپ هر صفحه... به این ترتیب که یه برنامه روی تمام کامپیوتر های سایت نصب کردن(که اسم اون برنامه رو الان یادم نیست رفتم دانشگاه اسمشو براتون میارم) ... این برنامه با توجه به شماره دانشجویی و مبلغی که قبلا به ادمین سایت دادیم اجازه پرینت رو به ما میده...
(احتمالا روشش هم اینه که کاربر پرینت رو میفرسته روی اون برنامه ...اون برنامه هم پرینت رو میفرسته روی سرور... سرور بعد از کسر قیمت، خودش پرینت میگیره...)
اما اگر شما باز هم اصرار دارین برنامه ای روی یوزها اجرا نشه دیگه کار خیلی سخت میشه...
:

اتفاقاً من میخوام که برنامه روی Clinet ها در حال اجرا باشه و تعداد پرینت رو بگه

اگه توجه کرده باشن کد قبلی روی سیستم که اجرا میشه تعداد برگ پرینت شده رو میگه البته فقط تعداد پرینت پرینتر هایی که متصل به همون سیستم باشه نه پرینترهایی که از روی یک سیستم دیگه Share شده باشه

من میخوام تعداد پرینت یک پرینتر که از یک سیستم دیگه Share شده روی سیستم خودم رو بدونم ؟

اینکه پرینت ها قبل از اینکه به پرینتر اصلی برسه از پرینتر نرم افزار ما عبور کنه تا محاسبه بشه راه بسیار درست و بجایه ولی مسئله درست همین جاست که چه جوری این کار رو انجام بدیم ؟

چون قبلاً به نتیجه ای در این مورد نرسیدیم خودم دست به کار شدم تا اطلاعات کاملی در این زمینه بدست بیارم و مشکل رو حل کنم برای همین میخوام در مورد این تکه کد به صورت کامل بدونم ؟

daniyal_1363
سه شنبه 30 خرداد 1391, 20:40 عصر
یعنی کسی واقعاً نمیدونه این کد چه جوری عمل میکنه ؟

daniyal_1363
دوشنبه 15 آبان 1391, 22:37 عصر
سلام

جه خوب که من هنوز نا امید نشدم و منتظر جوابم تا بلاخره مشکل خیلی ها رو حل کنم