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

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

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

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

منبع

Pass :freecomponents.blogfa.com

Download

تشخیص خالی بودن رشته ها در DotNet Framework 4.0

در نسخه های قبلی DotNet Framework معمولا برای تشخیص خالی و یا null بودن یک رشته از روش String.IsNullOrEmpty استفاده می شد. مشکل این روش این هست که تابع  IsNullOrEmpty معمولا رشته هایی که فقط دارای فاصله های خالی (whitespaces) هستند را به عنوان رشته خالی نمی شناسد و در حقیقت رشته ها را trim نمی کند و بنابراین برنامه نویس باید این کار را خود انجام می داد.

در قسمت زیر این عمل را ملاحظه  می نمایید.

private bool Check(string str)
{
    return String.IsNullOrEmpty(str.Trim());
}

در نسخه DotNet Framework 4.0 متد جدیدی به کلاس String اضافه شده است که انجام این کار را ساده تر نموده است. این متد IsNullOrWhiteSpace می باشد که رشته هایی را که خالی باشند، دارای مقدار null باشند و یا فقط حاوی فاصله های خالی باشند را به عنوان رشته خالی می شناسد.

نحوه استفاده از این متد را در زیر ملاحظه می نمایید (این متد معادل متد قطعه کد بالا می باشد).


private
bool Check(string str)
{
    return String.IsNullOrWhiteSpace(str);
}
 


منبع

ساخت فایل های Setup با نرم افزار InstallAware Studio Admin v9.0 R2 SP3


ساخت فایل های نصبی یا همان نرم افزارهایی که امروزه به صورت رایج از آن ها استفاده می کنیم امری است که امروزه بسیاری از کاربران حتی معمولی هم با آن سروکار دارند. کاربران حرفه ای مانند برنامه نویسان سعی می کنند برای ارائه هرچه بهتر محصول خود که همان نرم افزاری است که نوشته اند پس از تکمیل شدن کار مجموعه را در قالب یک نرم افزار نصبی به طرف مورد نظر تحویل دهند تا وی بتواند به راحتی کار نصب و دنبال کردن استفاده از نرم افزار را انجام دهد. ساخت چنین Installer هایی مستلزم استفاده از نرم افزارهای خاصی است. InstallAware Studio Admin یکی از مفیدترین ابزارهایی است که در این زمینه می توان نام برد. ابزاری کامل که با پشتیبانی از دو سیستم 32 بیت و 64 بیت دستان کاربران حرفه ای را برای انتخاب هریک از این دو پلتفرم کاملا باز می گذارد.
ساخت و مدیریت پوشه ها در هنگام نصب نرم افزارهایی که با این ابزار ساخته شده اند در کنار امکان مدیریت DLL ها و کپی صحیح آن ها در فولدرهای مورد نظر قابلیت های اصلی این ابزار را تشکیل می دهند. InstallAware Studio Admin طوری طراحی شده که کاربر به سادگی می توان به آن بفهماند که چه چیزی از نرم افزار می خواهد یعنی کاربر می تواند به راحتی و برای نمونه فایل هایی که مربوط به رجیستری هستند را به طور کامل برروی رجیستری ویندوز Import کند یا این که به راحتی قوانین استفاده از نرم افزار را با تشخیص و سلیقه خود طرح نماید. این ابزار همچنین دارای پلاگین هایی است که می توانند فرمت های نظیر MSM یا MSI را هم در هنگام نصب شناسایی و برای نصب آن ها اقدام کند.

این ابزار سازگاری بسیار کاملی هم با ویندوز محبوب 7 دارد به طوری که می توان فایل های Installer را طوری تنظیم کرد که در ویندوز هفت هم به راحتی برروی Desktop یک Shortcut از آن نصب شود یا برروی Taskbar قرار گیرد. قابلیت طراحی صفحه هایی که به عنوان واسط کاربری ، کاربران مشاهده می کنند ، قابلیت Debug در صورت وجود هر گونه مشکل ، پشتیبانی از .Net نسخه 4 و همچنین Java ، قابلیت اضافه کردن فعالسازی نرم افزار با سریال نامبر و همچنین ساخت اتوران از جمله دیگر قابلیت هایی هستند که در نسخه جدید و کامل این ابزار دیده می شوند.

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

منبع

Sisulizer 2010 309 Enterprise Edition Multilingual

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

قابلیت های کلیدی نرم افزار Sisulizer 2010 309 Enterprise Edition Multilingual:- قابلیت چند زبانه نمودن برنامه های خود
- دارای ابزار خط فرمان
- ترجمه و بومی سازی واژه نامه وب ASP ،JSP و PHP
- پایگاه داده های ترجمه و بومی سازی سرور
- استفاده ازسرور مبتنی بر حافظه
- استفاده از دستگاه موتور ترجمه
- و ...



دانلود با حجم ۵۱.۹ مگابایت

پسورد: www.kamyabonline.com

چگونه در SQL Server 2008 بعد از ساخت جدول ویژگی های یک ستون را تغییر دهیم

بارها و بارها پرسیده شده: چرا در SQL Server 2008 وقتی می خواهم از طریق SSMS خصیصه های فیلد های جدول را تغییر دهم پیغام زیر مشاهده می شود؟


راه حل

این مسیر را طی کنید:

Tools Menu -->Options... --> Designers -->Remove Tick from Check Box for "Prevent Saving Changes..."

منبع

Internet Mail .NET v5.0.5030


ابزاری برای ارسال راحت و آسان ایمیل

Internet Mail .NET v5.0.5030

The Catalyst Internet Mail .NET component makes it easy to send e-mail messages, manage the contents of a mailbox and download messages from a mail server from within your .NET application. It's a managed code class that is fully compatible with both Visual Studio 2003 .NET and Visual Studio 2005 as well as the upcoming release of Visual Studio 2008. Unlike other .NET classes which provide only very basic functionality or have complicated interdependencies, the Internet Mail class provides a comprehensive, unified interface that is easy to use and understand.

حجم : 6181 KB


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


Serial Port Tool Comm Operator 4.5.0.84

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


Serial Port Tool Comm Operator 4.5.0.84 | 3.4 Mb


Comm Operator is a professional tool for serial port, TCP/IP, UDP communication application's design, development, debug and test. It makes it more efficient for the development of hardware-software application, client-server application as well as internet application. It can send and receive data at very high speed. Data can be viewed in text, hex and decimal format. It is also able to create complex structure data, like ZigBee/XBee API data framework or GIS Garmin data package. All data are stored in lists which can be accessed easily from GUI. Data can be sent automatically with flexible auto sending rules. Perl, Python and Ruby script are supported as well as user's EXE and Plug-in dll. It is also able to create COP file. COP file can be opened by Comm Operator Pal, which is free lite version of Comm Operator.

For system designer, Comm Operator will save your time and money to build prototype. The protocol design can be done with Comm Operator only. The content in send data list can be used as test data for later development.

For software programmer and hardware engineer, Comm Operator can simulate the software and hardware. The system can be developed parallel and find out the problem easily.

For engineers who test and deploy the system, Comm Operator is the right tool for unit test. It can be setup as environment for parts before put the system online.

For support work, Comm Operator can create COP file and help customers fix problem in communication layer easily.

Features:

