loading...
پروژه های نرم افزاری
سعید قاسمی بازدید : 200 شنبه 11 شهریور 1391 نظرات (0)

یک وب میل کامل و حرفه ای که با Asp.net به زبان سی شارپ پیاده سازی شده است

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

نمونه این وب میل در سایر وب سایت ها با قیمت های بالا به فروش می رسد

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

دانلود

سعید قاسمی بازدید : 137 شنبه 11 شهریور 1391 نظرات (0)
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
سعید قاسمی بازدید : 173 چهارشنبه 08 شهریور 1391 نظرات (1)

اکثر وب سایت ها هنگام ورود کاربران یا همان 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);


سعید قاسمی بازدید : 362 چهارشنبه 08 شهریور 1391 نظرات (0)

یکی از مهمترین محدودیت های 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”>
script><html xmlns=”http://www.w3.org/1999/xhtml” dir=”rtl” >
<
head id=”Head1″ runat=”server”>
<
title>صفحه اول title>
head>
<
body style=”font-family: Tahoma”>
<
form id=”form1″ runat=”server” >
<
div>
نام <asp:TextBox ID=”txtFirstName” runat=”server”>asp:TextBox><br /><br />
نام خانوادگی  <asp:TextBox ID=”txtLastName” runat=”server”>asp:TextBox> <br />
<
br />
<
asp:Button runat=”server” ID=”cmdPost”
PostBackUrl=”CrossPage2.aspx” 
Text
=”ارسال به صفحه دیگر” Font-Names=”Tahoma” /><br /> 
div>
form>
body>
html
>

صفحه Crosspage1.aspx شامل هیچگونه کدی نمی باشد .
پس از اجرای کد فوق و کلیک بر روی دکمه “ارسال به صفحه دیگر” ، صفحه برای  CrossPage2.aspx ارسال می گردد . صفحه Crosspage2.aspx با استفاده از خصلت Page.PreviousPage قادر به برقراری ارتباط با صفحه Crosspage1.aspx خواهد بود .
کد زیر نحوه دریافت و نمایش عنوان صفحه قبلی را در صفحه Crosspage2.aspx  نشان می دهد .

صفحه  Crosspage2.aspx

<script runat=”server”>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If PreviousPage IsNot Nothing 
Then
lblInfo.Text = “شما از صفحه ای با عنوان “ & _
 & PreviousPage.Header.Title & 
 & _
” به این صفحه آمده اید” & 

End If
End Sub
script><html xmlns=”http://www.w3.org/1999/xhtml” dir=”rtl” >
<
head id=”Head1″ runat=”server”>
<title>صفحه دومtitle>
head>
<
body style=”font-family: Tahoma”>
<form id=”form1″ runat=”server” >
<div>
<asp:Label ID=”lblInfo” runat=”server” Font-Size=”Small”>asp:Label>
div
>
form>
body>
html>

شکل ۱ ،  نحوه انتقال اطلاعات از یک صفحه به صفحه دیگر  را نشان می دهد .

StateManagement3 انتقال اطلاعات از يك صفحه به صفحه ای ديگر ASP .NET
شکل ۱ : نحوه انتقال اطلاعات از یک صفحه به صفحه دیگر

در صفحه Crosspage2.aspx قبل از تلاش برای دستیابی به شی PreviousPage ، مقدار آن با null بررسی می گردد  . در صورتی که مقدار آن معادل null باشد ، cross-page postback  محقق نشده است . این بدان معنی است که صفحه Crosspage2.aspx مستقیما” درخواست شده است و یا به خود postback شده است . در چنین مواردی شی PreviousPage قابل دسترس نخواهد بود .

سعید قاسمی بازدید : 149 چهارشنبه 08 شهریور 1391 نظرات (0)
شما می توانید از کد های زیر برای واکشی اطلاعات از درون فولدر های مختلف استفاده کنید:

۱. گرفتن ادرس فولدرها:

foreach (string str in System.IO.Directory.GetDirectories("c:\\"))

{

ListBox1.Items.Add(str);

}

توجه: کد بالا نام تمام فولدر های موجود در درایو c را در ListBox1 ذخیره می کند!
۲. گرفتن نام تمام اطلاعات موجود در یک فولدر:

foreach (string img in System.IO.Directory.GetFiles("c:\\img"))

{

ListBox2.Items.Add(System.IO.Path.GetFileName(img));

}

موفق باشید 
سعید قاسمی بازدید : 175 چهارشنبه 08 شهریور 1391 نظرات (0)
این برنامه با C#.Net 2.0 نوشته شده ،امیدوارم مورد استفاده شما باشه!

توی این برنامه سه متغیر سراسری تعریف شده به ترتیب برای:

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

 

private System.Drawing.Font printFont = null;
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 پرینت میشه

اگه تعداد خطوط فایل زیاد باشه توی چند صفحه فایل مورد نظر پرینت میشه.

سعید قاسمی بازدید : 335 چهارشنبه 08 شهریور 1391 نظرات (0)

خودم امتحان کردم خوب جواب میده

امروز میخوام یک سایت بهتون معرفی کنم که شاید دغدعه ی خیلی از شماها بوده ! شاید براتون پیش اومده باشه که دنبال یه کدی رو اینترنت بودید و مثلاً کدی که پیدا شده به زبان 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

اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 67
  • کل نظرات : 28
  • افراد آنلاین : 1
  • تعداد اعضا : 36
  • آی پی امروز : 7
  • آی پی دیروز : 8
  • بازدید امروز : 21
  • باردید دیروز : 9
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 161
  • بازدید ماه : 428
  • بازدید سال : 3,060
  • بازدید کلی : 44,636