PDA

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



ahmadsystemco
سه شنبه 10 دی 1387, 16:52 عصر
سلام خدمت تمامي اساتيد و دوستان عزيز

شروع داستان
داستان از آنجايي شروع مي شود كه من يك روز هنگام كار كردن با كامپيوتر متوجه اين شدم كه اگه بتوانم برنامه اي بنويسم كه لغات انگليسي و معني آن را برايم نمايش دهد و معني ها را به من ياد آور شود خيلي كار مفيدي كرده ام چون 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 ( ببخشيد بد آپلود كردم )

منتظر پيشنهادات ، انتقادات عزيزان هستم (http://seee-kashanu.ir)

ahmadsystemco
سه شنبه 10 دی 1387, 22:08 عصر
مثل اين است كه كسي از برنامه خوشش نيومده يا از داستاني كه نوشتم خسته شده.

دوستان براي رفع باگهاي برنامه به نظراتتان نياز دارم.
Please

ahmadsystemco
چهارشنبه 11 دی 1387, 16:43 عصر
سلامي دوباره خدمت دوستان

قبول دارم نرم افزار من بي ارزش است (!!!) ولي هر جاي اين سايت گشتم هركسي كه در رابطه با پروژه اش توضيحي داده بود پست شلوغي داشت. بچه ها من آفرين و تشكر شما را نمي خواهم. دوست دارم ازم ايراد بگيريد ، باگ هاي نرم افزار را بهم بگيد تا شايد من هم يچيزايي ياد بگيرم.
واسه همين قسمت شرح نرم افزار را قرمز رنگ مي كنم شايد كساني كه داستان را خواندند و بي خيال شدند تجديد نظر كنند.

خوب بازم مي گم منتظر انتقادات و ايراد هايتان هستم. :قلب:

Sajjad.Aghapour
چهارشنبه 11 دی 1387, 20:45 عصر
دوست عزیز من یه نگاه اجمالی به نرم افزار شما کردم.خوبه.دیگه خودت باید یه خورده خلاقیت به خرج بدی و یه خورده آب و تابش بدی.
مثلا میتونی برای تلفظ کلمات از dll های txt to speech استفاده کنی...
موفق باشید

ahmadsystemco
چهارشنبه 11 دی 1387, 21:07 عصر
دوست عزیز من یه نگاه اجمالی به نرم افزار شما کردم.خوبه.دیگه خودت باید یه خورده خلاقیت به خرج بدی و یه خورده آب و تابش بدی.
مثلا میتونی برای تلفظ کلمات از dll های txt to speech استفاده کنی...
موفق باشید
سلام

واقعا از اينكه بالاخره يك نفر نظر داد متشكرم.
از شما واقعا متشكرم چون داشتم نا اميد مي شدم.

در فكر اين كار هستم و اگر قرار شد نسخه اي ديگر از برنامه ساخته شود اين كار را خواهم كرد و از dll تلفظ لغات SpeechLib استفاده خواهم كرد فقط اگر دوستان كمك كنند و باگ هاي برنامه و ايده هاي جديدي بدهند.

با تشكر AHS

s_ahmadneya
پنج شنبه 12 دی 1387, 18:09 عصر
دوست عزیز من نتونستم پروژه را باز کنم .من با 2005 کار می کنم .
ضمنا" این part1 , poart2 را من باز کردم هردو فایل LeitnerBoxDB.lbdb با 4.930k سایز می باشد باید چطوری برنامه را اجرا کنم
راستی من به این پروژه شما نیاز فوری دارم.
باتشکر

ahmadsystemco
پنج شنبه 12 دی 1387, 20:55 عصر
دوست عزیز من نتونستم پروژه را باز کنم .من با 2005 کار می کنم .
ضمنا" این part1 , poart2 را من باز کردم هردو فایل LeitnerBoxDB.lbdb با 4.930k سایز می باشد باید چطوری برنامه را اجرا کنم
راستی من به این پروژه شما نیاز فوری دارم.
باتشکر
سلام دوست عزيز
فايل اجرايي همراه با سورس نرم افزار در سومين ضميمه قرار دارد. در اين آدرس

Leitner Box\Laitner Box\bin\Debug\Laitner Box.exe

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

در ضمن با VS2008 نوشته ام.

با تشكر از دانلود شما. منتظر نظراتتان هستم.

Amir Oveisi
جمعه 13 دی 1387, 00:50 صبح
0- کار و ایده جالبیه ، خسته نباشید
1- دوست عزیز اینجا همه با هم دوستیم
2- تا اونجایی که من اطلاع دارم جعبه لایتنر یه سری ویژگیهایی داره مثلا اون لغت هایی که فراموش میکنی تو یه قسمتی قرار میگیره که باید زودتر نشون داده بشه و به این ترتیب لغت ها اولویت بندی بشن.
3- اگر شکل برنامه هم شبیه یک جعبه لایتنر باشه خیلی بهتره
4- چرا دیتابیس رو فایل text انتخاب کردید؟ (چرا sql نه)

ان شاا... همه برنامه رو که بررسی کردم باز هم انتقادات و پیشنهاداتم رو اینجا می ذارم.

موفق باشید
jooje

s_ahmadneya
جمعه 13 دی 1387, 08:04 صبح
0- کار و ایده جالبیه ، خسته نباشید
1- دوست عزیز اینجا همه با هم دوستیم
2- تا اونجایی که من اطلاع دارم جعبه لایتنر یه سری ویژگیهایی داره مثلا اون لغت هایی که فراموش میکنی تو یه قسمتی قرار میگیره که باید زودتر نشون داده بشه و به این ترتیب لغت ها اولویت بندی بشن.
3- اگر شکل برنامه هم شبیه یک جعبه لایتنر باشه خیلی بهتره
4- چرا دیتابیس رو فایل text انتخاب کردید؟ (چرا sql نه)

ان شاا... همه برنامه رو که بررسی کردم باز هم انتقادات و پیشنهاداتم رو اینجا می ذارم.

موفق باشید
jooje
اگر بانک sql باشه حتما" باید sql server نصب بشه؟
اگر جواب مثبت است تکس باشه ویا اکسس بهتره!
من مطمئنم اگر نرم افزار کامل و کاربردی بشه خیلی طرفدار پیدا می کنه .من خودم چون 2005 نصب دارم فعلا" چک نکرده ام

ahmadsystemco
جمعه 13 دی 1387, 12:12 عصر
0- کار و ایده جالبیه ، خسته نباشید
1- دوست عزیز اینجا همه با هم دوستیم
2- تا اونجایی که من اطلاع دارم جعبه لایتنر یه سری ویژگیهایی داره مثلا اون لغت هایی که فراموش میکنی تو یه قسمتی قرار میگیره که باید زودتر نشون داده بشه و به این ترتیب لغت ها اولویت بندی بشن.
3- اگر شکل برنامه هم شبیه یک جعبه لایتنر باشه خیلی بهتره
4- چرا دیتابیس رو فایل text انتخاب کردید؟ (چرا sql نه)

ان شاا... همه برنامه رو که بررسی کردم باز هم انتقادات و پیشنهاداتم رو اینجا می ذارم.

موفق باشید
jooje

سلام خدمت شما

0- متشكرم. (ايده كه نبود تمرين بود).
1- چاكر همه دوستان هستيم.
2- ببخشيد اطلاعاتم كم بود و مي خواستم هرچه سريع تر در سايت يك پست داشته باشم(!!). برنامه را 4 روزه نوشتم. (حدوداً 7 ساعت شد.)
3- بله درست مي فرماييد اگر قرار شد پروژه را ادامه بدهم تو فكر يك Interface بهتر و زيباتر چيزي شبيه Vista هستم.
4- به دليل هاي زيادي : هنوز از Sql Server استفاده نكرده ام (!) و اينكه اگر از چيزهايي مثل Access و Sql استفاده مي كردم. نياز به Datasource و ... داشتم كه حاقظه زيادي را اشغال مي كنند و مي خواستم سرعت نرم افزار بالاتر بره كه باز هم هنوز الگوريتم خوبي پيدا نكرده ام.

از شما واقعا متشكرم و منتظر پيشنهادات و انتقاداتتان هستم.

باتشكر AHS

ahmadsystemco
جمعه 13 دی 1387, 12:23 عصر
من مطمئنم اگر نرم افزار کامل و کاربردی بشه خیلی طرفدار پیدا می کنه .من خودم چون 2005 نصب دارم فعلا" چک نکرده ام

سلام از تعريف شما متشكرم.
شما مي توانيد فايل كلاس هاي ADictionary و ... را جداگانه در 2005 باز كنيد.

به فكر ارتقاء آن در سطح پيشرفته شده ام.
اگر دوستان كمك كنند در فكر اضافه كردن اين قابليت ها هستم:



قابليت تلفظ لغت و متن با استفاده از dll هاي SpeechLib.
اگر توانستم كار كردن با handle هاي ويندوز را ياد بگيرم امكان انتخاب لغت با كليك موس را نيز اضافه مي كنم.
استفاده از چندين ديتابيس استاندارد. ( Xml , Access , ... )
قابليت ساخت ديتابيس Open Source براي ساختن كردن ديكشنري هاي تخصصي به وسيله كاربر.
و هر ايده اي كه دوستان عزيز بدهند.
ساخت يك سايت Asp.Net براي ساختن و منتشر كردن ديتابيس هاي Open Source !!! شايد اين به نظر دوستان بلن پروازي به نظر برسد. (اين يكي بين خودم يك راز است و به شماها نمي گم !!!! :متعجب:)

با تشكر AHS

Amir Oveisi
جمعه 13 دی 1387, 16:40 عصر
مطمئن باشید که سرعت data retrieving با دیتابیس های پیشرفته تر خیلی بیشتر از یک فایل متنی است.
نگته مهم دیگه اینه که حافظه کمتری هم احتیاج داره و نیز امنیت بالاتری داره و کلی مزایای دیگه...
شما همه دیتابیس رو الان میخونید و میریزید تو حافظه و اگر تعداد رکوردهاتون خیلی زیاد بشه (که خودتون میدونید که میشه) میزان مصرف حافظه خیلی زیاد میشه چون از تکنیک های ساده مثل buffering هم استفاده نشده.
بنابراین من پیشنهاد میکنم که از db استفاده کنید (براتون مفید هم میشه چون هم برنامتون بهتر میشه و هم خودتون کار با دیتابیس رو ساد میگیرید)

موفق باشید
jooje

تولائی
جمعه 13 دی 1387, 21:02 عصر
سلامبا عرض خسته نباشید.من هم با این‌که این برنامه بجای آن‌که با فایل متنی کار کند با یک پایگاه داده کار کند بسیار موافقم. دلیلم برای این گفته تماما دغدغه‌های جناب عالی است و مزایایی که بعدا برای‌تان حاصل خواهد شد.لطف کنید به چندزبانگی این کار هم از همین الان به‌شدت فکر کنید.در ضمن پیشنهاد می‌کنم که این برنامه را در جایی مانند Codeplex بگذارید تا ملت بتوانند در تکمیل کار به شما کمک کنند. در ضمن در آن‌جا یک source control تحت وب برای این کار تعبیه شده است.با سپاس.

ahmadsystemco
شنبه 14 دی 1387, 14:36 عصر
سلام خدمت دوستان
مثل اين است كه بحث دارد داغ مي شود.

دوستان من با Access و XML مشكلي ندارم. Access كه عاليه هم رو خود دات نت ساپورت مي شه و هم كار كردن باهاش راحته ولي Sql طبق فرموده جناب تولائی نياز به Sql Server داره و بايد رو هر ويندوزي نصب شود و چون اين برنامه يك برنامه كاربردي است و بايد بتواند روي هر كامپيوتري Sql Server يكم مشكل دارد و يك چيزي كه من نمي دانم اين است كه Sql ديتابيس هايش را كجا ذخيره مي كند.
اگر قرار باشد روي ويندوز قرار گيرد پس برنامه ابتدا بايد ديتابيس هاي خودش را درون Sql Server بريزد و سپس از آن ها استفاده كند. (اين را از روي MySql مي گم.) كه اين كار مشكلاتي دارد.(مثلا اگر شخصي ديتابيسي ساخت و خواست آن را به اشتراك بگذارد چگونه اين كار را بكنيم از ديتابيس فايل Xml يا Access بگيريم و آن را جا به جا كنيم و يا روش ديگري است.)

دوستان عزيز به كمكتان نياز دارم بايد يك روش سريع براي Load و جستجوي ديكشنري نياز داريم پس كمك كنيد شايد اين پروژه كوچك به يه چيز بزرگي تبديل شد.

با تشكر AHS

Amir Oveisi
شنبه 14 دی 1387, 15:10 عصر
دوست عزیز شما برای پروژتون یک Setup درست می کنید که همراه با نصب برنامه شما component های مورد نیاز sql رو هم رو سیستم کاربر نصب میکنه بدون اینکه هیچ مشکلی بوجود بیاد.

اگر شخصی دیتابیسی ساخت (با sql) خیلی راحت میتونین رکوردهای اونو به دیتابیس خودتون اضافه کنید یا این امکان رو تو برنامتون بذارید.

پس نتیجه می گیریم استفاده از دیتابیس در این پروژه کاملا ضروری و مفید هست. حالا بنده پیشنهاد میکنم که از sql استفاده کنید. به دلیل انعطاف بالا، سرعت بالا در پردازش داده های زیاد و ...

موفق باشید
jooje

ahmadsystemco
یک شنبه 15 دی 1387, 13:40 عصر
سلام خدمت دوستان

bermooda از شما به خاطر نظراتی که می دهید ممنون هستم اگر مایلید همانند یک پروژه متن باز یا بسته! با هم ادامه کار را بدهیم اگر هم نیاز شد دوستان دیگری راهم با خود همراه می کنیم.
حال سوالاتی دارم:


نظر نهایی با در نظر گرفتن سرعت پردازش و جستجو و ... Access یا Sql ؟
برای داشتن یک Spell Checker مقاله ای را سراغ دارید و یا مثالی در C#؟
برای پردازش دیتابیس استفاده از LINQ فایده ای دارد ؟ من هنوز یاد گیری LINQ را شروع نکرده ام اگر مطلب مفیدی در رابطه با فواید آن دارید متشکر می شوم.
در حد بابیلون که نیستم ولی اگر خواستیم دیتابیس عکس هم داشته باشد ذخیره کردن عکس ها را چگونه انجام دهیم؟ ( با ذخیره باینری در دیتابیس؟)
و خیلی سوالات دیگر که در ادامه کار مطرح می کنم.

حال دوست عزیز bermooda شما مایلید این کار را با هم ادامه دهیم؟ مطمئن باشید این پروژه مانند بعضی پروژه های دیگر بی پایان نخواهد بود.

با تشکر AHS

Amir Oveisi
یک شنبه 15 دی 1387, 16:25 عصر
sqlخیلی قویتر از access هست
linq خیلی ساده تر و راحت تر و البته بهینه تر از کار با dataset هاست


در مورد همکاری عرض کنم که من خیلی مستاقم ولی مشکل زمان دارم
تا اونجایی که بتونم و بلد باشم کمک میکنم
ولی فکر نکنم زمان کد نویسی داشته باشم

موفق باشید
jooje

shr6557
یک شنبه 15 دی 1387, 17:33 عصر
سلام
توی ایران این نرم افزار تاحالا توسط سه تا شرکت نوشته شده! که دلیلش هم بازار داغ کنکوره!
به نظرم رو این برنامه ها رو ببین و نسخه آزمایشی اون رو دانلود کن حتما اگه بازم تصمیم داشته باشی پروژت رو ادامه بدی کمکت می کنن
1- لایتنر ماندگار
2- لایتنر پایش
3- لایتنر روزآمد
موفق باشی

ahmadsystemco
یک شنبه 15 دی 1387, 18:26 عصر
سلام
توی ایران این نرم افزار تاحالا توسط سه تا شرکت نوشته شده! که دلیلش هم بازار داغ کنکوره!
به نظرم رو این برنامه ها رو ببین و نسخه آزمایشی اون رو دانلود کن حتما اگه بازم تصمیم داشته باشی پروژت رو ادامه بدی کمکت می کنن
1- لایتنر ماندگار
2- لایتنر پایش
3- لایتنر روزآمد
موفق باشی
سلام دوست عزیز
واقعا متشکرم من لایتنر روزآمد را دانلود کردم وقتی برنامه را دیدم خیلی خوشحال شدم چون اطلاعات زیادی در رابطه با لایتنر بوکس بدست آوردم و از همه مهمتر این نرم افزار با دات نت فریم ورک نوشته شده بود که خیلی برایم جالب بود از شما به خاطر راهنماییتان بسیار متشکرم.

به دوست عزیز bermooda نیز پیشنهاد می کنم این برنامه را دانلود کند و آن را امتحان کند واقعا جالب بود.

با تشکر AHS

Amir Oveisi
دوشنبه 16 دی 1387, 02:12 صبح
به دوست عزیز bermooda نیز پیشنهاد می کنم این برنامه را دانلود کند و آن را امتحان کند واقعا جالب بود.

من الان تو شرکت دارم رو یه پروژه بزرگ کار می کنم که لایتنر هم داره، یه لایتنر کامل و البته animate شده.
به همه زوایای لایتنر آگاهی دارم و نرم افزارهای موجود رو هم دیدم (ضعیف بودن)
اگر خواستید میتونم راهنماییتون کنم.

موفق باشید
jooje

jaza_sa
دوشنبه 16 دی 1387, 11:18 صبح
برای ذخیره اطلاعات میشه از SQL Server 2005 Compact Edition کرد ، کل دیتابیس یک فایل با پسوند sdf هست و برای کار با اون هم فقط کافیه 2 تا فایل dll کنار پروژه باشه . نیاز به هیچ چیز دیگه هم نداره
موفق باشید

ahmadsystemco
دوشنبه 16 دی 1387, 17:08 عصر
برای ذخیره اطلاعات میشه از SQL Server 2005 Compact Edition کرد ، کل دیتابیس یک فایل با پسوند sdf هست و برای کار با اون هم فقط کافیه 2 تا فایل dll کنار پروژه باشه . نیاز به هیچ چیز دیگه هم نداره
موفق باشید
سلام
از پاسخی که دادید متشکرم. ببخشید دوست عزیز شما این کار را امتحان کرده اید. یعنی می توان با استفاده از 2 عدد dll کل SQL Server 2005 Compact Edition را جا به جا کرد؟

از شما متشکرم.

از دوستان عزیز که فایل sdf را می شناسند خواهش می کنم یاری فرماییند.

با تشکر AHS

ahmadsystemco
پنج شنبه 19 دی 1387, 11:22 صبح
سلام
دوستان عزیز کسی در رابطه با جابه جایی دیتابیس های SQL نظری ندارد.

لطفا یک نفر در رابطه با فایل sdf که دوست عزیز jaza_sa فرمودند اطلاعاتی بدهد. چون در پروژه ای دیگر نیاز به بانک اطلاعاتی دارم و اگر به حرف ها دوستمان bermooda توجه کنیم Sql از همه بهتر و سریع تر است لطفا راهنمایی کنید.

من در جای دیگری از سایت در رابطه با فایل ldf مطلبی خواندم فرق این دو فایل sdf , ldf چیست؟

باتشکر AHS

jaza_sa
پنج شنبه 19 دی 1387, 17:29 عصر
سلام
لطفا یک نفر در رابطه با فایل sdf که دوست عزیز jaza_sa فرمودند اطلاعاتی بدهد. چون در پروژه ای دیگر نیاز به بانک اطلاعاتی دارم و اگر به حرف ها دوستمان bermooda توجه کنیم Sql از همه بهتر و سریع تر است لطفا راهنمایی کنید.
باتشکر AHS

An introduction to SQL Server 2005 Compact Edition (http://support.microsoft.com/kb/920700)

Complete C# and VB.Net code example (originally posted as SQL Server Compact Edition with C# and VB.Net) (http://arcanecode.wordpress.com/2007/04/13/sql-server-compact-edition-with-c-and-vbnet/)

بد نیست به این وبلاگ هم یه سری بزنید ، اطلاعات خیلی خوبی توش هست :چشمک:
http://arcanecode.wordpress.com/arcane-lessons/

ahmadsystemco
یک شنبه 22 دی 1387, 22:26 عصر
سلام خدمت دوستان

دوستان عزیز آن قدر شما نسبت به این برنامه بی توجه بودید که هیچ کس باگی در آن پیدا نکرد ولی خود من در هنگام کار کردن با آن باگی در قسمت تبدیل دیتابیس پیدا کردم. :لبخند:

در هنگام تبدیل دیتابیس در هر بار خواندن رکوردها در دیتابیس یک سطر به اطلاعات فایل متنی دیتابیس برنامه افزوده می شد. در آخر کار باید StreamWriter را Dispose کنیم ولی من اشتباها" به جای این کار Stream فایل متنی را Dispose می کردم که این کار باعث از دست رفتن اطلاعات نوشته شده در فایل می شد.

در کلاس DBConverter در خط 146


//release stream handle
writer.Dispose();
ldbStream.Dispose();

آن باگ را برطرف کردم و دوباره فایل جدید را آپلود می کنم.

با تشکر AHS

mdssoft
شنبه 26 بهمن 1387, 13:16 عصر
با سلام.
من نظر دوستان رو در رابطه با استفاده از MSSQL خوندم.
دوستان درست گفتند ، SQL سریع تر از فایل متنی است ، اما باید به این نکته توجه داشت :
این سرعت در اطلاعات زیاد خود را نشان می دهد.
یه نفر مگر چقدر کلمه بلد خواهد بود که ما از SQL استفاده کنیم ، با بلد بودن 3000 کلمه می تونید برای تافل امتحان بدید ( با در نظر گرفتن اینکه فرد از لحاظ گرامری هم کار کرده است ). در بد ترین حالت تعداد کلمه هایی که فرد بلد میشه 5000 تا 6000 کلمه خواهد بود.
من نظرم استفاده از XML و LINQ است ، تقریبا نمیشه اختلاف سرعتی بین یه فایل XML با 5000 Node و دیتا بیسی با 5000 Row حس کرد.
این رو هم در نظر بگیرید ، که نصب نکردن برنامه SQL Server ( Engine ) خودش یه مزیت هست. برای C# خودمون باید Net Framework. رو نصب کنیم دیگه نصب چیز دیگه زیاد جالب نیست !!!

تجربه خودم : یه فایل XML با 20000 Node ایجاد کردم و با LINQ از اون query گرفتم ، چیزی در حدود 50ms طول کشید . خوب این شاید در SQL به 1ms برسه که اصلا برای کاربر ما قابل حس نیست.

mdssoft
جمعه 16 اسفند 1387, 10:51 صبح
این هم جعبه لایتنر اینجانب :
http://mds-soft.persianblog.ir/post/72/

saberamin
پنج شنبه 20 فروردین 1388, 15:01 عصر
خیلی عالی بود
بنده یه دیکشنری به نام بهزاد رو از توی همین سایت گرفتم و تبدیلش کردم به دیکشنری برنامه ی شما که الان 53000 تا لغت دارم
متشکر

mdssoft
پنج شنبه 20 فروردین 1388, 15:13 عصر
ببینید جعبه لایتنر رو نباید که یک دفعه پرش کنید . باید به مرور و با کلماتی که یاد میگیرید پر شه.

اگر ممکن هست دیکشنری رو در اختیار من هم بزارید تا ببینم Performance برنامه با این تعداد word چطور است .
ممنون

saberamin
پنج شنبه 20 فروردین 1388, 15:41 عصر
خیلی عالی بود
خیلی استفاده کردم
خیلی ممنونم
خدا خیرتان بدهد

nush88
یک شنبه 20 اردیبهشت 1388, 10:07 صبح
salam ,manam roye hamin proje daram kar mikonam ama natoonestam az linkhaye shoma estefade konam ,mikhastam bedoonam mitoonam az rahnamayi shoma estefade konam?

ahmadsystemco
یک شنبه 20 اردیبهشت 1388, 18:21 عصر
سلام دوست عزیز nush88
من خیلی مشتاقم که به شما کمک کنم ولی متاسفانه الآن دارم برای کنکور درس می خوانم و تا وسط های تیر نمی تونم زیاد به سایت سر بزنم .
حتما بعد از کنکور در خدمتم. در این فاصله فقط می توانم سوال های کمی را پاسخ بدهم.
با تشکر AHS

kianoosh59
دوشنبه 21 اردیبهشت 1388, 16:53 عصر
سلام

دیکسنری شما خیلی خوب بود.بی خیال این چیزا !!!!!!!!

kiarash_h18
دوشنبه 11 خرداد 1388, 13:27 عصر
آقا دستتون درد نكنه، كار جالبيه كه بايد همچنان ادامه پيدا كنه.
موفق باشيد.
يا حق.

camran_mohsen
چهارشنبه 21 مرداد 1388, 09:25 صبح
salam doste man
man samimane azatoon tashakor mikonam, barnamatoon baraye man kheili mofid bod motmaenan be digaran ham aghalan idea ye libnits ro dade pas mamnoon!:لبخندساده:

masoud_z_65
دوشنبه 16 شهریور 1388, 02:25 صبح
سلام خسته نباشی
آقا من نتونستم فایلارو دانلود کنم
میشه به ایمیلم بفرستی؟؟؟
masoud_z_65@yahoo.com

gmaill
یک شنبه 15 آذر 1388, 07:22 صبح
سلام دوستان

من قراره لایتنر رو برای پروژه تحویل بدم . تا یک مقداری از اون رو هم نوشتم. یعنی یک نرم افزاری که کلمه وارد آن میکنید و آنها را داخل یک دیتا گرید نشون میده .
فیلدهایی هم که پر میکنه ، ساعت سیستم برای کلمه وارد شده که از طریق آن و از طریق فیلد level مشخص میکنه که چند روز بعد و در چه زمانی باید این کلمه دوباره مرور بشه . و دکمه های برای مرور کلمه هایی که زمان مرورشان فرا رسیده است .

من دو امکان دیگه می خواستم به این برنامه اضافه کنم که اگه دوستان کمک کنند و من و راهنمایی کنند .
1- یکی اینکه میخوام هنگام وارد کردن کلمات کاربر بتونه یک فایل صوتی حدود 2 3 کیلو بایت رو هم به دیتا بیس اضافه کنه که هنگام مرور همراه با تلفظ اون کلمه به راحتی بتونه اون رو به خاطر بسپاره . ( البته برای این کار هم حدود 30000 فایل صوتی که شامل تلفظ های لغات هست رو هم تهیه کردم )

2- امکان بعدی که میخوام داشته باشته اینه که من الان یک دیتا گرید دارم و یک دیتا بیس که هنگام باز شدن برنامه اونها رو نشون میده . حالا میخوام کاربر بتونه این داده ها رو به عنوان یک فایل ذخیره کنه یا یک فایل جدید ایجاد کنه یا فایلی که قبلا ذخیره کرده رو بتونه باز کنه .
این امکان به درد اون کسانی میخوره که در یک موضوع خاص (مثلا 504 یا هر موضوع درسی) یک فایل ایجاد کنند و اون رو در اختیار دیگران بزارند که بقیه بتونن استفاده کنند.

از دوستان کسی اگه در این موضوعات نمونه برنامه ای که به من کمک کنه تا این نرم افزار رو آماده کنم یا کمک یا راهنمایی می تونه تو این زمینه داشته باشه ، خوشحال میشم که نظرات و راهنماییهاتون رو بشنوم

kia1349
یک شنبه 15 آذر 1388, 09:21 صبح
فکر کنم برای نگهداری فایل صوتی از نوع داده varbinary(max)1 استفاده کنید بهتر باشه.اون 1 هم زدم تا پرانتز رو درست نشون بده

gmaill
یک شنبه 15 آذر 1388, 18:14 عصر
فکر کنم برای نگهداری فایل صوتی از نوع داده varbinary(max)1 استفاده کنید بهتر باشه.اون 1 هم زدم تا پرانتز رو درست نشون بده

خوب من یک فایل رو مشخص کردم و اضافه کردم حالا موقع مرور اطلاعات متنی که ذخیره کردم به راحتی میتونم بریزم توی تکست باکس . این فایل صوتی رو چطوری میتونم استفاده کنم . اون هم کامپوننتی چیزی داره .

gmaill
جمعه 27 آذر 1388, 12:51 عصر
سلام دوستان
اگه بخوایم برای لایتنر نمودار های erd و dfd و اینها رو بکشیم باید به چه صورتی باشه؟چه چیزهایی رو باید لحاظ کنیم؟؟

و به نظر شما برای لایتنر بهتر از اکسس استفاده کنیم یا sql server یا Sql express که روی خود visual studio هست ؟

mdssoft
جمعه 27 آذر 1388, 12:56 عصر
و به نظر شما برای لایتنر بهتر از اکسس استفاده کنیم یا sql server یا Sql express که روی خود visual studio هست ؟
از File هم می تونید استفاده کنید مثلا XML . چون تعداد کلمه هایی که یه آمریکایی الاصل بلده از 5 ، 6 هزار تا تجاوز نمی کنه ( در بدترین حالت ، یعنی این آمریکایه استاد ادبیاتی ، چیزی هست که این همه کلمه بلده )
برای همین به نظر من بهترین گزینه استفاده از فایل XML است.

gmaill
جمعه 27 آذر 1388, 12:58 عصر
از File هم می تونید استفاده کنید مثلا XML . چون تعداد کلمه هایی که یه آمریکایی الاصل بلده از 5 ، 6 هزار تا تجاوز نمی کنه ( در بدترین حالت ، یعنی این آمریکایه استاد ادبیاتی ، چیزی هست که این همه کلمه بلده )
برای همین به نظر من بهترین گزینه استفاده از فایل XML است.


خوب بالاخره باید برنامه دارای یک دیتابیس باشه که لغات که واردش میشه اضافه بشه به دیتا بیش و هنگام ذخیره xml ذخیره کرد . درسته ؟؟
یا من اشتباه متوجه شدم؟؟

mdssoft
جمعه 27 آذر 1388, 13:22 عصر
خوب بالاخره باید برنامه دارای یک دیتابیس باشه که لغات که واردش میشه اضافه بشه به دیتا بیش و هنگام ذخیره xml ذخیره کرد . درسته ؟؟
یا من اشتباه متوجه شدم؟؟
راستش من خوب منظورتو نفهمیدم ، اما منظور من این بود که دیتا بیست یه فایل XML باشه.
نمونه این کار انجام شده ، تو امضای من می تونی پیدا کنی : جعبه یادگیری لایتنر (http://www.barnamenevis.org/forum/showpost.php?p=689425&postcount=223)

ZHILA BABAZADEH
چهارشنبه 16 دی 1388, 11:26 صبح
سلام و خسته نباشید . من تازه به جمع شما عزیزان اومدم. از برنامه ها و سورسها و ... کلا سایتتون ممنونم:تشویق::تشویق:
اگه میشه data baseبرنامه کتابخونه و دیکشنری رو برام بزارین تا بتونم استفاده کنم .:خجالت:
منم اگه کمکی بتونم بکنم ، در خدمتتونم :متفکر:
mer30. by

vahid-kh
جمعه 25 دی 1388, 18:55 عصر
باعرض خسته نباشید
اولا می خواستم از زحمات کاربران سایت خیلی خیلی تشکر کنم
می خوستم ببینم میتونم برنامه جعبه لایتنر به زبان c رو از طریق شما تهیه کنم.


باتشکر

vahid-kh
جمعه 25 دی 1388, 19:00 عصر
باعرض خسته نباشید
اولا می خواستم از زحمات کاربران سایت خیلی خیلی تشکر کنم
می خوستم ببینم میتونم برنامه جعبه لایتنر به زبان c رو از طریق شما تهیه کنم.


باتشکر

MMMYousefMMM
دوشنبه 17 اسفند 1388, 22:45 عصر
البته من فکر میکنم این برنامه از یک جایی کپی شده است.

ahmadsystemco
چهارشنبه 19 اسفند 1388, 08:37 صبح
البته من فکر میکنم این برنامه از یک جایی کپی شده است.
سلام
من مدتی بود که نبودم ( به خاطر مساله دانشگاه) و حالا که برگشتم.......
خیلی ممنون. کار یک هفته ای من را میگید از یک جا کپی کردم؟؟؟!!؟؟؟

ahmadsystemco
چهارشنبه 19 اسفند 1388, 08:42 صبح
سلام خدمت تمامی دوستان عزیز
من می خوام یک لایتنر باکس جدید با امکانات خوب بسازم ولی اطلاعات کافی در مورد آن ندارم ( اطلاعاتم تقریبا صفر است) حال از شما می خوام که کمکم کنید و بگید یک لایتنر باکس چه مواردی را لازم دارد؟؟؟؟؟
هرچه این امکانات بیشتر باشه بهتره....
یک توضیح کامل از لایتنر و امکاناتش می خوام.
با تشکر AHS

khalil70
چهارشنبه 08 اردیبهشت 1389, 09:28 صبح
سلام من سورس برنامه لایتنر رو لازم دارم. اگه دارین کمکم کنید، ممنون.:عصبانی++:

mazi142
یک شنبه 20 تیر 1389, 22:35 عصر
چگونه برنامه را اجرا کنیم؟ من که فایل exe نمی بینم.!؟

hamzehsh
یک شنبه 21 شهریور 1389, 17:05 عصر
اين فايلها كه دانلود كردم پسوند 7z دارند چطور باز ميشود؟

ahmadsystemco
یک شنبه 28 شهریور 1389, 13:16 عصر
شما می توانید فایلهای با پسوند 7z را با نرم افزار فشرده سازی 7zip (http://www.7-zip.org/) باز کنید.

ahmadsystemco
یک شنبه 28 شهریور 1389, 13:55 عصر
سلام خدمت تمامی دوستان
اگه خدا کمکم کنه می خوام برنامه را دوباره بنویسم و ارتقا بدم.
این دفعه با دات نت 3.5. چون می خوام از LINQ استفاده کنم و دیتابیس را XML بنویسم. چون اکسس یکم آرومه و SQL هم که یک سرور می خواد واسه خودش. پس دیتابیس را XML میزنم و می خوام که لیتنر نباشه. می خوام یه دیکشنری بسازم. که لیتنر هم باشه و بدرد دانشگاهم بخوره.

farshadak2004
سه شنبه 21 تیر 1390, 15:35 عصر
با عرضه سلام و خسته نباشید
از بابت پوستتو تشکر می‌کنم برنامه خیلی‌ خوبیه. من به اون صورت باش کار نکردم در حد ۱ تست میگم که همه چیز خوب کار کرد. و خوب در اون حد هم برنمنیویسیم خوب نیست که بخوام بتن ایراد بگیرم.
ولی‌ راستش من الان خودم روی پروژهٔ دیکشنری کار می‌کنم. و خوب می‌خوام این مزیتو داشته باشه که بتونه کلمهٔ زیر موس را شناسایی بکنه و معنیشو توی دیکیتنری بنویسه. حالا از هر روشی‌ می‌شه استفاده کرد به غیر از ocr.
و چون شما دیکیتنری نوشتید. احتمال دادم که شاید اطلاعاتی در این زمینه داشته باشید که چطوری می‌شه کلمهٔ زیر موس را در هر صفحه‌ی از ویندوز شناسایی کرد و به دیکیتنری فرستد.
از توجهتون ممنونم

sadeghlinux
پنج شنبه 30 شهریور 1391, 04:29 صبح
سلام
من سی شارپ خیلی کم کار کردم
وقتی برنامه رو اجرا میکنم می پره رو این خط و متوقف میشه

private void asyncaddwordstolist()
{
statuslbl.Text = "Adding words to list";
for (int i = 0; i < dictionary.WordsCount; i++)
{
wordslistbox.Items.Add(dictionary[i].Word);
if ((i * 100 / dictionary.WordsCount)%5 ==0)
{
progressbar.Value = (i * 100 / dictionary.WordsCount);
}
}
}
میشه راهنمایی کنید