واضح آرشیو وب فارسی:سایت ریسک: teifoor26-04-2007, 11:00 PMسلام به من کمک کنید من می خوام یه برنامه ساده بنویسم تو#C که یک عمل جمع رو انجام بده و قبل از وارد شدن pasword بخواد لطفاکمکم کنید ممنون میشم. البته اینو بگم تازه کارم. hamidreza_buddy26-04-2007, 11:50 PMلتفا http://qsmile.com/qsimages/171.gif دمت گرم حال دادی. کلی خندیدیم! پروژه رو از اینجا (http://hamidude.persiangig.com/p30User.rar) بگیرید. قسمت اصلی برنامت اون قسمت پسوردشه. معمولاً توی برنامه های واقعی user و password ها توی یه دیتابیس و یا یه فایل (معمولاً xml) نگهداری میشه. معمولاً هم پسوردها به صورت encrypt شده ذخیره میشه (منظور اینه که اونو رمزگذاری میکنن که کسی با باز کردن دیتابیس و یا فایل نتونه پسوردو ببینه). ما فرض می کنیم که user و pass ها توی یه فایل معمولیه (text file) به نام users.p30 . و همچنین توی خط اول user و خط دوم پسورد اون user (به صورت رمز نشده) هستش. مثلاً اگه سه user با نام های admin و p30 و teifoor داشته باشیم فایلمون اینجوری باشه: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! که زیر هر user پسوردش هست. باید بتونی با فایل ها کار کنی. خیلی راحته. با مراجعه به این تاپیک (114878) میتونی یاد بگیری. البته یکم خودم توضیح می دم. 1- اول پروژه رو بساز (به هر نامی که دوس داری) 2- بعد Add New Item کن و یه Windows Form به پروژه اضافه کن. 3- توی این جدیده فرم جمع کردنو بساز: http://i16.tinypic.com/4cbilhg.jpg * توجه کنید که textBox نتیجه به صورت ReadOnly و کاربر نمی تونه اونو تغییر بده. * روی دکمه دابل کلیک کن تا event ش باز بشه. توی event handler کد زیر رو بنویس: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! int.Parse یک متد استاتیک هست که یک رشته میگیره و اونو تبدیل به int میکنه. .ToString هم که تو اون تاپیک برات توضیح دادم. البته بهتره این کد رو توی یک try-catch بذاری چون اگر کاربر داده رو اشتباه وارد کرد برنامه متوقف نشه و فقط یه اخطار نشون بده: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!![/b] لطفاً به کلمۀ لتفاً دقت کنید! 4- توی فرم اول، ورود کاربر رو بساز: http://i18.tinypic.com/2qurdhf.jpg روی دکمه دابل کلیک کن: کد زیر را در event handler قرار بده: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! به خطوط bold توجه کن. ابتدا یک StreamReader می سازیم و نام فایل را به آن ارسال می کنیم. سپس تا وقتی که به انتهای فایل نرسیده ایم (userFile.EndOfStream == False) هی دوتا دوتا از فایل می خوانیم (خط اول user و خط دوم pass او) و هر جا ورودی کاریر (در textBox) با یکی از این ها برابر شد پنجرۀ جدید را باز می کنیم (addForm.Show()) البته در کار با فایل ها باید حتماً try-catch استفاده کنید. زیرا امکان بروز خطا (عدم وجود فایل، خطا در فرمت فایلو...) بسیار زیاد است: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! میبینید که اول خود فرم اولیه خودشو hide می کنه و بعد یه فرم Add رو می سازه و نشون می ده. بعد از اتمام اون هم user و pass و توی textBox پاک می کنه و دوباره صفحۀ Login رو نشون می ده. * بعد از while هم می تونی یه MessageBox با این پیام که "شناسۀ کاربری و یا رمز عبور اشتباه وارد شده". فقط یادت باشه که فایل users.p30 رو با محتوای بالا توی شاخۀ Debug پروژه کپی کنی. پروژه رو از اینجا (http://hamidude.persiangig.com/p30User.rar) بگیرید. http://i17.tinypic.com/2ike32u.jpg teifoor27-04-2007, 11:47 PMحمید جان بازم دستت درد نکنه با این که به من خندیدی ...اینم بگم خودم هم اول خندیدم بعد زنگ زدم به دوستم گفتم بیاد ببینه چی جوابم دادی ..بازم ممنون teifoor02-05-2007, 12:12 AMسلام من اصلا کار با فایل ها رو نفهمیدم و این که stream reader رو میزنم اسمشو برام نمیاره .خیلی هم سرو کله زدم ولی بازم نشد. hamidreza_buddy02-05-2007, 03:17 AMباید namespace به نام System.IO رو استفاده کنی. !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! teifoor04-05-2007, 12:11 AMسلام من با #Cسرو کله میزنم ولی احساس می کنم خیلی سخته واز طرفی کار کردن با#Cخیلی دوست دارم.ولی نمی دونم از کجا شروع کنم از مطالب اینجا هم زیاد سر در نمی یارم البته بعضی چیزهارو می فهمم ولی خیلی کم. لطف کنید بگید از کجا شروع کنم . ممنون می شم . teifoor04-05-2007, 02:15 AMاستفاده معمول convert کجاست ؟ با مثال توضیح بدید لطفا. teifoor04-05-2007, 02:18 AMاگه از استفاده کر دن از class ها صرف نظر کنیم چه مشکلی پیش میاد ؟ teifoor04-05-2007, 02:21 AMسلام back ground یک فرم را چجوری میشه عوض کرد مثلا یک عکس گذاشت؟ teifoor05-05-2007, 10:37 PMبرنامه رو درست کردم ولی 2تا مشکل دارم یگی این که قسمت passwordوقتی تایپ می گنم به شکل ستاره نیست و دوم این که وقتی تایپ می کنم while (!userFile.EndOfStream) از endofstreamایراد میگیره . teifoor05-05-2007, 10:43 PMجواب سوال هامو بدین لطفا teifoor05-05-2007, 11:02 PMtoint 32 کارش چیه ؟ من از یک کتاب خوندم ولی اصلا متوجه نشدم. hamidreza_buddy06-05-2007, 09:30 PMاگه از استفاده کر دن از class ها صرف نظر کنیم چه مشکلی پیش میاد ؟ اگه با مباحث شئ گرایی آشنا باشید متوجه می شید. مثلاً همین که می تونین به این راحتی یه فرم بسازید خودش از مزایای همین کلاس هاست. نمیشه توی یک پست مزایاشو گفت ولی اگه خیلی مشتاقی دربارۀ شئ گرایی و یا object oriented سرچ کن. hamidreza_buddy06-05-2007, 09:32 PMسلام back ground یک فرم را چجوری میشه عوض کرد مثلا یک عکس گذاشت؟ همونجا که فرم رو طراحی میکنید میشه اینکارو کرد. روی فرم کلیک کن و توی پنجرۀ Property برو به BackGround و اونجا انتخاب کن. hamidreza_buddy06-05-2007, 09:36 PMبرنامه رو درست کردم ولی 2تا مشکل دارم یگی این که قسمت passwordوقتی تایپ می گنم به شکل ستاره نیست و دوم این که وقتی تایپ می کنم while (!userFile.EndOfStream) از endofstreamایراد میگیره . برای پسورد باید Mode مربوط به TextBox رو Password کنی. در مورد EndOfStream هم احتمالاً غلط املایی داری. کد رو گذاشتم. اون رو بگیر و مقایسه کن. حجمش خیلی کمه. hamidreza_buddy06-05-2007, 09:39 PMtoint 32 کارش چیه ؟ من از یک کتاب خوندم ولی اصلا متوجه نشدم. این متد یک نوع داده رو به یک نوع دادۀ دیگه تبدیل می کنه. مثلاً ممکنه که یه char داشته باشی و بخواهی اونو int کنی. می تونی از این استفاده کنی. لینکی برای Convert: http://msdn2.microsoft.com/en-us/library/system.convert.toint32.aspx teifoor06-05-2007, 11:37 PMحمید جان ازت ممنون بابت راهنماییت سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 266]