جلوگیری از اجرای چندین نمونه از برنامه به صورت همزمان

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

اجرای چند نمونه از برنامه  می تواند مشکلاتی را در مورد دسترسی همزمان به اطلاعات و به اشتراک گزاردن منابع و غیره به وجود آورد.  حتی ممکن است که کاربر لایسنس اجرای یک نمونه از برنامه را در هر زمان خریده باشد و در این صورت نباید بتواند چندین نمونه از برنامه را همزمان اجرا نماید.

برای انجام این عمل روش های متفاوتی وجود دارد که هر کدام دارای مشکلاتی می باشند. در این مقاله به  معرفی یکی از بهترین روش ها می پردازم.

منبع

Pass :freecomponents.blogfa.com

Download

الگوریتم های فشرده سازی

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

لینک هارو برین دریفت کنین و نظر هم بدین !

http://www.csharp.persiangig.com/document/Alghorithm.zip

http://www.csharp.persiangig.com/document/Algorithm2.zip

http://techmix.persiangig.com/Compress[1].pdf

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

اما قسمت بعدی هم دوتا سورس مامانی تو دل برو دات نت {سی شارپ و وی بی} برای ااین الگو هاست امیدوارم مفید باشه

اولی الگوی انکد کردن با(( آر لی ای)) هست که به زبان سی شارپ و توسط من نوشته شده :

private string looped;//Dim looped() As String (Char Hayeh Tekrary!!!)
            private string sh;

public string RLE(string str)
      { 
         sh=null;
         looped=str[0].ToString();
         int len=str.Length;//Dim len As Integer=Len(str2)
         char lastchr;//Dim lastchr As String
         try
         {
            for(int b=1;b!=str.Length;b++)//For b=1 To Len(str2(i)
            {
               lastchr=str[b-1];
               if(lastchr==str[b])
               {
                  looped=looped+str[b];
               }
               else if(lastchr!=str[b])
               {
                  looped+="|";
                  looped=looped+str[b];
               }
            }//End For
            string[]after=looped.Split("|".ToCharArray());
            for(int i=0;i!=after.Length;i++)
            {
               sh+=after[i].Length.ToString()+after[i].Substring(0,1);
            }
            //sh=sh.Replace("|","");
         }
         catch(System.Exception ea)
         {
            MessageBox.Show(ea.Message);
         }
         return sh;
      }

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

Public Function RLD(ByVal TxtInput As String) As String
        Dim nextB, newB, Tekrar, outT As String
        Dim i, d As Integer
        i = 1
        Do Until i > Len(TxtInput)
            nextB = Mid(TxtInput, i + 1, 1)
            newB = Mid(TxtInput, i, 1)
            If IsNumeric(newB) And IsNumeric(nextB) = False Then
                For d = 1 To newB
                    Tekrar = Tekrar & nextB
                Next
            Else
                If Len(Tekrar) > 0 Then
                    outT = outT & Tekrar
                    Tekrar = ""
                Else
                    outT = outT & newB
                End If

            End If
            i = i + 1
        Loop
        Return outT
    End Function

خب امیدوارم مفید واقع شده باشه !!! آقا نظر یادتون نره ها !!!!

برنامه هشت وزیر

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

برنامه تعیین مثلثی بودن ماتریس

با سلام به همه دوستان

این بار برنامه تعیین بالا مثلثی یا پایین مثلثی بودن ماتریس های n*n ، که فکر می کنم بیش از سی بار درخواست شده بود رو براتون نوشتم. ابتدا توضیحاتی برای سایرین می دم:
ماتریس بالا مثلثی:

ماتریسی که تمام اعداد پایین قطر اصلی آن 0 باشند ، ماتریس بالا مثلثی نام دارد.
به بیان دیگر می توان گفت ، در ماتریس های بالا مثلثی ، رابطه زیر برقرار است:
If I>J => X[I,J]=0
 
ماتریس بالا مثلثی

ماتریس پایین مثلثی:
ماتریسی که تمام عناصر بالا و سمت راست قطر اصلی آن 0 باشند ، ماتریس پایین مثلثی نام دارد.
به بیان دیگر ، ماتریسی پایین مثلثی است که رابطه زیر در آن بر قرار باشد:
If  J>I => X[I,J]=0
 
ماتریس پایین مثلثی
 
 
حالا کمی در مورد برنامه توضیح بدم: این برنامه تشخیص می ده که یک ماتریس ، بالا مثلثی است ، پایین مثلثی یا هردو. بدین شکل که ابتدا تعداد ردیف (و ستون ها) و سپس عناصر ردیف ها به ترتیب از ورودی دریافت می شوند و برنامه ، نتیجه را برای شما می نویسد.

برنامه دوز بصورت گرافیکی (ویژوال) Tic Tac Toe

بازم سلامبرنامه دوز به زبان سی پلاس پلاس

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

این هم عکس برنامه:

 برنامه دوز به زبان ویژوال سی پلاس پلاس - TicTacToe





















خب با توجه به عکس معلومه که کار با برنامه چطوری هست.

به علت بالا بودن حجم برنامه فایل release اون رو برای دانلود میذارم.
دانلود برنامه دوز به زبان ویژوال سی پلاس پلاس ، حجم : 939 کیلوبایت
Download TicTacToe by Visual C++ - release v 1.00
امیدوارم از این بازی لذت ببرید!

