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