PDA

View Full Version : طراحی سوالات امتحانی با استفاده از دلفی



Mohammadi_F
چهارشنبه 23 خرداد 1386, 07:12 صبح
سلام
در مورد موضوعی که می خوام مطرح کنم قبلا چند تا تاپیک ایجاد شده و دوستانی هم نظراتشون رو گفتن ولی من هر چه گشتم تاپیکی رو پیدا نکردم که بالاخره جواب درست و حسابی اون طوری که من مبتدی بتونم بفهمم داده باشه. اینکه جسارتا یه تاپیک تازه گذاشتم و خواهش می کنم ساده جواب بدید.
من می خوام یه برنامه بنویسم که بتونه با استفاده از بانک سوالاتی که قبلا واردش کردیم ، نمونه سوالات امتحانی رو طراحی کنه.
البته این برنامه رو نوشتم و سوالات تستی و تشریحی رو بخوبی بصورت تصادفی یا انتخابی طراحی و آماده چاپ می کنه. اما مشکل من از اونجا شروع شد که به فکر سوالات درسهایی مثل ریاضی و فیزیک که بخشی از سوال رو فرمول و احیاناً شکل تشکیل میده نبودم.
چون من برای ذخیره سوالات و جواب های تستی و تشریحی آنها از فیلدهای متنی استفاده کردم که نمی شه از اونا برای ذخیره فرمول استفاده کرد.
توی اینترنت برنامه مشابهی رو دیدم که توی تبلیغش گفته بود که از نرم افزار Word برای ویرایش و چاپ سوالات استفاده می کنه.
ولی من هر کاری کردم نتونستم از کمپوننتهای بخش Server دلفی استفاده کنم. با توصیه یکی از رفقا فیلد های سوالات رو از نوع Ole Object تعریف کردم و سعی کردم برای ویرایش سوالات ، هر بار محتویات فیلد مورد نظر رو با استفاده از دستور FieldName.SaveToFile() در پوشه Temp
ویندوز ذخیره کنم و سپس آدرس این فایل رو به یک کمپوننت Ole Object نسبت بدم تا با دابل کلیک بر روی کمپوننت مذکور، فایل مورد نظر باز شده و پس از ویرایش، محتوایات فایل تمپ ایجاد شده را با استفاده از دستور FieldName.LoadFromFile() در فیلد مورد نظر ذخیره کنم. ولی در هر بار ویرایش فایل مورد نظر در موقع ذخیره آن ، نرم افزار Word
پیامی مبنی بر عدم سازگاری PlainText ظاهر شده و اینکه بایستی نحوه رمز گذاری فایل رو عوض کنم که با تایید پیشنهاد Word تمام اطلاعات داخل فایل از بین می رود و به حروف ژاپنی تبدیل می شود.
الان نمی دونم چیکار کنم چون تا حالا با اینگونه فیلدها کار نکردم .
به نظر شما راه حلی رو که انتخاب کردم درسته ، یا اینکه راه حل دیگه ای رو پیشنهاد می کنید.
ممنون.

Saeid59_m
چهارشنبه 23 خرداد 1386, 12:51 عصر
یه راه هم اینه که به وسیله Word و نرم افزار Word2PDF فایلهای سوالت رو PDF‌بسازی و فایل PDF رو توی بانک ذخیره کنی . اینطوری مشکل فونت هم نخواهی داشت

a_b_toops
چهارشنبه 23 خرداد 1386, 13:06 عصر
شما برای رفع مشکل سوال خود را در بانک ذخیره کن
برای ذخیره Ole


var
Mems:TMemoryStream;
begin
Mems:=TMemoryStream.Create;
OleContainer1.SaveToStream(Mems);
Mems.Position:=0;
ADODataSet1.Edit;
ADODataSet1pic.LoadFromStream(Mems);
ADODataSet1.Post;
Mems.Free;


برای بازیانی OLe


var
Mems:TMemoryStream;
begin
Mems:=TMemoryStream.Create;
ADODataSet1pic.SaveToStream(Mems);
Mems.Position:=0;
OleContainer1.LoadFromStream(Mems);
Mems.Free;

در ضمن نوع فیلد بانک خود را از نوع image در نظر بگیر

Mohammadi_F
جمعه 25 خرداد 1386, 03:54 صبح
ممنون از جواباتون، مشکلم حل شد.
راستی کسی از دوستان نمی دونه چه جوری میشه با کمپوننتهای Word بخش Server دلفی کار کرد. من که هر کاری کردم نشد که نشد. یعنی Word رو باز می کنه ولی نمی دونم چه جوری متن خاصی رو بهش ارسال کنم یا فایل خاصی رو بهش پاس بدم که محتویات اونو باز کنه و خلاصه اینکه هیچ کنترلی روش ندارم. اگه کسی منبعی ، مثالی ، چیزی میشناسه لطفا دریع نکنه.
ممنون.