Forwarded from Omid Sotooni
تغییر کتاب های هنرستان از ویژوال بیسیک به سی شارپ
اين انتخاب به نظرم انتخاب مناسبي نيست. سي شارپ يک زبان خوب و قوي براي توسعه نرم افزار است، اما انتخاب مناسبي براي دانش آموزان (ديپلم) و شروع به برنامه نويسي نيست، چرا که سي شارپ بسيار گسترده بوده و بيشتر به يک تکنولوژي شبيه است، تا يک زبان برنامهنويسي، و بيشتر از اينکه برنامهنويسها را به فکر کردن وادار کند به يادگرفتن و پرداختن امور ديگر مثل ابزارها و آيتم هاي زيادي که دارد دعوت ميکند.
از همين جاست که دانش آموزان مقطع ديپلم از طريقه ي کدنويسي و الگوريتمي فکر کردن کاملاً جدا شده و فقط کار با ابزار و محيط Net. را ياد گرفته و محدود به اين محيط ميشوند(سي شارپ برنامهنويس را تنبل ميکند)…. .به نظرميرسد بهترين زبان براي مقطع ديپلم و شروع به برنامه نويسي زبان Turbo C++ است (البته با در نظر گرفتن شرايط خاصي که بسيار مهم هست). با اين روش دانش آموزان پايه کدنويسي قوي پيدا ميکنند و يادگرفتن اين زبان براي آنان مانند اين است که Java , C#, C, PHP, Android و تمام زبانهاي که به سينتکس C++ شبيه هستند (بهجز Delphi, Pascal ) را ياد گرفته اند. بنابراين به راحت ميتوانند براي ياد گرفتن زبانهاي بعدي خود را آماده سازند. شروع به آموزش برنامه نويسي با يک زبان ويژوالي مناسب نيست، چون بيشتر بجاي پرداختن به کدنويسي به شناختن و حفظ کردن مشخصات اشيا مثل Textboxو ListBox ميپردازند که مهم نبوده و در زبانهاي مختلف تفاوت دارد. البته ويژوال بيسيک نيز اين مشکلات را دارد و انتخاب مناسبي نيست ولي از سي شارپ مناسبتر است. اولين مفهوم سي شارپ کلاس و شي گرايي هست با وجود اين که دانشجويان کارشناسي نرمافزاري هستند که اين مفهوم را هنوز درک نکرده اند(سر فصل اول کتاب کلاس چيست؟).؟؟؟؟؟. البته دلايل بيشتر و محکمتري هست که تغيير کتاب درسي ويژوال بيسک به سي شارپ را مردود ميکند.
https://telegram.me/HeiltonProgramming
اين انتخاب به نظرم انتخاب مناسبي نيست. سي شارپ يک زبان خوب و قوي براي توسعه نرم افزار است، اما انتخاب مناسبي براي دانش آموزان (ديپلم) و شروع به برنامه نويسي نيست، چرا که سي شارپ بسيار گسترده بوده و بيشتر به يک تکنولوژي شبيه است، تا يک زبان برنامهنويسي، و بيشتر از اينکه برنامهنويسها را به فکر کردن وادار کند به يادگرفتن و پرداختن امور ديگر مثل ابزارها و آيتم هاي زيادي که دارد دعوت ميکند.
از همين جاست که دانش آموزان مقطع ديپلم از طريقه ي کدنويسي و الگوريتمي فکر کردن کاملاً جدا شده و فقط کار با ابزار و محيط Net. را ياد گرفته و محدود به اين محيط ميشوند(سي شارپ برنامهنويس را تنبل ميکند)…. .به نظرميرسد بهترين زبان براي مقطع ديپلم و شروع به برنامه نويسي زبان Turbo C++ است (البته با در نظر گرفتن شرايط خاصي که بسيار مهم هست). با اين روش دانش آموزان پايه کدنويسي قوي پيدا ميکنند و يادگرفتن اين زبان براي آنان مانند اين است که Java , C#, C, PHP, Android و تمام زبانهاي که به سينتکس C++ شبيه هستند (بهجز Delphi, Pascal ) را ياد گرفته اند. بنابراين به راحت ميتوانند براي ياد گرفتن زبانهاي بعدي خود را آماده سازند. شروع به آموزش برنامه نويسي با يک زبان ويژوالي مناسب نيست، چون بيشتر بجاي پرداختن به کدنويسي به شناختن و حفظ کردن مشخصات اشيا مثل Textboxو ListBox ميپردازند که مهم نبوده و در زبانهاي مختلف تفاوت دارد. البته ويژوال بيسيک نيز اين مشکلات را دارد و انتخاب مناسبي نيست ولي از سي شارپ مناسبتر است. اولين مفهوم سي شارپ کلاس و شي گرايي هست با وجود اين که دانشجويان کارشناسي نرمافزاري هستند که اين مفهوم را هنوز درک نکرده اند(سر فصل اول کتاب کلاس چيست؟).؟؟؟؟؟. البته دلايل بيشتر و محکمتري هست که تغيير کتاب درسي ويژوال بيسک به سي شارپ را مردود ميکند.
https://telegram.me/HeiltonProgramming
برنامه نويس به روش توليد خودکار کد Code Generation
سيستم هاي نرم افزاري روز به روز پيچيده تر شده و فرايند توليد آن ها نيز به همين ترتيب دچار پيچيدگي بيشتر مي شود، به طوري که برنامه نويسان مجبورند تا در هنگام پياده سازي يک نرم افزار با جزئيات گوناگوني دست و پنجه نرم کنند. همين امر موجب شده تا خطا هاي برنامه نويسي بيشتر شده و برنامه نويسي سيستم هاي نرم افزاري به يک کار زمان بر و پرهزينه تبديل گردد.استفاده از ابزار براي توليد کد از روي مدلها باعث مي شود کدها بهينه و ميزان خطا پايين بيايد. درنتيجه کيفيت نرمافزار بالا رفته و زمان کمتري صرف توسعه و توليد نرم افزار مي شود. استفاده از ابزارهاي توليد کد باعث افزايش قابليت جابه جايي بين سکوهاي مختلف، توليد نرم افزاري مطابق با فنّاوريهاي جديد، کاهش زمان و هزينه اجراي پروژه و نهايتا کاهش خطاي احتمالي کد توليد شده نسبت به توليد آن به روش دستي مي شود. با توجه به اين که ايجاد معماري يکسان براي يک سازمان، لازم و ضروري است. توليد کد با استفاده از ابزار باعث سازگاري و يکنواختي بالايي در کدهاي توليد شده مي شود. با توجه به اينکه برخي سازمانها به صورت همزمان از تکنولوژيهاي مختلف استفاده مي کنند و همچنين اين واقعيت که برخي نرمافزارها بايد به تکنولوژيهاي جديد ارتقا يابند، با استفاده از ابزار توليد کد، هم مي توان معماري يکسان و هم نرمافزارهايي براي تکنولوژيهاي مختلف را سريعتر و بهينه تر توليد کرد.
ابزار براي توليد خودکار کد استفاده مي شود که شما مي توانيد از بخش برنامه ها دانلود نماييد
Lotfi Code Generator
سيستم هاي نرم افزاري روز به روز پيچيده تر شده و فرايند توليد آن ها نيز به همين ترتيب دچار پيچيدگي بيشتر مي شود، به طوري که برنامه نويسان مجبورند تا در هنگام پياده سازي يک نرم افزار با جزئيات گوناگوني دست و پنجه نرم کنند. همين امر موجب شده تا خطا هاي برنامه نويسي بيشتر شده و برنامه نويسي سيستم هاي نرم افزاري به يک کار زمان بر و پرهزينه تبديل گردد.استفاده از ابزار براي توليد کد از روي مدلها باعث مي شود کدها بهينه و ميزان خطا پايين بيايد. درنتيجه کيفيت نرمافزار بالا رفته و زمان کمتري صرف توسعه و توليد نرم افزار مي شود. استفاده از ابزارهاي توليد کد باعث افزايش قابليت جابه جايي بين سکوهاي مختلف، توليد نرم افزاري مطابق با فنّاوريهاي جديد، کاهش زمان و هزينه اجراي پروژه و نهايتا کاهش خطاي احتمالي کد توليد شده نسبت به توليد آن به روش دستي مي شود. با توجه به اين که ايجاد معماري يکسان براي يک سازمان، لازم و ضروري است. توليد کد با استفاده از ابزار باعث سازگاري و يکنواختي بالايي در کدهاي توليد شده مي شود. با توجه به اينکه برخي سازمانها به صورت همزمان از تکنولوژيهاي مختلف استفاده مي کنند و همچنين اين واقعيت که برخي نرمافزارها بايد به تکنولوژيهاي جديد ارتقا يابند، با استفاده از ابزار توليد کد، هم مي توان معماري يکسان و هم نرمافزارهايي براي تکنولوژيهاي مختلف را سريعتر و بهينه تر توليد کرد.
ابزار براي توليد خودکار کد استفاده مي شود که شما مي توانيد از بخش برنامه ها دانلود نماييد
Lotfi Code Generator
چگونه محتوای داخل گرید ویو را تبدیل به اکسل ، ورد و پرنت کنیم ؟؟؟؟
______________________
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using excel = Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
using System.IO;
using System.Data;
using System.Runtime.InteropServices;
using System.Data.OleDb;
برای اکسل 👇
public void WriteToExcel(DataGridView dt, string location)
{
if (location.IndexOf("xls") == -1)
location += ".xlsx";
if (File.Exists(location))
{
try
{
File.Delete(location);
}
catch
{
;
}
}
//instantiate excel objects (application, workbook, worksheets)
excel.Application XlObj = new excel.Application();
XlObj.Visible = false;
excel._Workbook WbObj = (excel.Workbook)(XlObj.Workbooks.Add(""));
excel._Worksheet WsObj = (excel.Worksheet)WbObj.ActiveSheet;
//run through datatable and assign cells to values of datatable
try
{
int row = 1; int col = 1;
foreach (DataGridViewColumn column in dt.Columns)
{
WsObj.Cells[row, col] = column.HeaderText;
col++;
}
for (int i = 0; i < dt.Rows.Count; ++i)
{
for (int j = 0; j < dt.ColumnCount; ++j)
{
WsObj.Cells[i + 2, j+1 ] = dt.Rows[i].Cells[j].Value;
}
}
WbObj.SaveAs(location);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
WbObj.Close();
System.Diagnostics.Process.Start(location);
}
}
public DataTable ImportExceltoDatatable(string filepath,string SheetName)
{
if (SheetName.IndexOf("$") == -1)
SheetName += "$";
// string sqlquery= "Select * From [SheetName$] Where YourCondition";
string sqlquery = "Select * From ["+SheetName+"] ";
DataSet ds = new DataSet();
string constring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=\"Excel 12.0;HDR=YES;\"";
OleDbConnection con = new OleDbConnection(constring + "");
OleDbDataAdapter da = new OleDbDataAdapter(sqlquery, con);
da.Fill(ds);
DataTable dt = ds.Tables[0];
return dt;
}
______________________
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using excel = Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
using System.IO;
using System.Data;
using System.Runtime.InteropServices;
using System.Data.OleDb;
برای اکسل 👇
public void WriteToExcel(DataGridView dt, string location)
{
if (location.IndexOf("xls") == -1)
location += ".xlsx";
if (File.Exists(location))
{
try
{
File.Delete(location);
}
catch
{
;
}
}
//instantiate excel objects (application, workbook, worksheets)
excel.Application XlObj = new excel.Application();
XlObj.Visible = false;
excel._Workbook WbObj = (excel.Workbook)(XlObj.Workbooks.Add(""));
excel._Worksheet WsObj = (excel.Worksheet)WbObj.ActiveSheet;
//run through datatable and assign cells to values of datatable
try
{
int row = 1; int col = 1;
foreach (DataGridViewColumn column in dt.Columns)
{
WsObj.Cells[row, col] = column.HeaderText;
col++;
}
for (int i = 0; i < dt.Rows.Count; ++i)
{
for (int j = 0; j < dt.ColumnCount; ++j)
{
WsObj.Cells[i + 2, j+1 ] = dt.Rows[i].Cells[j].Value;
}
}
WbObj.SaveAs(location);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
WbObj.Close();
System.Diagnostics.Process.Start(location);
}
}
public DataTable ImportExceltoDatatable(string filepath,string SheetName)
{
if (SheetName.IndexOf("$") == -1)
SheetName += "$";
// string sqlquery= "Select * From [SheetName$] Where YourCondition";
string sqlquery = "Select * From ["+SheetName+"] ";
DataSet ds = new DataSet();
string constring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=\"Excel 12.0;HDR=YES;\"";
OleDbConnection con = new OleDbConnection(constring + "");
OleDbDataAdapter da = new OleDbDataAdapter(sqlquery, con);
da.Fill(ds);
DataTable dt = ds.Tables[0];
return dt;
}
برای ورد
👇👇👇
public void ExportGridToWord(GridView grdGridView, string fileName)
{
Response.Clear();
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.doc", fileName));
Response.Charset = "";
Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
Response.ContentType = "application/vnd.doc";
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
grdGridView.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.Flush();
Response.End();
}
👇👇👇
public void ExportGridToWord(GridView grdGridView, string fileName)
{
Response.Clear();
Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.doc", fileName));
Response.Charset = "";
Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
Response.ContentType = "application/vnd.doc";
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
grdGridView.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.Flush();
Response.End();
}
برای پرنت
👇👇👇👇
public void PrintGrid(GridView grdGridView)
{
GridView Gv = grdGridView;
Gv.AllowPaging = false;
Gv.DataBind();
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
Gv.RenderControl(hw);
string gridHTML = sw.ToString().Replace("\"", "'")
.Replace(System.Environment.NewLine, "");
StringBuilder sb = new StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload = new function(){");
sb.Append("var printWin = window.open('', '', 'left=0");
sb.Append(",top=0,width=1000,height=600,status=0');");
sb.Append("printWin.document.write(\"");
sb.Append(gridHTML);
sb.Append("\");");
sb.Append("printWin.document.close();");
sb.Append("printWin.focus();");
sb.Append("printWin.print();");
sb.Append("printWin.close();};");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());
Gv.AllowPaging = true;
}
👇👇👇👇
public void PrintGrid(GridView grdGridView)
{
GridView Gv = grdGridView;
Gv.AllowPaging = false;
Gv.DataBind();
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
Gv.RenderControl(hw);
string gridHTML = sw.ToString().Replace("\"", "'")
.Replace(System.Environment.NewLine, "");
StringBuilder sb = new StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload = new function(){");
sb.Append("var printWin = window.open('', '', 'left=0");
sb.Append(",top=0,width=1000,height=600,status=0');");
sb.Append("printWin.document.write(\"");
sb.Append(gridHTML);
sb.Append("\");");
sb.Append("printWin.document.close();");
sb.Append("printWin.focus();");
sb.Append("printWin.print();");
sb.Append("printWin.close();};");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());
Gv.AllowPaging = true;
}
مارگات همیلتون مهندس نرم افزاری که توانست کدهایی بنویسد که با کمک آن اولین فضانورد قادر به راه رفتن بر روی ماه شد www.heilton.com
الگو های طراحی Design Pattern
مفهوم الگو طراحی تنها در دنیای نرم افزار کاربرد ندارد بلکه در سایر زمینه های علمی نیز به طور مشابه استفاده می شود. الگو برای اولین بار توسط یک معمار ساختمان به نام کریستوفر الگساندر معرفی شد. او فهمید که بناهای خوب، دارای ویژگی های مشابه هستند و این ویژگی های مشابه را الگو نامید. الگو دید مشترکی نسبت به مشکل است و پیاده سازی مفهوم الگو را تغییر نمیدهد. هر الگو به توصیف مشکلی می پردازد که این مشکل در محیط، بسیار رخ میدهد. الگوی طراحی یک مکانیزم برای بیان تجربه در طراحی شیءگرا است و یک راه حل مناسبی که توسط افراد خبره برای یک نوع مشکل مدل شده، که بارها و بارها در طول طراحی می تواند استفاده شود . الگوها، توسعهدهندگان را قادر میسازند تا از راهحل خاصی که توسط افراد خبره مدون شده است مجدداً استفاده نمایند. الگوهای طراحی، مجموعه از دستورات هستند که نحوه انجام عمل معینی را در دنیای برنامه نویسی نشان می دهند(pree 1994). اتخاذ الگوی طراحی در طراحی برنامه های کاربردی و وب میتواند قابلیت استفاده مجدد و سازگاری بهتری را حمایت و ارائه کند . هرچه از عمر برنامه نویسی شیءگرا می گذرد توسعه دهندگان الگوهای بهتری را می توانند طراحی و ارائه نمایند که باعث می شود قابلیت گسترش و نگهداری را بهتر پشتیبانی کنند. الگوهای طراحی نتایج تجربیات یک برنامه نویس نیست، بلکه حاصل تجربیات صدها برنامه نویس و طراحی حرفه ای است که در طول سال های بسیار به دست آمده اند. الگوهای طراحی ابدا شده یا اختراع شده نیستند بلکه بازخورد طراحی ها و کد نویسی های مجدد است که برنامه نویسان برای کسب بیشترین انعطاف پذیری، توسعه پذیری و قابلیت استفاده ی مجدد با آن ها درگیر بودند. الگو های طراحی را می توان خلاصه تجربیات موفق برنامه نویسان دانست. استفاده از الگوهای طراحی باعث می شود که طراحی به دست آمده ساده، انعطاف پذیر و قابلیت استفاده مجدد بیشتری داشته باشد. با استفاده از الگوهای طراحی می توان در زمان و هزینه صرفه جوی کرد و همچنین مستند سازی و نگهداری سیستم آسانتر می شود
@HeiltonProgramming
مفهوم الگو طراحی تنها در دنیای نرم افزار کاربرد ندارد بلکه در سایر زمینه های علمی نیز به طور مشابه استفاده می شود. الگو برای اولین بار توسط یک معمار ساختمان به نام کریستوفر الگساندر معرفی شد. او فهمید که بناهای خوب، دارای ویژگی های مشابه هستند و این ویژگی های مشابه را الگو نامید. الگو دید مشترکی نسبت به مشکل است و پیاده سازی مفهوم الگو را تغییر نمیدهد. هر الگو به توصیف مشکلی می پردازد که این مشکل در محیط، بسیار رخ میدهد. الگوی طراحی یک مکانیزم برای بیان تجربه در طراحی شیءگرا است و یک راه حل مناسبی که توسط افراد خبره برای یک نوع مشکل مدل شده، که بارها و بارها در طول طراحی می تواند استفاده شود . الگوها، توسعهدهندگان را قادر میسازند تا از راهحل خاصی که توسط افراد خبره مدون شده است مجدداً استفاده نمایند. الگوهای طراحی، مجموعه از دستورات هستند که نحوه انجام عمل معینی را در دنیای برنامه نویسی نشان می دهند(pree 1994). اتخاذ الگوی طراحی در طراحی برنامه های کاربردی و وب میتواند قابلیت استفاده مجدد و سازگاری بهتری را حمایت و ارائه کند . هرچه از عمر برنامه نویسی شیءگرا می گذرد توسعه دهندگان الگوهای بهتری را می توانند طراحی و ارائه نمایند که باعث می شود قابلیت گسترش و نگهداری را بهتر پشتیبانی کنند. الگوهای طراحی نتایج تجربیات یک برنامه نویس نیست، بلکه حاصل تجربیات صدها برنامه نویس و طراحی حرفه ای است که در طول سال های بسیار به دست آمده اند. الگوهای طراحی ابدا شده یا اختراع شده نیستند بلکه بازخورد طراحی ها و کد نویسی های مجدد است که برنامه نویسان برای کسب بیشترین انعطاف پذیری، توسعه پذیری و قابلیت استفاده ی مجدد با آن ها درگیر بودند. الگو های طراحی را می توان خلاصه تجربیات موفق برنامه نویسان دانست. استفاده از الگوهای طراحی باعث می شود که طراحی به دست آمده ساده، انعطاف پذیر و قابلیت استفاده مجدد بیشتری داشته باشد. با استفاده از الگوهای طراحی می توان در زمان و هزینه صرفه جوی کرد و همچنین مستند سازی و نگهداری سیستم آسانتر می شود
@HeiltonProgramming
برنامه نویسی هیلتن
C#.wmv
نحوه کرک کردن ویژال استادیو 2015
(visual studio 2015)
(visual studio 2015)
برنامه نویسی هیلتن
Serial.txt
╔════════════════════════════════════════════════╗
║ Product Key : HM6NR-QXX7C-DFW2Y-8B82K-WTYJV ║
║ Product Key : 2XNFG-KFHR8-QV3CP-3W6HT-683CH ║
╠════════════════════════════════════════════════╣
║ @HeiltonProgramming
║ @HeiltonProgramming
║ @HeiltonProgramming
║ @HeiltonProgramming
║ @HeiltonProgramming
║
║ www.Heilton.com
║
╚════════════════════════════════════════════════╝
║ Product Key : HM6NR-QXX7C-DFW2Y-8B82K-WTYJV ║
║ Product Key : 2XNFG-KFHR8-QV3CP-3W6HT-683CH ║
╠════════════════════════════════════════════════╣
║ @HeiltonProgramming
║ @HeiltonProgramming
║ @HeiltonProgramming
║ @HeiltonProgramming
║ @HeiltonProgramming
║
║ www.Heilton.com
║
╚════════════════════════════════════════════════╝
Heilton
آموزش برنامه نویسی و طراحی سایت
گروه برنامه نویسی هیلتن برگزارکننده دوره های برنامه نویسی ،طراحی سایت ،برنامه نویسی موبایل،طراحی دیتابیس ، برنامه نویسی ویندوز،معماری نرم افزار به صورت عملی ،کاربردی و پروژه محور به صورت آنلاین و حضوری می باشد
کرک کردن سی شارپ 2015
Product Key : HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
Product Key : 2XNFG-KFHR8-QV3CP-3W6HT-683CH
لینک دانلود اموزش
Product Key : HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
Product Key : 2XNFG-KFHR8-QV3CP-3W6HT-683CH
لینک دانلود اموزش