آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آموزش انواع زبان های برنامه نویسی
آموزش زبان های برنامه نویسی

آموزش زبان های برنامه نویسی

آموزش انواع زبان های برنامه نویسی

خوش آمد گویی

سلام

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


مطالب این وب لاگ را تقدیم می کنم به آنان که همواره در تلاشند تا یاد بگیرند و دانش خود را به دیگران یاد دهند.


در سایت های مختلفی از نام و عنوان ما استفاده کردند که ما در همینجا اعلام می کنیم تنها وب سایت رسمی ما با عنوان پروژه چی  ProjeChi.ir است


 مشاهده وب سایت پروژه چی ProjeChi.ir

ساخت یک فایل Text در Asp.net

ساخت یک فایل Text در Asp.net 


ما یک فایل text داریم که میخواهیم اطلاعاتی را در آن ذخیره کنیم و هر بار اطلاعات به زیر اطلاعات قبلی اضافه شود.

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


 try

            {

            string path = @"d:\temp\MyTest.txt";


            // Create a string array with the additional lines of text

            string[] lines = { "Username: " + Username, "Password: " + Password, "UserIMI: " + UserIMI, "----------------------- " };


            // Append new lines of text to the file

            File.AppendAllLines(path,lines);

            }

            catch (Exception)

            {


            }

پیدا کردن یک ستون در کل جدول های دیتابیس در Sql Server

پیدا کردن یک ستون در کل جدول های دیتابیس


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

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


SELECT c.name AS ColName, t.name AS TableName

FROM sys.columns c

    JOIN sys.tables t ON c.object_id = t.object_id

WHERE c.name LIKE '%ShiftId%'

توضیحات کامل این مقاله را در سایت پروژه چی بخوانید


اجرای کدهای جاوا اسکریپت در آپدیت پنل

نحوه ی اجرای کدهای جاوا اسکریپت در Page Load

 هنگامی که از آپدیت پنل Update Panel استفاده میکنیم  کدهای جاوا اسکریپت به درستی اجرا نمی شوند برای اجرا شدن کدها کافی است که از کدهای زیر استفاده کنید

برای این کار کافی است که کد های خود را درون page Load قرار میدهیم


<script type="text/javascript">

function pageLoad(sender, args) {

//code Hire

}

</script>



نحوه ی تنظیم Session Expire در صفحات Dot Net Nuke

نحوه ی تنظیم Session Expire  در صفحات Dot Net Nuke


گاهی اوقات در صفحات Dot Net Nuke  با این مشکل مواجه می شویم که در حین کار کردن در صفحات Session Expire  می شود و روند کار کردن با سیستم با مشکل مواجه  می شود. برای حل این موضوع به روش زیر عمل می کنیم.


1) ابتدا مدیر سیستم به Dot Net Nuke وارد شود.

2) بعد از بخش منوها به به آدرس زیر بروید
Host>Host Settings>Other Settings

3) بعد به تنظیمات Users Online Time را روی 60 دقیقه قرار دهید تا این مشکل برطرف شود.


تبدیل تاریخ شمسی به میلادی در sql server

تبدیل تاریخ شمسی  به میلادی  در sql server

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

در این مثال ما با استفاده از یک تابع در  Sql Server این کار را انجام می دهیم.


ALTER Function [dbo].[ToTimeSolar] ( @date DATETIME )

RETURNS NVARCHAR(50)

BEGIN


DECLARE @shYear AS INT ,@shMonth AS INT ,@shDay AS INT ,@intYY AS INT ,@intMM AS INT ,@intDD AS INT ,@Kabiseh1 AS INT ,@Kabiseh2 AS INT ,@d1 AS INT ,@m1 AS INT, @shMaah AS NVARCHAR(max),@shRooz AS NVARCHAR(max),@DayCnt AS INT

DECLARE @DayDate AS NVARCHAR(max)


SET @intYY = DATEPART(yyyy, @date)


IF @intYY < 1000 SET @intYY = @intYY + 2000


SET @intMM = MONTH(@date)

SET @intDD = DAY(@date)

SET @shYear = @intYY - 622

SET @DayCnt = datepart(dw, '01/02/' + CONVERT(CHAR(4), @intYY))


SET @m1 = 1

SET @d1 = 1

SET @shMonth = 10

SET @shDay = 11


IF ( ( @intYY - 1993 ) % 4 = 0 ) SET @shDay = 12


WHILE ( @m1 != @intMM ) OR ( @d1 != @intDD )