2 سورس دیگر

امروز میخوام یه سورس دیگه براتون بذارم بلکه خوشتون بیاد نظر بدید.

سورس دو تا برنامه هست به زبان ++c که یکیش ساعته و دیگریش بازی شبیه پینگ پونگ:

 لینک دانلود

سورس فیبوناچی

سلام

این سورس دنباله معروف فیبوناچی که حتماْ همه اونو میشناسن.

دست پخت خودمه و تازه تازس.

کارش اینطوری که شما ازش nامین عدد دنباله فیبوناچی رو درخواست میکنید و اون بهتون میگه که کدوم عدده؟!

البته چون متغیراش از نوع int هستن فقط تا 46 مین عدد رو میتونه حساب کنه اگه میخواید بیشترم حساب کنه باید خودتون نوع متغیراش رو عوض کنید مثلاً float ,....

لینک دانلود

سورس دوز

سلام

این سورس دوز کار خودمه و گرافیکی هم نیست ولی ساده و جالبه.

اگه خواستید دانلود کنید و نظرم بدید.

لینک دانلود

مساحت اشکال دایره ای شکل

این سورس مربوط به مساحت اشکال دایره شکل مثل خود دایره ُ مخروط و ... است.

لینک دانلود

دفترچه تلفن

سلام

امروز یه سورس دفترچه تلفن براتون گذاشتم که البته کار خودم نیست.

 

لینک دانلود

دوز اصلاح شده

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

لینک دانلود

سورس حرکت اسب در خانه های شطرنج

یکی از جالب ترین مساله هایی که در C++ مطرح میشه مساله Knight tour است که در آن مهره اسب شطرنج باید از یک نقطه درون صفحه شطرنج شروع کرده با گذشتن از تمام خانه ها فقط  و فقط یک بار 64 خانه را طی کند.

  

ابتدا به خانه هایی میرود که احتمال گذر از آنان کمتر است .

 

لینک دانلود

مثلث خیام-پاسکال

سلام

اینم یه سورس توپ و به درد بخور که البته کار دوستم سیناس و از همین جا ازش تشکر میکنم.
به وبلاگ باحالشم سر بزنید : http://www.sstarsprograms.blogfa.com
 
 

مثلث خیام-پاسکال(نیوتن-پاسکال)

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

...

 

مثلث خیام-پاسکال مثلثی از اعداد است که هر عدد از جمع دو عدد بالای خودبدست می آید.

از این مثلث می توانید در محاسبه عبارتهای مختلفی استفاده کنید.

مثلا در محاسبه حاصل عباراتی چون (a+b)n. عدد های این مثلث ضرایب عبارات هستند.

 

                                                                  1                (a+b)0

                                                               11               (a+b)1

                                                               121              (a+b)2

                                                               1331             (a+b)3

                                                                                         ...

 

مثلا برای محاسبه(a+b)۶به ردیف هفتم مثلث مراجعه می کنیم که و از اعداد آن به عنوان ضرایب ساتفاده می کنیم.

(a+b)6=a6+6a5b+15a4b2+20a3b3+15a2b4+6ab5+b6

 

 

یا در مسائلی همچون این سوال:

احتمال افتادن گلوله در محل مشخص شده را

محاسبه کنید.

 

 

 

 

 

 

 

ابتدا شماره های مثلث خیام-پاسکال را در خانه ها می نویسیم:

 

 

 

 

 

 

 

 

 


مشاهده می کنید که تعداد راه های ورود گلوله به محل مورد نظر برابر عدد آن محل در مثلث خیام پاسکال است.همچنین مجموع احتمالات  برابر مجموع اعداد آخرین ستون است.یعنی در این سوال احتمال برابر 32/5 است.

توجه داشته باشید که مجموع اعداد در ردیف n ام برابر است با:      2n

 

در این برنامه شما تعداد ردیف مورد نظر را وارد می کنید و برنامه مثلث خیام پاسکال را تا آن ردیف محاسبه می کند.

 

دانلود برنامه مثلث خیام-پاسکال

نرم افزار کتابداری(سطح ابتدایی)

سلام

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

این برنامه کارش اینه که اسامی کتابهارو به همراه موضوع ونویسنده اونارو میگیره و بعد قابلیت سه نوع جستجو بر اساس اسم و موضوعو نام نویسنده رو داره.

میتونید کتابهارو هم اضافه و کم کنید و...

لینک دانلود

برنامه مناسب برای تمرین آرایه ها

سلام

 برنامه ای که 10 بیت از دیوان حافظ را در یک آرایه ای 10 سطر ی از رشته ها قرار دهد سپس هر زمان که کاربر کلید اینتر را فشار داد یک بیت را به طور رندوم انتخاب کند.

لینک دانلود

برنامه شمارش معکوس با تابع بازگشتی

برنامه یه عدد رو میگیره و با استفاده از تابع بازگشتی شمارش معکوس آنرا انجام میده.

لینک دانلود

زیر مجموعه های یک مجموعه

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

لینک دانلود

سورس ساعت دینامیک

سلام

اینم یه برنامه ساده که ساعت و تاریخ رو نشون میده

لینک دانلود