[برنامه] Dicti ، دیکشنری ساخته شده با MMB

Saman

مدیر انجمن مولتی مدیا بیلدر
فکر میکنم ریختن اطلاعات توی جداول مناسب نباشه. فرض کنید یه دیکشنریبا همین حجم یعنی 50 هزار رکورد داشته باشیم. فکر می کنم خیلی طول بکشه تا کپی بشه.
بهتر نیست پلاگین رو به دیتابیس دیکشنری مورد نظر وصل کنیم و وقتی کار تموم شد فایل رو ببندیم ؟
یعنی در ازای هر تعداد دیکشنری یه بار اتصال و یه بار هم قطع اتصال انجام بشه و توی این فی ما بین اطلاعات رو از بانک مورد نظر بخونه و فایل result رو کامل کنه...
البته اینا همش یه تئوری بود.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
[SaMaN];776258 گفت:
فکر میکنم ریختن اطلاعات توی جداول مناسب نباشه. فرض کنید یه دیکشنریبا همین حجم یعنی 50 هزار رکورد داشته باشیم. فکر می کنم خیلی طول بکشه تا کپی بشه.
بهتر نیست پلاگین رو به دیتابیس دیکشنری مورد نظر وصل کنیم و وقتی کار تموم شد فایل رو ببندیم ؟
یعنی در ازای هر تعداد دیکشنری یه بار اتصال و یه بار هم قطع اتصال انجام بشه و توی این فی ما بین اطلاعات رو از بانک مورد نظر بخونه و فایل result رو کامل کنه...
البته اینا همش یه تئوری بود.
حق با شماست، اگه یک دیتابیس با همین سایز بخواد اضافه شه خیلی طول میکشه، در واقع بیش از حد !
حالا که بحثش پیش اومد بزارین یه عکسی رو بزارم که هنگامی که تبدیل همین دیتابیس تموم شد گرفتم:

Converted.jpg


روی این روشی که شما بهش اشاره کردین تحقیق میکنم، ولی یه مقدار پیچیده تر بنظر میرسه، ممنون از نظراتت سامان جان.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
نسخه ی جدید

سلام دوستان،

بعد از چند روز امروز وقت کردم که یخورده برنامه رو اصلاح کنم و امکانات جدید رو بهش اضافه کنم.
امکانات اضافه شده:

  • امکان مشاهده ی کلماتی که قبلاً مورد جستجو قرار گرفتن (History)
  • امکان مشاهده ی کلمات مشابه با کلمه ی مورد جستجو هنگام تایپ کلمه (لغات پیشنهادی)
و اصلاحات انجام شده:

  • تصحیح قسمت اضافه کردن لغت جدید (مشکل در تایپ صحیح فارسی)
  • اضافه شدن یک دکمه در صفحه ی اصلی برای ورود به قسمت اضافه کردن لغت جدید
  • رفتن برنامه به System Tray هنگام فشردن دکمه ی ESC
  • شناساندن علامت * به برنامه برای Wildcard Search (مانند علامت %)
  • سریعتر لود شدن برنامه
دو تا مورد دیگه هست که باید روش کار کنم، یکی قسمت تنظیمات برنامه هست که چون یه مقدار ریزه کاری داره وقت نکردم کاملش کنم، در اولین فرصتی که پیدا کردم حتماً این مورد رو هم پیاده میکنم.
مورد بعد، ساخت Dictionary Builder و امکان استفاده از چند دیکشنری در برنامه هست، که تقریباً به اندازه ی خود برنامه نیاز به وقت و کدنویسی داره، این مورد رو هم در اولین فرصت پیاده سازیش میکنم.

باز هم از نظرات سازندتون که باعث هرچه بهتر شدن پروژه شده و میشه تشکر میکنم.
چند مورد رو هم باید ذکر کنم، اول اینکه قسمت نشان دادن کلمات مشابه و History در بعضی موارد یه ایراداتی داره، یعنی مثلاً وقتی ما یه کلمه رو می نویسیم و کلمات مشابه نمایش داده میشن اگه ما کلمه رو پاک کنیم، این گروه مخفی نمیشن که البته به خاطر این هست که من اسم گروه رو تغییر دادم ولی در بعضی از قسمت های اسکریپت فراموش کردم نام جدید رو جایگزین کنم، که بعد از آپلود فایل متوجهش شدم.
مورد بعد هم برای همین قسمت کلمات مشابه کاراکتر * تعریف نشده، که اونم از زیر دستم در رفت.

