نمایش نتایج 1 تا 40 از 56

نام تاپیک: پروژه ديكشنري و لايتنر باكس Dictionary & Leitner Box

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    آذر 1387
    محل زندگی
    اصفهان - اصفهان
    سن
    35
    پست
    99

    پروژه ديكشنري و لايتنر باكس Dictionary & Leitner Box

    سلام خدمت تمامي اساتيد و دوستان عزيز

    شروع داستان
    داستان از آنجايي شروع مي شود كه من يك روز هنگام كار كردن با كامپيوتر متوجه اين شدم كه اگه بتوانم برنامه اي بنويسم كه لغات انگليسي و معني آن را برايم نمايش دهد و معني ها را به من ياد آور شود خيلي كار مفيدي كرده ام چون 6 ماه ديگر كنكور دارم و لغات زبان انگليسي فرار است و من كه عاشق كامپيوتر و برنامه نويسي هستم و هميشه پاي كامپيوترم با اينكار (شايد) پيشرفت خواهم كرد. روزها گذشت و من اين كار را انجام ندادم تا اينكه براي اولين بار به سايت برنامه نويس آمدم و در يكي از تاپيك ها ديتابيس ديكشنري فارسي را پيدا كردم و ترقيب به ساخت برنامه لايتنر بوكس شدم.

    اين كار را از 4 روز قبل شروع كردم و تا اينكه امروز و در همين ساعت با ساختن About Box پروژه تمام شد. ابتدا قرار بود فقط لايتنر بوكس باشد ولي چون من دوست دارم تا حد امكان برنامه هاي كامل بنويسم آن را به يك ديكشنري تبديل كردم و ...
    داستان گويي بس است.

    من اين كار را فقط به عشق اساتيد و دوستان اين سايت (دوستي كه هنوز ندارم) انجام دادم و براي همين سورس اين برنامه را نيز در اختيار دوستان مي گذارم.

    شرح نرم افزار:

    اين نرم افزار يك ديكشنري x to x است كه قابليت اين را دارد كه زماني (مثلا 300 ثانيه معادل 5 دقيقه) براي تعريف شود و برنامه بعد از طي آن زمان يك لغت تصادفي از ديتابيس خود انتخاب كرده و آن را در پايين سمت راست صفحه نمايش در قسمتTray به نمايش در آورد (لايتنر بوكس)

    ديتابيس نرم افزار يك فايل متني ساده با Encoding UTF-8 مي باشد تا زبان فارسي را پشتيباني كند. لغات در ديتابيس به صورت زير در يك خط مجزا تعريف مي شوند
    Hello^@^سلام

    در برنامه اصلي يك كلاس به نام ADictionary براي ديكشنري تعريف شده كه عمليات خواندن اطلاعات ديتابيس ، جست و جو لغات ، اضافه كردن لغت و برگرداندن يك لغت تصادفي را انجام مي دهد. بارگذاري ديتابيس به اين صورت است كه يك StreamReader فايل متني را خط به خط خوانده و در هر خط لغت ومعني را پيدا كرده و در دو ليست قرار مي دهد كه اين دو ليست عبارتند از:
    dicwords براي ذخيره لغات
    dicmeanings براي ذخيره معني ها در حافظه رم
    در هر خط ديتابيس بين لغت و معني يك ^@^ وجود دارد كه اين را خودم انتخاب كردم و براي تشخيص لغات راه ساده تري نيافتم. جدا كردن لغت و معني را با دستور SubString انجام دادم زيرا به گفته خود MSDN فضاي كمتري از رم را اشغال كرده و براي نرم افزارهاي با عملكرد بهتر اين دستور بهتر از Split مي باشد چون ...
    اگر ADictionary در حال خواندن ديتابيس به دو لغت يكسان رسيد معني لغت هاي بعد از اولي را با جدا كردن بوسيله خط و گذاشتن ====== معني جديد را به معني قبلي اضافه كرده.

    در فرم اصلي ويندوز يك ليست باكس براي نمايش لغات و دو تكتس باكس اولي براي جست و جو لغت و دومي براي نمايش معني قرار داده شده است.

    بهتر است ديگر توضيحات اضافي را كم كنم و نقد و بررسي را بعهده شما اساتيد و دوستان بگزارم.

    راستي تا يادم نرفته بكم:
    چون ديدم بسياري از ديتابيس ها بصورت فايل اكسس است يك تبديل كننده فايل اكسس به ديتابيس مخصوص نرم افزار نير ساختم كه اگر چه كار بيهوده ايست ولي در ساختن آن مxلب Async را ياد گرفتم.

    همچنين از استاد عزيز جناب مسعود طباطبايي به خاطر آموزش تصويري Async و BackgrounWorker تشكر مي كنم.

    فايل سورس نرم افزار و ديتابيس 50000 لغتي را براي دوستان قرار مي دهم.

    اگر امكان دارد فايل ديتابيس را نيز دانلود كرده و Load شدن 50000 لغت را ببينيد.

    دو فايل اولي ديتابيس نرم افزارند و فايل سوم خود آن است و چهارمي Snapshot ( ببخشيد بد آپلود كردم )

    منتظر پيشنهادات ، انتقادات عزيزان هستم


    عکس های ضمیمه عکس های ضمیمه
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله ahmadsystemco : یک شنبه 07 شهریور 1389 در 10:45 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •