سورس یک فروشگاه کامل
نمونه این وب سایت در سایت های گوناگون با قیمت ۴۰ تا ۱۰۰ هزار تومان به فروش می رسد که هم اکنون می توانید از وب سایت سارین یار به صورت رایگان دانلود کنید
یک وب میل کامل و حرفه ای که با Asp.net به زبان سی شارپ پیاده سازی شده است
با استفاده از این سورس کد شما می توانید برای خودتان یک سرویس ایمیل حرفه ای راه بیندازید
نمونه این وب میل در سایر وب سایت ها با قیمت های بالا به فروش می رسد
شما می توانید هم اکنون بصورت رایگان از سارین یار دانلود نمایید
Imports Microsoft.VisualBasic Imports System.Web.Mail Imports system.web.Configuration Public Class ClsEMail Inherits System.Web.UI.Page Enum BodyFormatt TextBody HtmlBody End Enum Public Function SendEmail(ByVal FromAddr As String, ByVal ToAddr As String, ByVal Subject As String, ByVal Body As String _ , ByVal SmtpServer As String, ByVal SmtpUserName As String, ByVal SmtpPassword As String, ByVal BFormat As BodyFormatt) Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing" Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver" Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport" Const cdoSMTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" Const cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" Const cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername" Const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword" Const cdoBasic = 1 Const cdoSendUsingPort = 2 Dim objConfig ' As CDO.Configuration Dim objMessage ' As CDO.Message Dim Fields ' As ADODB.Fields ' Get a handle on the config object and it's fields objConfig = Server.CreateObject("CDO.Configuration") Fields = objConfig.Fields ' Set config fields we care about With Fields .Item(cdoSendUsingMethod) = cdoSendUsingPort .Item(cdoSMTPServer) = SmtpServer '/// Smtp NAme '"Mx1.Mail.yahoo.com" /// .Item(cdoSMTPServerPort) = 25 .Item(cdoSMTPConnectionTimeout) = 10 .Item(cdoSMTPAuthenticate) = cdoBasic .Item(cdoSendUserName) = SmtpUserName .Item(cdoSendPassword) = SmtpPassword .Update() End With objMessage = Server.CreateObject("CDO.Message") objMessage.Configuration = objConfig With objMessage .To = ToAddr ' "Email1@yahoo.com , Email2@yahoo.com , Email3@gmail.com" .From = FromAddr ' "From@Yahoo.com" .Subject = Subject ' "SMTP Relay Test" Select Case BFormat Case BodyFormatt.HtmlBody .HTMLBody = Body Case BodyFormatt.TextBody .TextBody = Body End Select .Send() End With Fields = Nothing objMessage = Nothing objConfig = Nothing End Function End Class
سورس کامل برنامه چت در سی شارپ به همراه کلاینت و سرور
مناسب جهت یادگیری ارسال دریافت اطلاعات تحت اینترنت
اکثر وب سایت ها هنگام ورود کاربران یا همان Login کردن، برای راحتی کاربر قابلیتی دارند به نام “Remember me” یا “من را بخاطر بسپار” که با تیک زدن آن کاربر از آن به بعد می تواند بدون اینکه نام کاربری یا رمز عبور خود را وارد کند، از امکانات سایت استفاده کند. نمونه این قابلیت را حتماً هنگام وارد شدن در جی میل دیده اید. در این مطلب کوتاه آموزشی می خواهیم چنین قابلیتی برای یک وب سایت مبتنی بر ASP.NET پیاده سازی کنیم.
ابتدا باید بدانید که این قابلیت توسط کوکی ها پیاده سازی می شوند. Cookie یک فایل فایل متنی کوچک است که توسط مرورگر به درخواست یک صفحه وب ساخته می شود و برای استفاده های بعدی خوانده می شود. از آنجا که اطلاعات یک کوکی در هارد دیسک کاربر ذخیره می شوند، شما نباید اطلاعات حساس مانند رمزعبور کاربر را در آن نگهداری کنید. ASP.NET برای استفاده از کوکی ها کلاس هایی در نظر گرفته است. شما باید برای استفاده از کوکی ها ابتدا فضای نام System.Net را using کنید. در این مثال فرض می کنیم که شما با مباحث پایه ای ASP.NET آشنایی دارید.
صفحه لاگین خود را باز کنید و یک کنترل CheckBox به آن اضافه کنید و نام آن را به chkRemember تغییر دهید. در روال لاگین خود یعنی وقتی که کاربر درخواست ورود به سایت را می فرستد (مثلاً روی دکمه Login کلیک می کند) کدهای زیر را قرار دهید.
if (chkRemember.Checked)
{
HttpCookie cookie = new HttpCookie(“YourAppLogin”);
cookie.Values.Add(“username”, txtUsername.Text);
cookie.Expires = DateTime.Now.AddDays(15);
Response.Cookies.Add(cookie);
}
کد بالا ابتدا چک می کند که آیا چک باکس توسط کاربر تیک خورده است یا خیر. اگر تیک خورده یعنی اینکه کاربر می خواهد وب سایت شما او را بخاطر بسپارد. سپس cookie را از کلاس HttpCookie نمونه سازی می کنیم و نام آن را YourAppLogin می گذاریم که در اینجا شما باید نام اپلیکیشن خود را به جای آن بگذارید (یا هر نام دلخواه دیگری) سپس Username کاربر را در این کوکی ذخیره می کنیم. txtUsername را به نام کامپوننتی که Username را از کاربر می گیرد تغییر دهید. در اینجا شما می توانید مقادیر دیگری را به همین شکل به کوکی اضافه کنید، به طور مثال ID کاربر را نیز برای هدف خاصی ذخیره کنید. در خط بعدی با Expires به مرورگر می گوئیم که پس از 15 روز این کوکی را به صورت خودکار حذف کند. این زمان را می توانید با تغییر عدد 15 عوض کنید. در خط آخر نیز باید این کوکی را به مجموعه کوکی های مرورگر اضافه کنیم.
خب حالا که کوکی را ایجاد کردیم باید در تمام صفحاتی که کاربر نیاز به لاگین کرده داشته آن را چک کنیم که اگر وجود داشت دیگر از او نام کاربری و رمزعبور را نخواهیم. و باید بتوانیم مقدار نام کاربری که در کوکی ذخیره کردیم را بخوانیم و از آن استفاده کنیم.
if (Request.Cookies["YourApLogin"] != null)
{
string username = Request.Cookies["YourAppLogin"].Values["username"]);
}
استفاده از کدهای بالا در صورتی است که شما Login را به صورت دستی کدنویسی کرده باشید. کسانی که از روش Forms Authentication و قابلیت Membership در ASP.NET استفاده می کنند به راحتی با یک خط کد زیر می توانند از این قابلیت استفاده کنند :
FormsAuthentication.SetAuthCookie(txtUsername.Text, chkRemember.Checked);
یکی از مهمترین محدودیت های view state ، شعاع استفاده از اطلاعات ذخیره شده در آن توسط سایر صفحات وب است . اطلاعات ذخیره شده در view state صرفا” توسط صفحه ای که آنها را ایجاد کرده است قابل استفاده می باشند و سایر صفحات نمی توانند از اطلاعات فوق استفاده نمایند . به عنوان مثال ، در صورتی که کاربر به صفحه ای دیگر حرکت و یا هدایت شود ، اطلاعات ذخیره شده در view state قابل دستیابی نبوده و عملا” از بین خواهند رفت . برای غلبه بر محدودیت فوق ( انتقال اطلاعات از یک صفحه به صفحه دیگر )، از روش های متعدد دیگری می توان استفاده کرد .
در این بخش ، با روش انتقال اطلاعات از یک صفحه به صفحه ای دیگر با استفاده از cross-page posting آشنا خواهیم شد .
cross-page posting
یکی از امکانات جدید ارائه شده در ASP. NET 2.0 ، امکان postback یک صفحه به صفحه ای دیگر است ( برخلاف گزینه پیش فرض که هر صفحه به خود postback می گردد ) .
بدین منظور خصلت جدید PostBackUrl در کنترل هائی نظیر ImageButton ، LinkButton و Button پیش بینی شده است . برای استفاده از ویژگی فوق کافی است مقدار PostBackUrl برابر با آدرس صفحه مقصد در نظر گرفته شود . بدین ترتیب ، پس از کلیک بر روی دکمه موجود بر روی فرم ، صفحه به همراه تمامی مقادیر کنترل های ورودی موجود بر روی آن برای آدرس مشخص شده ارسال می گردد .
مثال
در این مثال بر روی فرم وب از دو کنترل text box و یک کنترل button استفاده شده است ( صفحه Crosspage1.aspx ) . پس از کلیک بر روی دکمه موجود بر روی فرم ، اطلاعات موجود بر روی فرم برای صفحه ای با نام Crosspage2.aspx ارسال می گردد .
صفحه Crosspage1.aspx |
<script runat=”server”> |
صفحه Crosspage1.aspx شامل هیچگونه کدی نمی باشد .
پس از اجرای کد فوق و کلیک بر روی دکمه “ارسال به صفحه دیگر” ، صفحه برای CrossPage2.aspx ارسال می گردد . صفحه Crosspage2.aspx با استفاده از خصلت Page.PreviousPage قادر به برقراری ارتباط با صفحه Crosspage1.aspx خواهد بود .
کد زیر نحوه دریافت و نمایش عنوان صفحه قبلی را در صفحه Crosspage2.aspx نشان می دهد .
صفحه Crosspage2.aspx |
<script runat=”server”> |
شکل ۱ ، نحوه انتقال اطلاعات از یک صفحه به صفحه دیگر را نشان می دهد .
شکل ۱ : نحوه انتقال اطلاعات از یک صفحه به صفحه دیگر
در صفحه Crosspage2.aspx قبل از تلاش برای دستیابی به شی PreviousPage ، مقدار آن با null بررسی می گردد . در صورتی که مقدار آن معادل null باشد ، cross-page postback محقق نشده است . این بدان معنی است که صفحه Crosspage2.aspx مستقیما” درخواست شده است و یا به خود postback شده است . در چنین مواردی شی PreviousPage قابل دسترس نخواهد بود .
۱. گرفتن ادرس فولدرها:
foreach (string str in System.IO.Directory.GetDirectories("c:\\"))
{
ListBox1.Items.Add(str);
}
foreach (string img in System.IO.Directory.GetFiles("c:\\img"))
{
ListBox2.Items.Add(System.IO.Path.GetFileName(img));
}
توی این برنامه سه متغیر سراسری تعریف شده به ترتیب برای:
- مشخص کردن نوع و اندازه فونت برای پرینت فایل
- خوندن فایل مورد نظر
- انتخاب فایل مورد نظر
- مسیر و نام فایل مورد نظر
System.IO.StreamReader streamToPrint = null;
System.Windows.Forms.OpenFileDialog op = null;
static string filePath;
private void button1_Click(object sender, EventArgs e)
{
try
{op = new OpenFileDialog();
op.ShowDialog();
//MessageBox.Show(op.FileName);
filePath = op.FileName;
streamToPrint = new System.IO.StreamReader(filePath);
printFont = new System.Drawing.Font("Tahoma", 8);
System.Drawing.Printing.PrintDocument PD = new System.Drawing.Printing.PrintDocument();
PD.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PD_PrintPage);
PD.Print();
try
{
}
finally
{
streamToPrint.Close();
}}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message, "Error");
}
}
void PD_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
float linesPerPage = 0;
float yPos = 0;
int count = 0;
float leftMargin = e.MarginBounds.Left;
float topMargin = e.MarginBounds.Top;
String line = null;
// Number Of Lines
linesPerPage = e.MarginBounds.Height;
printFont.GetHeight(e.Graphics);
// Printing Each line
while (count < linesPerPage && ((line = streamToPrint.ReadLine()) != null))
{yPos = topMargin + (count * printFont.GetHeight(e.Graphics));
e.Graphics.DrawString(line, printFont, System.Drawing.Brushes.Black, leftMargin, topMargin, new StringFormat());
count++;}
// If More Line Exist
if (line != null)
{e.HasMorePages = true;
}
else
{e.HasMorePages = false;
}
{
مراحل کار اینطوریه که بعد از انتخاب،فایل توسط یه StreamReader خط به خط خونده می شه و توسط یه Print Document پرینت میشه
اگه تعداد خطوط فایل زیاد باشه توی چند صفحه فایل مورد نظر پرینت میشه.
خودم امتحان کردم خوب جواب میده
امروز میخوام یک سایت بهتون معرفی کنم که شاید دغدعه ی خیلی از شماها بوده ! شاید براتون پیش اومده باشه که دنبال یه کدی رو اینترنت بودید و مثلاً کدی که پیدا شده به زبان VB.Net هست درحالیکه شما C#.Net کار می کنید ، سایتی که بهتون معرفی می کنم با درصد اطمینان بالایی کد های VB.Net رو براتون به معادل C#.Net و بالعکس تبدیل می کنه ! از طرفی اخیرا این سایت کار جالبتری رو هم انجام می ده و کدهایی که به زبان VB.Net و C#.Net هست رو به زبان های Python و Ruby تبدیل می کنه .
http://www.developerfusion.com/tools/convert/csharp-to-vb/
سایر ابزار رایگان این وب سایت :
http://www.developerfusion.com/tools
تعداد صفحات : 7