در مورد Wildcard Search (نمیدونم اسم صحیحش این هست یا نه!):
کاراکترهای درصد (%) و ستاره(*) اگر بین حروف باشن، معنیش این هست که برنامه این علامت ها رو به صورت هر تعداد کاراکتر تعبیر میکنه، مثلاً اگه H*O رو جستجو کنید، نتایج زیر نشون داده میشن:
Hello
Hallo
Hairdo
Helminto
و کاراکتر _ (Underline) هم به صورت یک کاراکتر تعبیر میشه، مثلاً عبارت _H_a نتایج زیر رو برمیگردونه
Head
Heal
Hear
Heat
Hoax

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

باز هم از همتون تشکر میکنم، و منتظر نظرات بعدیتون هم هستم.
 

BEHESHT

Well-Known Member
یک کلام بگم فوق العادست نه اشتباه این فوق العاده نیست خارق العادست

امکان فراخوانی از دیگر محیط های ویندوز خبری نشد ازش

دیگه حرف نداره

موفق باشی
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
نسخه ی جدید - تست

سلام دوستان،

امروز هم با کمی اصلاحات و مقداری چاشنی اومدم !

اول اینکه باگ هایی که در پست قبل توضیح دادم حل شده، به علاوه ی دو تا مشکل دیگه که رفعشون کردم

یکی این بود که در برخی موارد بنا به دلایلی هنگامی که بر روی دکمه ی تلفظ روبروی هر کلمه کلیک میکردیم، کلمه ی اول تلفظش مربوط به یک کلمه ی دیگه بود که این مشکل حل شد.
مورد بعدی هم این بود که اگه تیک مربوط به گزینه ی Match Case رو نمیزدیم و کلمه ی مورد جستجو هیچ مورد مشابهی در دیتابیس نداشت، در بخش کلمات مشابه، دوباره همون کلمه نشون داده میشد، یعنی دو تا کلمه و ترجمه مثل هم، که این مورد رو هم رفع کردم

و یک امکان جدید رو هم به برنامه اضافه کردم:
برای ترجمه سریع کلمه، میتونید متن مورد نظر رو انتخاب (Select) کنید و دکمه های CTRL+Q رو فشار بدید، تا برنامه ی ترجمه ی کلمه ی مورد نظر رو در صورت وجود نمایش بده.
البته فعلاً این مورد در حالت آزمایشی هست و بهمین دلیل فعلاً براش قابلیت تعویض Hotkey رو قرار ندادم.

فایل پیوستی حاوی سه فایل هست:

  1. نسخه ی جدید Dicti
  2. فایل GetText
  3. فایل GetText_
فایل GetText فایلی هست که عمل ارسال کلمه ی انتخاب شده رو به Dicti انجام میده،

فایل GetText_ یک نسخه ی دیکه از برنامه ی کمکی هست که کلمه رو به Dicti ارسال میکنه و تفوتش با اون یکی در این هست که هنگام فشردن CTRL+Q نیازی نیست متن مورد نظر انتخاب شده باشه و در واقه هنگام فشردن کلید متن زیر کرسر موس انتخاب میشه و به برنامه ارسال میشه.
البته این فایل در تمام موارد به درستی عمل نمیکنه و فقط برای تست هست، مثلاً برای فایلها و لینکها کاربردی نداره، در واقع فایل اصلی برای برنامه فایل GetText هست (اگه قصد داشتین اون یکی نسخه رو امتحان کنید، نامش رو به GetText تغییر بدید).

این برنامه ی کمکی توسط برنامه ی AutoIt نوشته شده.
البته در همون فروم مربوط به برنامه ی AutoIt، یکی از دوستانی که لطف داشتن و بنده رو در نوشتن این کد راهنمایی کردن، یک لینکی رو به من معرفی کردن که مربوط میشد به یک کد به زبان ++C اگر اشتباه نکنم که توسط متدهایی، عمل شناسایی متن رو به نحوی انجام میداد که نیاز نبود متن انتخاب شده باشه یا حتی قابل انتخاب باشه (مثل Label) ولی متاسفانه من در زمینه ی برنامه نویسی با ++C تجربه ای ندارم و نتونستم از اون کدها استفاده کنم.

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

