Fa نیاز به راحت پیاده شدن اسکریپت

Shahim

Active Member
یک نرم افزار داشتم می نوشتم که شما می تونید چند دسته حروف داشته باشد که نرم افزار اونا رو براتون ترکیب کنه

مثلا:
دسته اول: ا ب ج د
دسته دوم: ه و ز
دسته سوم: ح ط ی
حالا اینا رو با هم ترکیب می کنه:
اهح - اهط - اهی - - اوح - اوط - اوی - - ازح - ازط - ازی

و همینطور الف هم تغییر می کنه تا آخر که چیزی حدود 36 تا تابع ایجاد می کنه

نرم افزار به خوبی این کار رو انجام می ده
ولی الآن من دو تا مشکل دارم
یکی اینکه وقتی که آمار توابع بالا می ره نرم افزار فقل می کنه و قاط می زنه
نرم افزار باید چیزی در حدود 5.000.000 تابع رو بتونه ایجاد کنه که هنگ می کنه
فرمول ساخت توابع درست هست ولی نرم افزار توان ایجاد این حجم تابع رو نداره

راهی وجود داره که مالتی مدیا کارش راحت تر بشه و (پلاگین یا یک ترفند؟)


و دومین مشکلم اینه که من می خواستم که در حین ساخت این توابع، تعداد توابع ساخته شده رو در همون لحظه بنویسه
ولی انگار تا وقتی که کل اسکریپت تموم نشه چیزی رو برای نمایش تغییر نمی ده

لطفا راهنمایی کنید
 

Aref_Alikhani

Well-Known Member
سلام:rose:

شاید الگوریتمی که شما برای این کار بکار بردی چندان مناسب نباشه و با کمی تغییر بشه اون رو کاراتر کرد اگه اونو اینجا بذاری راحت تر میشه نظر داد.
و احتمال دیگه ای که هست اینه که شما در پیاده سازی این الگوریتم از ساختارهایی مثل حلقه (دستور for) استفاده کرده باشی که شاید بشه با یه دستکاری کوچیک عمل این حلقه رو با اسکریپت تایمر پیاده سازی کرد که این طوری کمتر منابع سیستم مصرف خواهد شد.
و در مورد سوال دوم هم اگه کدهای نوشته شده رو اینجا قرار بدید مطمئنا دوستان می تونن راحتر راهنمایی کنن.
بنده متاسفانه این روزا شدیدا درگیرم و شاید نتونم پیگیر باشم:-? ولی مطمئنا دوستان و اساتید محترم راهنماییتون می کنن.
عارف
 

Shahim

Active Member
کد اصلی که حروف ها رو ترکیب می کنه اینه:
کد:
For a=1 To za
  For b=1 To zb
    For c=1 To zc
      For d=1 To zd
        For e=1 To ze
          For f=1 To zf
            For g=1 To zg
              nategh$[z]=nateghA$[a]+nateghB$[b]+nateghC$[c]+nateghD$[d]+nateghE$[e]+nateghF$[f]+nateghG$[g]
              z=z+1
            Next g
          Next f
        Next e
      Next d
    Next c
  Next b
Next a

اگر بعد از هر حلقه یک فرمان ایست 1 ثانیه ای بزارم کمک می کنه؟
 
آخرین ویرایش:

m javad

کاربر متخصص
فرمان مکث برای تکرار زیاد مناسب نیست چون باعث استفاده بیش از حد از منابع سیستم می شود

و به نظر من هم برای انجام این دستور از اسکریپت تایمر استفاده کنید بهتر است

کاملا برعکس هست !!!
ایجاد تایمر مقدار بیشتری از حافظه فعال رو درگیر میکنه،

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

amin_bp

Member
حالا چرا با مولتی مدیا ؟؟؟ c++ که خییلی برای این جور کد نویسی ها راحتتر هستش؟؟ تو محیط داس یکی با همین توابع مینویسم و میزارم

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

amin_bp

Member
ببخشید دیر شد چون کمپایلر نداشتم دانلود کردم !!!

این مثال رو نگاه کنید بدون هنگ کردن اجرا میشه !! فقط برای فارسی نویسی باید ترفند هایی بکار ببرید که اینجا جاش نیس :wink:
 

پیوست ها

  • NONAME00.rar
    31.3 کیلوبایت · بازدیدها: 30

Shahim

Active Member
خوب حالا متوجه شدم درسته که هنگ می کنه ولی وقتی که کارش تموم بشه درست می شه و نتیجه رو بدست می یاره


ولی هنوز مشکل دومم رو دارم
اینه که می خواستم حین اجرای اسکریپت تغییرات توی مالتی مدیا اعمال بشه
یا اینکه نمایش یک Loading یا اینجور چیزی به درستی انجام بشه و به مقدار توایعی که ایجاد شده میله ی لود به جلو بره
 

Shahim

Active Member
فکر کنم با استفاده از اسکریپت تایمر مشکلم حل بشه
آیا می شه کاری کرد که همون کار اسکریپت تایمر رو انجام بده ولی بدون نیاز به ساخت یک اسکریپت دیگه؟

آخه اینجور باید حدود 10 اسکریپت بسازم ولی اگر یک راه دیگه هم بود کار رو توی همون یه دونه انجام میدم
 

amirali_mj

Member
سلام مثالو ببینید
تو این مثال با کلمات ( ا ، ب ، پ ، ت )تعداد 600 کلمه به صورت رندوم ایجاد میشه و خروجی تو یه فایل به آدرس C:\Output.txt ریخته میشه
در ضمن مقدار پیشرفت برنامه با یه پروگرس بار نمایش داده میشه
 

پیوست ها

  • Media1.zip
    930 بایت · بازدیدها: 15

Shahim

Active Member
خیلی ممنون

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

ولی پروگرس بار خییل به دردم می خوره
ان شاء الله که مشکلم حل می شه
 

amin_bp

Member
این مثال جالب و کاربردی 600 تا کلمه بود ولی مثال من 10.000 تا کلمه. 4 حلقه 10 تایی تو در تو ! حالا برای توابع بیشتر خودت فکرشو بکن .
مثل این میمونه که آهنگ 6 مگی رو با دیال آپ دانلود کنی یا adsl 1 مگی !!!
 

Shahim

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



دوستان راهی برای ترکیب کلمه ندارن؟
خودم این بخش رو تموم کردم ولی خیلی طولانی شد و از همون روش قبلی هم استفاده کردم
می خواستم بدونم که کسی راه راحت تری نداره که بشه یک عبارت رو ترکیب کرد

مثلا این عبارت رو (ا ب ج د) رو اونقدر حروفش رو جا بجا کنه که همه حالات نوشته بشه
تعداد عبارتها رو هم می شه فاکتوریل تعداد حروف
 

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

بالا