PDA

View Full Version : برنامه آزمونگیر



فاطمه وطن دوست
یک شنبه 26 آبان 1387, 09:16 صبح
یک برنامه آزمونگیر با امکانات زیر قراره نوشته بشه .

یک سرور داریم که منبع سوالات میباشد ؛ pc هایی(کلاینت هایی) که هنرجویان برای دادن امتحان از آنها استفاده میکنند.
تایم امتحان 60 دقیقه و تعداد سوالات 100 مورد میباشد .
نکته : تعداد سوالات در هر درس ثابت است.
مثلا به شرح ذیل :
اکسس = 10
اکسل = 20
ورد = 30
شبکه =10
و..............

هر بار که آزمون برگزار میشود ، سیستم به طور خودکار یک سری سوالات را از بانک اطلاعاتی به صورت رندوم (تصادفی ) انتخاب میکند و در اختیار هنرجویان قرار میدهد ، زمانیکه دکمه شروع توسط فرد آزمونگیر زده میشه ، سوالات برای هنرجویان به نمایش
در می آید و سرور هم شروع به تایم انداحتن میکنه ؛بعد از اتمام وقت امتحان تمام سیستم ها به طور خودکار قفل شده و در نهایت هم سیستم با توجه به کلید سوالات نتیجه ی امتحان را برای هر pc با زدن دکمه محاسبه ، اعلام کند.

_______مواردی که برای من مجهوله اینه

1- برای قفل شدن هر pc بعد از اتمام وقت امتحان باید از چه ابزار یا دستوری در ویبی استفاده کرد؟

2- چطوری برنامه آزمونگیر به تک تک کلاینتها دسترسی پیدا کنه و به کاربران نمره بده ؟

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

مهران رسا
یک شنبه 26 آبان 1387, 09:51 صبح
1- برای قفل شدن هر pc بعد از اتمام وقت امتحان باید از چه ابزار یا دستوری در ویبی استفاده کرد؟
به صورت خیلی ساده ، یک فرم Full Screen بساز و در یک Timer اونو On Top کن .


2- چطوری برنامه آزمونگیر به تک تک کلاینتها دسترسی پیدا کنه و به کاربران نمره بده ؟
قرار نیست سرور به کلاینت ها درخواستی بفرسته . این کلاینت ها هستن که پس از اتمام زمان ، لیست پاسخ ها رو برای سرور ارسال می کنند .


باید از چه ابزاری استفاده کنم و به کدوم سرفصل از ویبی رجوع کنم؟
کنترل Winsock -
کلمات کلیدی : برنامه نویسی Socket// سوکت نویسی // Socket Programming // برنامه نویسی شبکه

l3ai3ak
یک شنبه 26 آبان 1387, 09:57 صبح
برای قفل کردن از API و تابع BlokInput می تونی استفاده کنی


Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Activate()
DoEvents
'block the mouse and keyboard input
BlockInput True
'wait 10 seconds before unblocking it
Sleep 10000
'unblock the mouse and keyboard input
BlockInput False
End Sub


و برای آزمونگری از DATABase استفاده کن به شکلی که هر کلاینت جوابهای خودش رو با ID مخصوص خودش به سرور Post کنه و نتایج رو سرور بررسی کنه در این شکل وقتی که پاسخ سوالات پست بشه دیگر لازم نیست اینترفیس های رو قفل کنی .