در ضمن در این بسته فقط نسخه ی جدید Dicti و دو فایل دیگه موجود هست، و دوستان برای تست برنامه باید پکیج اصلی رو از پست اول دریافت کنن و فایلهای موجود در این بسته رو جایگزین فایلهای قبلی بکنن

از توجهتون ممنونم.
 

پیوست ها

  • Dicti - New Version - TEST.rar
    995.9 کیلوبایت · بازدیدها: 325

peyman136

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

splinter cell

Well-Known Member
با سلام و تشکر بابت پشتکاری که داری تا اشکالات برنامه ات رو هر چه سریعتر رفع کنی.
فقط میخواستم بدونم برای رفع این مشکل
تصحیح قسمت اضافه کردن لغت جدید (مشکل در تایپ صحیح فارسی)

چه کار کردی؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
جوابيه 5

کامل بود کاملترم شد اگه همین طوری پیش بره فکر میکنم به زودی یه مترجم متن کامل از این برنامه بیرون میاد که میتونه رو دست بقیه مترجم های متن بزنه
عالی بود خسته نباشی
ممنون پيمان جان، شما لطف داري.

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

چه کار کردی؟

سلام محسن جان، ممنون
براي رفع اون مشكل من از پلاگين TRichEdit استفاده كردم و Encoding رو روي ARABIC CHARSET گذاشتم.
البته هنوز هم كاملاً خوب نيست، ولي متاسفانه من پلاگين ديگه اي رو پيدا نكردم كه بشه بهتر فارسي تايپ كرد.

راستي شما كه تست كردين با مشكلي مواجه نشدين ؟ منظورم همون ترجمه با CTRL+Q هست.
 

ubuntu

Member
راشتش جديداً براي من اين اررور رو مي‌ده و ديگه نمي‌تونم از ديکشنري شما استفاده کنم:
Unable To initialize SQLite engine.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
راشتش جديداً براي من اين اررور رو مي‌ده و ديگه نمي‌تونم از ديکشنري شما استفاده کنم:
Unable To initialize SQLite engine.
اگه که این پیغام مربوط به همین نسخه ی جدیدی هست که گذاشتم، همونطور که در همون پست هم گفتم:
در ضمن در این بسته فقط نسخه ی جدید Dicti و دو فایل دیگه موجود هست، و دوستان برای تست برنامه باید پکیج اصلی رو از پست اول دریافت کنن و فایلهای موجود در این بسته رو جایگزین فایلهای قبلی بکنن
یعنی این بسته چون برای تست بود دیگه نیومدم تمام فایلها رو توش قرار بدم و فقط فایلهای جدید رو توش گزاشتم، و برای تست این ورژن نیاز هست که فایلهای موجود در این بسته جایگزین فایلهای موجود در بسته ی قبلی باشه که گزاشتم و این ارور به این خاطر هست که برنامه نمیتونه فایل SQLite11.dll رو پیدا کنه.
 

ubuntu

Member
کپي کردم ولي باز هم همون پيغام رو مي‌ده. نسخه قديمي اصلاً مشکلي نداره فقط اين نسخه جديد اعصاب من رو بهم ريخته. چون هيچ کدوم از قابليت‌هايي رو که گفتين نمي‌تونم استفاده کنم. اصلاً برنامه ديتابيس رو نمي‌خونه که بخواهم استفاده کنم. مي‌َه يه بار درقيق تمام مراحل رو بگين که چي کار بايد بکنم؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
جوابیه 6

کپي کردم ولي باز هم همون پيغام رو مي‌ده. نسخه قديمي اصلاً مشکلي نداره فقط اين نسخه جديد اعصاب من رو بهم ريخته. چون هيچ کدوم از قابليت‌هايي رو که گفتين نمي‌تونم استفاده کنم. اصلاً برنامه ديتابيس رو نمي‌خونه که بخواهم استفاده کنم. مي‌َه يه بار درقيق تمام مراحل رو بگين که چي کار بايد بکنم؟
سلام،
راستش رو بخاید نمیدونم چرا این مشکل واستون پیش اومده، من همین الان دومین نسخه ای رو که گزاشته بودم + همین نسخه ی جدید + دیتابیس رو دانلود کردم و فایل Dicti موجود در نسخه ی جدید رو جایگزین همین فایل در نسخه ی دوم کردم و تستشون کردم و بدون هیچ مشکلی اجرا شد، در ضمن این رو روی یک سیستم جدید که ویستا نصب هست تست کردم.
دقت کنید که تمام فایلهای زیر برای عملکرد صحیح برنامه باید کنار برنامه موجود باشن:

  1. Database.db
  2. GetText.exe
  3. ListboxExtras.dll
  4. SmallPlugin.dll
  5. SQLite11.dll
  6. SysMetrics - Pre.dll
  7. TRichEdit.dll