BEGIN


  SET @d1 = @d1 + 1

  SET @DayCnt = @DayCnt + 1


  IF ( ( @intYY - 1992 ) % 4 = 0) SET @Kabiseh1 = 1 ELSE SET @Kabiseh1 = 0


  IF ( ( @shYear - 1371 ) % 4 = 0) SET @Kabiseh2 = 1 ELSE SET @Kabiseh2 = 0


  IF 

  (@d1 = 32 AND (@m1 = 1 OR @m1 = 3 OR @m1 = 5 OR @m1 = 7 OR @m1 = 8 OR @m1 = 10 OR @m1 = 12))

  OR

  (@d1 = 31 AND (@m1 = 4 OR @m1 = 6 OR @m1 = 9 OR @m1 = 11))

  OR

  (@d1 = 30 AND @m1 = 2 AND @Kabiseh1 = 1)

  OR

  (@d1 = 29 AND @m1 = 2 AND @Kabiseh1 = 0)

  BEGIN

    SET @m1 = @m1 + 1

    SET @d1 = 1

  END


  IF @m1 > 12

  BEGIN

    SET @intYY = @intYY + 1

    SET @m1 = 1

  END

  

  IF @DayCnt > 7 SET @DayCnt = 1


 SET @shDay = @shDay + 1

  

  IF

  (@shDay = 32 AND @shMonth < 7)

  OR

  (@shDay = 31 AND @shMonth > 6 AND @shMonth < 12)

  OR

  (@shDay = 31 AND @shMonth = 12 AND @Kabiseh2 = 1)

  OR

  (@shDay = 30 AND @shMonth = 12 AND @Kabiseh2 = 0)

  BEGIN

    SET @shMonth = @shMonth + 1

    SET @shDay = 1

  END


  IF @shMonth > 12

  BEGIN

    SET @shYear = @shYear + 1

    SET @shMonth = 1

  END

  

END



SET @DayDate = Convert(nvarchar(50),@shYear)+'/'+RIGHT('0' + CAST(@shMonth AS VARCHAR), 2)+'/'+RIGHT('0' + CAST(@shDay AS VARCHAR), 2)+  ' ' + LEFT(CONVERT(TIME,@date),5)


RETURN @DayDate

END


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

select dbo.ToTimeSolar('2016-06-25 04:05:52.447')

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

1395/04/05 04:05


convert Gregorian to persian date in sql server

convert miladi to persian date in sql server



رفتن به صفحه ی ورود به برنامه در ASP.NET

رفتن به صفحه ی ورود به برنامه در زمان پایان Session


هنگامی که در یک صفحه ی وب فرم Session برنامه Time Out می شود لازم است که بصورت اتوماتیک به صفحه ی ورود به برنامه برود تا کاربران سیستم دوباره وارد سیستم شوند .

برای اینکار کافی است که کد زیر را در صفحه ی Master Page برنامه ی وب قرار دهیم. تا به طور اتوماتیک هنگام Session Time out به صفحه ی ورود به برنامه برود.


Response.AppendHeader("Refresh", Convert.ToString(Session.Timeout * 60+5) + "; URL=Login.aspx");

نحوه ساخت Captcha برای سایت

نحوه ساخت Captcha برای سایت


وقتی که سایتی بر روی اینترنت بارگذاری می شود و دارای صفحه ی ورود کاربران به سامانه می باشد باید هنگام ورود به سامانه از Captcha استفاده شود تا از هک کردن سایت توسط روبات ها جلوگیری شود.

ساخت کپچا خیلی ساده است فقط کافی است طبق روش زیر عمل شود.

ابتدا در صفحه ی html کدهای زیر را قرار می دهیم.


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

 <asp:TextBox ID="txtCaptcha" runat="server" Width="200px"></asp:TextBox>

بعد تصویر نمایش کپچا  را در زیر قرار می دهیم.


 <table>

                                <tr>

                                    <td style="height: 50px; width:100px;">

                                        <asp:Image ID="imgCaptcha" runat="server" />

                                    </td>

                                    <td valign="middle">

                                        <asp:Button ID="btnRefresh" runat="server" Text="Refresh" OnClick="btnRefresh_Click" />

                                    </td>

                                </tr>

                            </table>

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


  public partial class GenerateCaptcha : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            Response.Clear();

            int height = 40;

            int width = 130;

            Bitmap bmp = new Bitmap(width, height);


            RectangleF rectf = new RectangleF(10, 5, 0, 0);


            Graphics objGraphics = Graphics.FromImage(bmp);

            Color objcolor = Color.FromArgb(250,182,239, 147);

            objcolor.GetHue();

            objGraphics.Clear(objcolor);


            objGraphics.SmoothingMode = SmoothingMode.AntiAlias;

            objGraphics.InterpolationMode = InterpolationMode.HighQualityBicubic;

            objGraphics.PixelOffsetMode = PixelOffsetMode.HighQuality;

            string objtext = Session["captcha"].ToString();

            string objnewText = "";

            for (int i = 0; i < objtext.Length; i++)

            {

                objnewText += objtext.Substring(i,1);

                objnewText += " ";

            }


            objGraphics.DrawString(objnewText, new Font("Thaoma", 16, FontStyle.Strikeout), Brushes.Gray, rectf);

            objGraphics.DrawRectangle(new Pen(Color.Gold), 1, 1, width - 2, height - 2);

            objGraphics.Flush();

            Response.ContentType = "image/jpeg";

            bmp.Save(Response.OutputStream, ImageFormat.Jpeg);

            objGraphics.Dispose();

            bmp.Dispose();

        }

    }



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


 protected void Page_Load(object sender, EventArgs e)

        {

           

            if (!IsPostBack)

            {

                FillCapctha();

            }


        }

        void FillCapctha()

        {

            try

            {

                Random random = new Random();

                string combination = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

                StringBuilder captcha = new StringBuilder();

                for (int i = 0; i < 6; i++)

                    captcha.Append(combination[random.Next(combination.Length)]);

                Session["captcha"] = captcha.ToString();

                imgCaptcha.ImageUrl = "GenerateCaptcha.aspx?" + DateTime.Now.Ticks.ToString();

                //HandlerTest.ashx

                //imgCaptcha.ImageUrl = "HandlerTest.ashx?" + DateTime.Now.Ticks.ToString();

            }

            catch

            {


                throw;

            }

        }


        protected void btnRefresh_Click(object sender, EventArgs e)

        {

            FillCapctha();

        }


        protected void btnRegister_Click(object sender, EventArgs e)

        {

            if (Session["captcha"].ToString().ToLower() != txtCaptcha.Text.Trim().ToLower())

                Response.Write("Invalid Captcha Code");

            else

                Response.Write("Valid Captcha Code");

            FillCapctha();

        }

    }


