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