البته همونطور که گفتم این نسخه فقط برای تست از چگونگی عملکرد برنامه ی کمکی بود و بهمین دلیل باگهایی داره، مثلاً اگه وارد صفحه ی اضافه کردن کلمه ی جدید بشین و دوباره برگردین به صفحه ی اصلی، دیگه CTRL+Q هیچ پاسخی به شما نمیده، که البته تمام این باگها رفع شده، که اگه خدا بخاد بزودی ورژن نهایی برنامه رو میزارم و سورسش رو هم برای استفاده ی دوستان قرار میدم.

ممنون، موفق باشید.
 

Aref_Alikhani

Well-Known Member
سلام
من الان برنامه و تمامی محتویات اونو در یه مسیر قرار دادم که یکی از Folder های موجود در مسیر اسمش به فارسی بود که برنامه با مشکل مواجه شد و قادر به خوندن دیتابیس نشد!!!.
اما در مسیری که کاملا انگلیسی بود مشکلی وجود نداشت.... شاید مشکل به خاطر این باشه؟!
 

BEHESHT

Well-Known Member
سلام خسته نباشید خدا قوت

آقا محمد امکان داره برای سری جدید همراه با نصب باشه و پس از شروع ویندوز دیکی هم شروع شه که ما دیگه نمونه های خارجی رو بی خیال شیم؟

یعنی یه پک کامل


ممنون:rose:
 

ubuntu

Member
يه لحظه صبر کنيد! دو تا از اين پلاگ‌اين ها نيستن. ببينم اين پلاگ‌اين‌ها رو به صورت بسته قرار دادين. آخه من همه‌ي فايل‌ها رو دانلود کردم و هيچ کدوم اين پلاگ‌اين ها رو کنار ديکتي نذاشتن.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
سلام
من الان برنامه و تمامی محتویات اونو در یه مسیر قرار دادم که یکی از Folder های موجود در مسیر اسمش به فارسی بود که برنامه با مشکل مواجه شد و قادر به خوندن دیتابیس نشد!!!.
اما در مسیری که کاملا انگلیسی بود مشکلی وجود نداشت.... شاید مشکل به خاطر این باشه؟!
سلام،
بله درسته، اگه برنامه در یک مسیر با نام فارسی باشه ارور میده، البته درست نمیدونم این مشکل عمومی برنامه های ساخته شده با MMB هست یا بخاطر یک سری پلاگین هست ؟
مثلاً من همین الان برنامه Drive Icon Changer 1 جناب Ubuntu رو امتحان کردم و پیغام خطا داد ولی بسته نشد.(در فولدری با نام فارسی)
** در یه تست جدید، اسم فولدر رو گزاشتم "دیکشنری" و هم Dicti و هم Drive Icon Changer هیچکدوم اجرا نشدند و ارور از خود پلیر MMB بود
ولی وقتی اسم فولدر رو به "سلام" تغییر دادم برنامه ها اجرا شدند ولی پلاگینا ارور میدادن که ارور برنامه ی Dicti مربوط به پلاگین SQLite11.dll میشد و بقیه ی پلاگینها مثل SmallPlugIn, TRichEdit به درستی کار میکردن.
سلام خسته نباشید خدا قوت

آقا محمد امکان داره برای سری جدید همراه با نصب باشه و پس از شروع ویندوز دیکی هم شروع شه که ما دیگه نمونه های خارجی رو بی خیال شیم؟

یعنی یه پک کامل