نحوه صدا زدن وب سرویس های با وردی و خروجی JSON

نحوه صدا زدن وب سرویس هایی با وردی و خروجی JSON


برای صدا زدن وب سرویس های Json  در محیط کد نویسی #C با روش زیر عمل می کنیم.


            var webAddr = "http://localhost:28327/IVR/IVRService.svc/CookiePursuitService/xxxx";

            var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);

            httpWebRequest.ContentType = "application/json; charset=utf-8";

            httpWebRequest.Method = "POST";


            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))

            {

                string json = "{\"Key\":\"50xxxxx\",\"TrackingNo\":\"94xxxxx\"}";


                streamWriter.Write(json);

                streamWriter.Flush();

            }


            var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();

            using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))

            {

                var result = streamReader.ReadToEnd();

            }

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



نحوه باز کردن تنها یک فرم در فرم پدر در ویندوز فرم

نحوه باز کردن تنها یک فرم در فرم پدر  در ویندوز فرم


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


1- ابتدا متد زیر را می نویسیم



        private void ShowForm(Form childForm, FormWindowState windowState)

        {

            this.Refresh();

            foreach (Form frm in this.MdiChildren)

            {

                if (frm.Text == childForm.Text)

                {

                    frm.Activate();

                    childForm.Dispose();

                    return;

                }

            }


            ToolStripItem item = toolStripDropDownButton1.DropDownItems.Add(childForm.Text);

            item.Name = childForm.Name;


            childForm.MdiParent = this;

            if (windowState == FormWindowState.Maximized)

            {

                childForm.WindowState = FormWindowState.Normal;


                childForm.Width = this.ClientRectangle.Width - 20;// _MaxWidth;

                childForm.Height = this.ClientRectangle.Height - 50;//_MaxHeight;

                childForm.MaximizeBox = false;

            }

            else

                childForm.WindowState = windowState;


            childForm.StartPosition = FormStartPosition.CenterScreen;

            childForm.FormClosed += new FormClosedEventHandler(childForm_FormClosed);


            childForm.Show();

        }


2- برای بستن فرم ها هم از متد زیر استفاده می کنیم


        private void childForm_FormClosed(object sender, FormClosedEventArgs e)

        {

            string childName = ((Form)sender).Name;


            if (e.CloseReason == CloseReason.UserClosing)

            {

                ToolStripItem item = toolStripDropDownButton1.DropDownItems.Cast<ToolStripItem>().Where(p => p.Name == childName).FirstOrDefault();

                if (item != null)

                {

                    toolStripDropDownButton1.DropDownItems.Remove(item);

                    item.Dispose();

                }

            }

        }


3- هنگام نمایش دادن فرم ها بصورت  زیر عمل می کنیم


             FormNew frmnew=new FormNew();

             ShowForm(frmnew, FormWindowState.Normal);


4-  در تول استریپ دراپ دان هم کد زیر را قرار می دهیم تا با هر بار کلیک بر روی آن فرم مورد نظر باز شود.


    private void toolStripDropDownButton1_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)

        {

            Form frm = this.MdiChildren.Where(p => p.Name == e.ClickedItem.Name).FirstOrDefault();

            if (frm != null)

            {

                if (frm.MaximizeBox)

                    frm.WindowState = FormWindowState.Maximized;

                else

                    frm.WindowState = FormWindowState.Normal;

                frm.StartPosition = FormStartPosition.CenterParent;

                frm.Activate();

            }

        }


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



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


   private void ToolStripMenuItemCloseAll_Click(object sender, EventArgs e)

        {

            this.CloseAll();

        }

        private void CloseAll()

        {

            foreach (Form child in this.MdiChildren)

            {

                child.Close();

                child.Dispose();

            }

        }

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


  private void toolStripDropDownButton1_DropDownOpening(object sender, EventArgs e)

        {

            if (this.MdiChildren.Count() > 0)

                ToolStripMenuItemCloseAll.Enabled = true;

            else

                ToolStripMenuItemCloseAll.Enabled = false;

        }