* Communicate with RS232, TCP/IP and UDP
* Work with Serial Port, Bluetooth, USB, Ethernet and Wifi
* Send, receive and view data in Text, Hex and Decimal format
* Capable of sending a file
* With specific send panel for NCD relay boards
* Support terminal panel and RST/DTR control
* Dedicated input panel for structured data
* Multiple customized panel for user's specific data
* Send data repeatedly with specified interval automatically
* Send single data and group data automatically according to auto send rules
* Support Perl, Python and Ruby Script to send data automatically
* Support third party's Plug-in (.net dll) and user own EXE to send data automatically
* Built-in Echo function for loopback test
* Asynchronous sending and receiving data
* Build-in checksum for Parity, Modular sum and Position-dependent checksums
* Organized data in list and work with multiple send data list
* Create send data list from Text, Hex and Decimal files directly
* Copy and paste data between different lists
* Drag and drop to open send data list directly
* Detect all available COM ports automatically
* Save log file automatically
* Keep all settings for later use
* Create COP file with current setting and data list for free tool Comm Operator Pal.

Size: 6.82 M

DotNetBar 9

DotNetBar Suite for Windows Forms is toolbox of 52 stunning components for creating professional user interface with ease. For over 9 years DotNetBar is helping developers like you create sleek professional Windows Forms (WinForms) user interfaces with unparalleled ease.

 

سایت سازنده

Size: 6.82 M

AppForge – CrossFire 6.0

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

The Crossfire Mobile Application Platform enables you to develop applications in popular programming languages that work across the major devices and operating systems on the market today. Crossfire currently supports more than 500 devices and operating system combinations, including most RIM, Palm, Symbian and Windows Mobile devices.

Organizations that are struggling with managing the challenges of multiple devices and operating systems will find Crossfire a welcome solution.

Crossfire 6.0 Features:

* Translation of Visual Basic .NET and C# into native J2ME applications for BlackBerry devices within Microsoft Visual Studio
* Support for the entire Palm Treo smartphone product family
* Enhanced support for Nokia Series 60 and Series 80 mobile devices

* A BlackBerry user interface within the Visual Studio.NET IDE, allowing developers to visually design, implement and debug applications as they will appear on BlackBerry devices
* BlackBerry Enterprise Server™ compatibility, enabling Crossfire-developed applications to be centrally managed and deployed in a secure manner
* Ability to debug applications directly on the desktop using Visual Studio debugging tools
* Support for over 500 mobile products including BlackBerry, Motorola, Nokia, Palm, and Sony Ericsson
* Integration with the industry’s leading mobile middleware providers


حجم : 61148 KB

SmartXLS for NET v2.1.8

ابزاری برای کار با فایلهای اکسل بدون نیاز به Microsoft Excel .

Is a high performance .NET component which can write, read, calculate Excel compatible files without the need for Microsoft Excel on either the developer or client machines. It was entirely written in 100% managed C# code. With 2010 support!

سایت سازنده

Size: 1010 KB

GdPicture.NET Toolkits Ver. 6.2.1 (07 April 2009)

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

سایت سازنده

Size: 41.73 MB

Password : jimmni

Dundas Map for Windows Forms Edition v1.5.1.100 for Visual Studio 2005 Retail

JetBrains Resharper v5.1.1751

ابزاری برای کد نویسی سریعتر و راحتر که به ویژوال استدیو اضافه میشه قبلا ورژن JetBrains Resharper v4.5.1.1274 را معرفی کرده بودم که این ورژن جدید آن است .

 

Size :  23.6 MB

Atalasoft.DotImage and DotTwain for NET v9.0.1.38592

مجموعه ابزاری کامل برای کار با عکس ها قبلا ورژن 6 این کامپوننت جالب رو براتون قرار داده بودم

Atalasoft DotImage, a full featured and easy to use .NET imaging toolkit, brings advanced imaging to your desktop or web applications. It includes a collection of innovative AJAX imaging controls for ASP.NET, Windows Forms controls for thick-client Windows applications, and a robust, high performance imaging API library. DotImage is extensible with several add-ons and codecs available as functionality is required.


Note:
1. The crack is for .NET Framework 2.0 and up only and 32-bit.
2. The strong names were removed from the cracked dlls so they cannot be installed into GAC.

سایت سازنده

Size : 78809 KB

 

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

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

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

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

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