ممنون:rose:
بله، انشالا در اولین فرصت، البته با قرار دادن سورس دیگه نیازی نیست تمام تغییرات رو من اعمال کنم، و هرکسی میتونه برنامه رو هرجوری که دلش خواست تغییر بده ;)
يه لحظه صبر کنيد! دو تا از اين پلاگ‌اين ها نيستن. ببينم اين پلاگ‌اين‌ها رو به صورت بسته قرار دادين. آخه من همه‌ي فايل‌ها رو دانلود کردم و هيچ کدوم اين پلاگ‌اين ها رو کنار ديکتي نذاشتن.
نه، چرا !!؟
من نام تمام این فایلها رو از تو فایلهایی که دانلود کرده بودم نوشتم،
شماره یک که دیتابیس برنامه هست، شماره ی دو هم فایل جانبی برای ارسال متن هست که در آخرین بسته گزاشتمش
فایلهای سوم تا هفتم هم پلاگین های موجود در بسته ی دوم هستند که تو این پست پیوستش کردم
شما باز هم چک کنید، اگه مشکلی بود در خدمتم
 

ubuntu

Member
درست شد. من هي تو اون نسخه اوليه کپي مي‌کردم و اون يکي نسخه رو اصلاً يادم نبود. متشکر...
 

BEHESHT

Well-Known Member
آقا محمد عزیز

جسارتاً یه سوال داشتم:

dicti تو ویندوز ویستا کملا جواب گو هست

چون خودم دارم روی ویندوز ویستا یه کمی تحقیق می کنم

فکر کنم جوابش رو همین روز ها تو انجمن مطرح کنم

کمی اطلاعات نیاز داشتم

اگر تو وندوز ویستا جوابگو هست به طور کامل ممنون میشم اطلاع بدید

ببینیم ما می تونیم غول ویستا رو شکست بدیم؟:lol:
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
آقا محمد عزیز

جسارتاً یه سوال داشتم:

dicti تو ویندوز ویستا کملا جواب گو هست

چون خودم دارم روی ویندوز ویستا یه کمی تحقیق می کنم

فکر کنم جوابش رو همین روز ها تو انجمن مطرح کنم

کمی اطلاعات نیاز داشتم

اگر تو وندوز ویستا جوابگو هست به طور کامل ممنون میشم اطلاع بدید

ببینیم ما می تونیم غول ویستا رو شکست بدیم؟:lol:
سلام،
راستش من الان خودم روی سیستمم ویستا دارم و با مشکل خاصی مواجه نشدم و برنامه وظایفش رو بدرستی انجام داد، در واقع بیشتر نگرانی من در رابطه با برنامه ی کمکی ساخته شده با AutoIt بود که اون هم مشکل خاصی نداشت.

بیشتر مشکلاتی که با ویستا بوجود میاد در کپی کردن اطلاعات هست، مثلاً ویستا اجازه ی کپی اطلاعات به درایو ویندوز و پوشه های سیستمی ویندوز رو نمیده یا بهتر بگم روی اون کنترل انجام میده، پس بهتر هست اطلاعاتی اگر نیاز هست که کپی بشه، در پوشه ی TEMP باشه تا مشکلی بوجود نیاد.
یک سری مشکلات دیگه مربوط به تغییر و ویرایش بعضی از مدخل های رجیستری هست که تا جایی که من در جریان هستم، ایجاد File Association برای یک پسوند خاص بجز با برنامه های Install Maker که دارای مجوز خاصی هستند، بدرستی عمل نمیکنه و بهترین و مطمئن ترین راه برای رجیستر کردن یک پسوند خاص استفاده از همون برنامه های Install Maker هست.
 

Free Man

کاربر متخصص مولتی مدیا بیلدر
با سلام.

کار جالب و به نوع خود جدیدی در ام ام بی می باشد، و همچنین یه پروژه ی جدی.

اگه نگم آفرین بی انصافی کردم ، کارتون خوب بوده.

فقط یه چیزی ،

فلسفه ی ایجاد و استفاده از بانک داده در این است که بتوانیم حجم انبوهی از اطلاعات را

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

حجم زیادی از نظر کامپیوتری ندارد (( در سیستم های امروزی و جدید این حجم داده به راحتی پردازش می شود ))

پس می توانیم به جای استفاده از بانک داده ، از فایل استفاده کنیم ، تنها در صورت استفاده از تصاویر در دیکشنری

پسندیده تر است که از بانک داده استفاده کنیم.

موفق باشید.
 

جدیدترین ارسال ها

بالا