Fa تكميل بحث لود random فايل نوشتاري

noorabas

Active Member
چطور ميشه يه EditBox قرار داد و نوشته مورد نظر رو كه بايد بين 114 فايل(M (1), M(2), ...) كه در هر كدوم يك فايل تكست (a.txt)قرار داره پيدا كرد.
 

evil_gates

اين نيز بگذرد ...
دوست عزيز

مثال شما اصلاح و پيوست شد. اما در مورد پست دومتون منظورتون رو متوجه نشدم. لطفا واضحتر توضيح بديد.

موفق باشيد
 

پیوست ها

  • random ayeh_suond.zip
    640.7 کیلوبایت · بازدیدها: 41

noorabas

Active Member
مفروضات مسئله
1.تعداد پوشه ها به تعداد سوره ها يعني 114 تا است.
2.نام پوشه ها به شكل m (1),m (2) , ...m(114) مي باشد.
3.در هر پوشه دو فايل تكست به نام هاي a.txt براي متن عربي و b.txt براي ترجمه موجود مي باشد.
اما سوال:
خب حالا مي خوايم يك فايل ايديت بوكس بذاريم كه متن مورد نظرمون رو توش بنويسم و با كليك بر گزينه بياب هم كل آيه با ترجمه رو نشون بده هم شماره سوره و آيه رو .
با تشكر
 

evil_gates

اين نيز بگذرد ...
دوست عزيز

چيزي كه شما دنبالش هستيد در واقع يك موتور جستجو براي متن آيات و ترجمه اون هست.

روش فعلي شما رو به خاطر اينكه با داده هاي فراواني درگير هستيد به هيچ وجه توصيه نميكنم.

بهتره همونطور كه قبلا گفتم با پلاگين SQLite يك ديتابيس بسازيد حاوي 5 تا فيلد (شماره سوره - نام سوره - شماره آيه - متن آيه - ترجمه فارسي) بعد آيات و ترجمه اون رو وارد ديتابيس كنيد و عمليات جستجو و نمايش اطلاعات رو به اين وسيله انجام بديد.

اما اگه اصرار داريد حتما با فايلهاي متني كار كنيد. راه حل اينه كه شما يك حلقه بسازيد كه 114 بار بچرخه و به ازاي هربار چرخش مقدار متغيرش رو به نام پوشه شما اضافه. و بعد آدرس پوشه و فايل متني مورد نظر رو بدست بياره.

به كمك توابع رشته اي StrFromFile و يك حلقه متن موجود تو فايل متني رو خط به خط بخونه و با تابع POS متن نوشته شده تو اديت باكس رو با متني كه از فايل برگشته مقايسه كنه و اگه نتيجه مثبت بود. اون خط رو تو يك متغير رشته اي بريزه.

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

راه حل ديگه اي كه براي فايلهاي متني ميشه مطرح كرد اينه كه شما شماره سوره، نام سوره، شماره آيه، متن آيه و ترجمه آيه رو تو تو يك خط و پشت سر هم قرار بديد و با يك كاراكتر خاص اونا رو از هم جدا كنيد.

تمام آيات رو به همين ترتيب تو فايل متني بريزيد و نهايتا يك فايل متني به وجود مياد كه با يك حلقه ميشه خط به خط متنش رو چك كرد. و نتيجه بدست اومده رو با توابع آرايه اي از هم جدا كرد و نمايش داد.

اما باز هم تاكيد ميكنم اين روشها تو داده هاي زياد مشكلات جدي رو ايجاد ميكنه. مشكلاتي مثل كاهش سرعت عمليات جستجو و اشتباه در بدست آوردن نتايج.
 

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

بالا