مشاهده نسخه کامل
: ثبت اطلاعات در دلفی
با سلام خدمت بچه های p30world
دوستان من یک برنامه طراحی کردم که کارش تست زنی هستش
حالا من فعلا این اطلاعات منظورم سوالات و جواب ها رو توی رجیستری ذخیره میکنم
اما این کارم چند تا مشکل ایجاد میکنه
1. امنیت سوالات و جوابهام پایین میاد
2. ممکنه رجیستری رو دچار اختلال کنه
3. مهمتراز همه اگه کسی سوالات رو نوشت نمی تونه ببره پیش کسی دیگه ای که اون ازش استفاده کنه (چون سوالات توی رجیستری ثبت شده نه در جدولی ، دیتابیسی و غیره) و میخوام برنامه ام به تمام دنبا بره به جز آمریکا و اسراِییل ( چون تحریمشون کرده ام) :27:
حالا دوستان میخواستم بدونم از چه راه هایی میشه این مشکلم رو رفع کنم ( از راه هوایی ، زمینی ، دریایی)
حتما میخواین بگین دیتابیس هان
اگه دیتابیس باشه من میتونم اطلاعات رو از طریق ( مثلا Edit) وارد دیتابیس کنم اما نمی دونم میشه اطلاعات رو از دیتابس ( مثلا به Label یا Radiobutton) برگردونم
اگه بشه این جوری چطور میتونم بفهمم که کاربر کدوم گزینه رو جواب صحیح قرار داده ( از طریق رجیستری من این کار رو انجام داده ام تونستم بفهمم که کاربر کدوم گزینه رو جواب صحیح قرار داده )
سلام
نظر من اینه که سوالات رو توی دیتا بیس بزاری ولی جواب ها(گزینه صحیح الف،ب،ج،دبرای هر سوال) رو توی یه فایل از نوع رکورد با فرمت مخصوصی ذخیره کنی.طوری که فقط برنامه خودت بتونه اون رو بخونه.
یه نوع رمز گذاری میشه.
F A R H A D
27-10-2007, 22:56
سلام. نظر من هم همینه که توی دیتابیس ذخیره کنی. حتی جواب ها رو.
فرض کنیم شما برای هر سوال، 4 انتخاب داشته باشی (4 فیلد)، ا فیلد برای سوال، 1 فیلد برای پاسخ صحیح و فیلد آخر هم پاسخ کاربر.
تنها کاری هم که برای امنیت باید انجام بدی اینه که فیلد پاسخ صحیح رو encode (رمز گذاری) کنی.
البته میتونی دیتابیس رو master/detail هم طراحی کنی، طوری که 3 فیلد "سوال،جواب،پاسخ کاربر" در جدول master و 4 فیلد مربوط به گزینه ها در جدول detail قرار داشته باشه.
موفق باشی
سلام دوستان
با تشکر از همگی به خصوص Admiral جان و farhad_g1 عزیز
تقریبا مشکلم حل شد البته خودم قبل از اینکه به این پست بیا م حلش کردم و لی دیدن این پست خالی از لطف نبود یه چیزای گیرم اومد
راستی من میخوام چندین کاربر مختلف از این برنامه استفاده کنند حتما میشه با جدول user , password را ذخیره کرد نه ؟
اگه میشه پس باید امکان سرچ (Find) داشته باشه که بره توی جدول بگرده که کاربری با نام مشابه قبلی ثبت نام نکنه و هم چنین اگه کاربری میخواست بره توی برنامه ، وقتی نام کاربری و پسوردش را وارد کرد باید توی جدول بگرده که چنین کاربری با چنین پسوردی هم خوانی داره یا نه ؟ درسته ؟
خوب فکر کنم توضیح خوبی دادم ولی چه جوری انجامش بدم ؟
لطفا کمکم کنید البته خودم میرم زورم رو میزنم ولی اگه نتونستم میام دوباره درخواست میکنم
ممنون از همگی بازم مشکلی داشتم مزاحم میشم
فعلا
بای
سلام دوستان
Database ها کمکم کنید
من همانطور که قبلا گفتم تونستم اطلاعات را وارد Database کنم و همچنین بر عکس
حالا من می خوام که چندین کاربر بتونند از این برنامه من استفاده کنند یعنی هر کس با User و Password خودش وارد بشه و سوالات و جواب هاش با کاربر دیگری متفاوت و با سلیقه خودش باشه
آیا برای اینکار لازمه که از جدول دیگری استفاده کنم یا خیر راهی هست که توی همین جدول بشه چنین کاری کرد
میشه لطفا بگید چه طوری
ممنون
منتظرم
بای
Shahriar-b
02-11-2007, 09:32
اونو تا یک فایل ini بریز
با سلام
واسه کاربران یه جدول بساز با فیلدهای UserID از نوع عددی، Username از نوع رشته و Password از نوع رشته.
تو برنامه ات وقتی کاربر برای ثبت کاربری جدید ، نام کاربری و رمز عبور خود را وارد کرد و دکمه ثبت رو زد اول برو جدول کاربران رو چک کن
ببین اون نام کاربری ثبت شده یا نه ، این کار رو با دستور Locate میتونی انجام بدی. اگه قبلا نام کاربری ثبت نشده باشه اونو ثبت کن.
در مورد جدول سوالات هم من روش اول farhad_g1 رو ترجیح میدم. توی جدولت فیلدها اینجوری باشه :
Question برای سوال از نوع رشته ، Answer برای جواب که نوعش بسته به روش کدینگ شما فرق میکنه. و اگه خواستی هر سوال فقط برای
یه کاربر باشه باید یه فیلد دیگه ای داشته باشی مثلا به نام UserID که مقدارش میشه همون مقدار فیلد UserID در جدول کاربران.
سلام دوستان
زیاد حالیم نشد خوب ولی من همون جدول دیگری طراحی کنم بهتره
حالا یه سوال دیگه چه طوری می تونم کاری کنم که هر بار برنامه رو اجرا کردند برنامه سوالات را راندومی به کاربر نشون بده
یعنی اگه کاربر توی تنظیمات برنامه تعداد سوالات رو برابر با 20 کرده با هر بار باز شدن ، برنامه سوالات رو راندومی و بدون تکرار نشون بده
بازم ممنون
منتظرم
بای
با سلام
مثلا :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشین.
سلام
میرم امتحان میکنم
خبرتون میکنم امیدوارم بتونم انجامش بدم
ممنون
فعلا
بای
راستی من جدولم رو با استفاده از Form Wrzed طراحی کردم مشکلی که به وجود نمیاد نه ؟
با سلام
نه مشکلی به وجود نمیاره ولی سعی کن خودت طراحی کنی حتما حتما حتما . . .
باسلام خدمت Mavix جان
خودم طراحی کرده ام ( این کارو دیگه بلدم)
حالا ...
امروز دیگه چند تا سوال دارم ؟
1. اول تا یادم نرفته بگم اون کدی که شما دادی واسه راندمی با اینکه از خاصیت Randomize کردید ولی با زهم تکرار میشه مثلا میشه 1-5-4-2-5 الان 5 دو بار تکرا شد (5 همون ردیف هستش ) درحالیکه ردیف هام 10 تاست هنوز بقیه عددها رو نشون نداده (اصلا میشه دستور داد که مثلا ار ردیف هایی که خودم میگم راندومی انتخاب کنه مثلا بهش بگم از بین ردیف های 5 تا 15 برام بدون تکرار انتخاب کن)
2 . اون کدی که دادی که بره توی جدول نگاه کنه که چنین کاربری هست یا نه اگه بود ثبت نکنه و اگه نبود ثبت کنه میشه یه کم بیشتر توضیح بدی ( طریقه کارش رو لطفا)
3 . برنامه در حالت عادی جدول رو از ردیف 1 شروع میکنه حالا...
من میخوام از هرجا که خودم خواستم شروع بشه ( یعنی کاربر بتونه آغاز و پایان سوالات رو مشخص کنه مثلا آغاز : ردیف 8 و پایان ردیف 25) و همین طور برنامه ردیف هایی رو که کاربر انتخاب کنه نشون بده مثلا ( ردیف 1 و 4 و 9 و 10 ) اگه هر دو این روش بشه خیلی توپ میشه
4 . من هنگام طراحی جدول رو جدولم پسورد امنیتی قرار میدم ولی هنگام شروع برنامه اول کادر پسورد ظاهر میشه و تا پسورد رو وارد نکردی وارد برنامه نمیشه برای از بین بردن این کادر پسورد راهی وجود نداره؟
5 . آیا از یک جدول میشه همزمان چند User استفاده کنند یعنی اینکه چند نفر جایی که کامپیوترها شبکه باشند و بخوان از برنامه استفاده کنند آیا برنامه امکان این رو میده که بتونند همگی ازش استفاده کنند ( فکر نکنم منطقی باشه) اگه اینجوریه پس من باید برای هر User یک جدول طراحی کنم
6 . توی دلفی میشه وقتی کاربری ثبت نام کرد همون موقع براش یک جدول در کنار فایل Exe خود طراحی کنه
ببین دوست عزیز
من الان یک جدول طراحی کردم که کارش ثبت کردن کاربر ها و پسوردها ست وقتی کاربری وارد شد سپس جدولی طراحی کردم که موضوع ها روانتخاب کنند (وقتی که موضوع مثلا 1) رو انتخاب کرد حالا بهش گفتم که بره مثلا جدولی با نام T1M1 ( یعنی جدول 1 موضوع 1) را که مخصوص این کاربر و این موضعش هستش لود کنه
حالا حساب کتاب کردم که اگه بخوام مثلا به برنامه ام امکان فقط ثبت 20 کاربر وبرای هر کاربر 20 موضوع رو بدم
باید 400 تا جدول (Table) از قبل طراحی کنم چون دلفی بعدا که نمیتونه خودش طراحی کنه فکر کنم خطا میده پس مجبورم از قبل طراحی کنم( آیا واقعا منطقیه با عقل جور در نمیاد) یعنی راهی ساده تر و آسانتر از این نیست
که هر کاربر با 20 موضوعش توی یک جدول جا بشن ؟؟؟
اگه باشه که خیلی عالیه اگر هم نشد هیچی دیگه مجبوریم همون 400 تا رو بزنیم تو رگ وای .........
خوب دوست عزیز انگار زیادی حرف زدم
ممنون که کمکم میکنی
منتظرم
بازم ممنون
بای
سلام sp1000 جان
1 : میتونی عدد تولیدی توسط random رو تو متغیری ذخیره کنی و بعد چک کنی مثلا 5 > x آنگاه بذاری تو حلقه.
2 : مثلا اگه نام فیلدهات اینجوری باشه Username , Password و نام جدولت Table1 آنگاه :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
3 : اینجا کمی کار سخت میشه و کارت با دستورات SQL حل میشه.
4 : خاصیت LoginPrompt رو برابر False قرار بده.
5 : آره بهتره واسه کاربران یه جدول خاص بسازی و اینکه شبکه بودن به دیتابیست هم بستگی داره.
6 : همه اطلاعات مربوط یه کاربران رو تو یه جدول ذخیره کن فقط تنها کاری که باید انجام بدی اینکه یه فیلد داشته باشی که توسط اون بتونی بفهمی این رکورد مال کدوم کاربره.
7 : یوخدی؟ یورولدوم ها
موفق باشین
با سلام
فقط در رابطه با 1 و 6 کمی مشکل دارم
1- منظورت از اینکه عدد تولیدی توسط random رو تو متغیری ذخیره کنی و بعد چک کنی مثلا 5 > x آنگاه بذاری تو حلقه چیه ؟
اگه همراه بامثال برام بنویسی خیلی ممنون میشم
6- یه فیلد داشته باشی که توسط اون بتونی بفهمی این رکورد مال کدوم کاربره.
اصلا این به چه دردم میخوره !!!
مثل اینکه من همون برم 400 تا جدول رو بزنم تو رگ بهتره ؟
حالا یه سوال جدید
1-من وقتی کاربرها رو توی جدولی به نام Information ذخیره کرده ام حالا
کاربر 1 وارد میشه در اینجا از جدول Information شده پس هنوز داره ازش استفاده میشه
همون موقع اگه بخوام با کاربری 2 وارد اکانت خودم بشم برنامه خطا میده و میگه که جدول Information در حال استفاده است و امکان این رو نمیده به کاربر که وارد بشه
یعنی من بازم برای هر کاربر جدول Information دیگه طراحی کنم ( وای) یا اینکه پس ورود هر کاربر فورا جدول Information را ببندم و دوباره از نو لود کنم ؟
2- من میخوام فقط کاربر اول به عنوان مدیر برنامه ( مثلا معلم) باشه و فقط اون بتونه سوالات رو طراحی و یرایش بکنه و 20 نفر دیگر به عنوان اعضا ( مثلا دانش آموزان) فقط بتونند سوالات را ببینند و حل کنند من تا اینجا مشکلی ندارم
حالا معلم و قتی سوال طرحی میکنه توی یک جدول مثلا Tadmin ذخیره میشه
حالا چطوری به جدول های اعضا بگم که سوالاتشون رو از جدول Tadmin بگیرند
همه اعضا که نمیتونند از یک جدول استفاده کنند ( ای بابا واسه این هم باید برم 20 تا جدول دیگه بسازم عجب برنامه میشه همش شد جدول دارم حساب کتاب میکنم نزدیک 500 تا جدول باید ایجاد کنم باورد کن فایل های ویندوز هم ایتقدر نیستن !!! )
نرم افزار قفل دسکتاب >> خودمون ساختیمش با دلفی دانلود کنید و پیشنهاد و انتقاد بدهید
دانلود :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
:11:
وبلاگ ما :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
آقا من گزینه LoginPrompt که شما گفتین رو پیدا نکردم
هنوز هم از من موقع اجرای برنامه پسورد میخواد
لطفا کمک کنید
as13851365
07-11-2007, 12:07
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دوست گرامی شما باید AdoConnection را انتخاب کنید بعد در قسمت Properties گزینه LoginPrompt را تغییر بدهید
ممنون دوست عزیز
موفق باشی
حالا دیگه کارم رو با بانک اکسس شروع کردم می بینم که خیلی بهترا از دیتا بیس
بای
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.