<:*:*:*:> کد نویسی، توضیح کد، طراحی متد (Method) زبان های مايکروسافت <:*:*:*:>
با سلام خدمت همه دوستان برنامه نویس و عزیزان پی سی.
قطعاً باید بدونید که قراره در این محل (تاپیک) چه کاری انجام بدیم!درسته... هدف من از ایجاد این تاپیک در اصل ساخت متد های مایکروسافت بود ولی دیدم که کمی به جزئیات تاپیک هم نگاه کنم و توضیحات کد و کد نویسی هم توش باشه تاپیک با شور بیشتری مورد استفاده قرار میگیره.من میخوام که تو این تاپیک ما با کمک یکدیگر یکی از متدهای Visual Studio مایکروسافت رو انتخاب کرده و اونو به صورت کامل در اینجا بزاریم!البته از متد های کوچک شروع کرده و به طرف متدهای سخت حرکت میکنیم.در ضمن دوستان می تونن که اگه جایی از کد تو برنامه نویسیشون مشکل داشتن و توضیح تیکه کد خواستن کد رو در اینجا قرار بدن تا من به همکاری دوستان بتونم براتون توضیح بدم البته اینو هم باید درنظر گرفت که دوستان پی سی زیاد هستند و من تنها نیستم.
خوب...
شاید بعضی از شما متد یادتون رفته باشه یا معنی درست اونو تو ویژوال ندونین!
واژه Method به معنی = روش، اسلوب، طريقه
باید بدونین که متد در کجا ها به کار میره پس به تیکه کد زیر توجه کنید:
(public void SQL_File_Engine(string FileName
}
Connection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=""" + "|DataDirectory|" + FileName + "\";Integrated Security=True;User Instance=true;
;(Connect = newSqlConnection(Connection
{
در تیکه کد بالا SQL_File_Engine به عنوان متد به کار میره شما هر وقت تو برنامتون خواستین کد بالا رو بنویسن دیگه نیازی به کپی پیس یا نوشتن دوباره اون ندارین. فقط کافیه که متد رو صدا کنین:
;(@"\SQL_File_Engine("Main_DataBase.mdf
بسیار خوب این از توضیح متد (اگه بعضی از دوستان متوجه نشدن درخواست توضیح بیشتری کنن)
خوب...
من از متد Math.Abs شروع میکنم:
قطعاً همه شما میدونین که در محیط .NetFramework متد Math.Abs چه کاری انجام میده! متد Math.Abs یه عدد رو گرفته و قدر مطلق اون عدد رو برای شما بر میگردونه.در ریاضی:قدر مطلق هر عدد = مثبت آن عدد.
مثال:
|16|=16
|-16|=16
|0|=0
پس اگه ما به متد Abs هر عددی بدیم مثبت اون عدد رو میتونیم ببینیم میتونین با کد زیر امتحان کنین:
;(()MessageBox.Show(Math.Abs(-16).ToString
خوب حالا من به شما میگم که ماکروسافت چطوری از این متد استفاده کرده، به کد زیر دقت کنین:
(private double Abs(double value
}
(if (value < 0
}
;return -value
{
;return value
{
خوب الان باید فهمیده باشین که چطوری میشه قدر مطلق یک عدد رو بدست آورد.
توضیح کد:
یک متد که از نوع double بر میگردونه
(private double Abs(double value
}
doubleیک مقدار از نوع value
(if (value < 0
}
فقط در صورتی که مقدار valueکوچکتر از 0 یعنی منفی بود اونو مثبت میکنه.
;return -value
{
اگه عدد منفی نباشه که همونو برمیگردونه.
;return value
{
خوب دوستان باید بدونین که برای دوستانی که خیلی وقته برنامه نویسی میکنن نوشتن کد بالا کاری نداشت.توضیح دادم که ما از متدهای خیلی راحت شروع میکنیم و به متدهای سنگین میرسیم.
امیدوارم مورد استفاده قرار گرفته باشه و بگيره.قربان همه شما علي:11:.
استفاده از توابع Api در زبان های .NET
استفاده از توابع Api در زبان های .NET
سلام خدمت همه دوستان.امروز قراره به دوستان عزیز بگم که چگونه در برنامه هاشون از توابع Api استفاده کنند.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
تابع CloseWindow در واقع یک ورودی از نوع هندل(Handle) پنجره گرفته و آن پنجره را Minimize میکنه اما ما فقط میخوایم با استفاده از این Api فقط پنجره فرم خودمونو Minimize کنیم:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) توضیحات:
برای سی شارپ شما ابتدا باید یک using تعریف کنید، شما ابتدا باید کد زیر رو در بالای برنامه خود زیر using های دیگر قرار دهید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) کد:
کد:
using System.Runtime.InteropServices;
خوب حالا کد زیر رو کپی و در یک قسمت مناسب مثل General قرار دهید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) کد:
کد:
[DllImport("User32.dll")]
internal static extern void CloseWindow(long Hwnd);
حالا کد زیر رو در دکمه یا جایی که میخواید با اجرای کد پنره Minimize بشه قرار بدید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) کد:
کد:
CloseWindow(Handle.ToInt64());
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ویژوال بیسیک(Visual Basic) توضیحات:
برای ویژوال بیسیک کد زیر رو در قسمت General قرار بدید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ویژوال بیسیک(Visual Basic) کد:
کد:
Private Declare Sub CloseWindow Lib "User32.dll" (ByVal Hwnd As Long)
حالا کد زیر رو در دکمه قرار دهید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ویژوال بیسیک(Visual Basic) کد:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی پلاس پلاس(++C) توضیحات:
برای سی پلاس پلاس هم using زیر رو در قسمت General و زیر using های دیگه قرار بدید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی پلاس پلاس(++C) کد:
کد:
using namespace System::Runtime::InteropServices;
خوب حالا کد زیر رو کپی و در یک قسمت مناسب مثل General قرار دهید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی پلاس پلاس(++C) کد:
کد:
public:
[DllImport("USER32.DLL")]
static IntPtr CloseWindow(long HWND);
حالا کد زیر رو در دکمه قرار دهید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی پلاس پلاس(++C) کد:
کد:
CloseWindow(Handle.ToInt64());
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
توضیح کد:
کد زیر یک کامپوننت دات نت هست که به شما کمک میکنه تا با بتونین از DllImport استفاده کنید.
کد:
using System.Runtime.InteropServices;
کد زیر هم تابع CloseWindow رو در اختیار شما قرار میده تا بتونین برای Minimize کردن پنجره تون از اون استفاده کنین. این تابع که آرگومان از نوع long میگیره که نشان دهنده هندل پنجره است تا با استفاده از اون پنجره رو به حالت Minimize ببره.
کد:
[DllImport("User32.dll")]
internal static extern void CloseWindow(long Hwnd);
کد زیر رو هم حتماً میدونید... ما تابع CloseWindow رو صدا زدیم.و یه آرگومان به نام Handle به اون دادیم که این متغیر در اصل همون هندل فرم ما رو به ما برمیگردونه که چون از نوع Intptr برمیگردونه و تابع ما long میگیره ما اونو به Int64 تبدیل کردیم که همون Long هست.
کد:
CloseWindow(Handle.ToInt64());
از دوستان برنامه نویس کسی نظری نداره؟
اگه مشکلی داشتین حتماً سوال کنید.
قربان شما علی:11::40:.
چگونگی تعریف و کار با متغیرها در هر زبان
سلام خدمت همه دوستان برنامه نویس گرامی امروز میخوام در مورد چگونگی تعریف و کار با متغیرها در هر زبان رو بهتون نشون بدم.
به کد زیر دقت کنید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) کد:
کد:
// Declare variable
int intNumber;
// Set number, add numbers, and display results
intNumber = 16;
intNumber += 8;
MessageBox.Show("Addition test... " + intNumber,
"Integer Math");
// Set number, subtract numbers, and display results
intNumber = 24;
intNumber -= 2;
MessageBox.Show("Subtraction test... " + intNumber,
"Integer Math");
// Set number, multiply numbers, and display results
intNumber = 6;
intNumber *= 10;
MessageBox.Show("Multiplication test... " +
intNumber,
"Integer Math");
// Set number, divide numbers, and display results
intNumber = 12;
intNumber /= 6;
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ویژوال بیسیک(Visual Basic)کد:
کد:
' Declare variable
Dim intNumber As Integer
' Set number, add numbers, and display results
intNumber = 16
intNumber += 8
MsgBox("Addition test... " + intNumber.ToString(), MsgBoxStyle.OkOnly, "Integer Math")
' Set number, subtract numbers, and display results
intNumber = 24
intNumber -= 2
MsgBox("Subtraction test... " + intNumber.ToString(), MsgBoxStyle.OkOnly, "Integer Math")
' Set number, multiply numbers, and display results
intNumber = 6
intNumber *= 10
MsgBox("Multiplication test... " + intNumber.ToString(), MsgBoxStyle.OkOnly, "Integer Math")
' Set number, divide numbers, and display results
intNumber = 12
intNumber /= 6
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی پلاس پلاس(++C) کد:
کد:
int intNumber;
// Set number, add numbers, and display results
intNumber = 16;
intNumber = intNumber + 8;
MessageBox::Show("Addition test... " + intNumber,
"Integer Math");
// Set number, subtract numbers, and display results
intNumber = 24;
intNumber = intNumber - 2;
MessageBox::Show("Subtraction test... " + intNumber,
"Integer Math");
// Set number, multiply numbers, and display results
intNumber = 6;
intNumber = intNumber * 10;
MessageBox::Show("Multiplication test... " +
intNumber, "Integer Math");
// Set number, divide numbers, and display results
intNumber = 12;
intNumber = intNumber / 6;
MessageBox::Show("Division test... " + intNumber,
"Integer Math");
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ویژوال بیسیک 6(VB6) کد:
کد:
' Declare variable
Dim intNumber As Integer
' Set number, add numbers, and display results
intNumber = 16
intNumber = intNumber + 8
MsgBox "Addition test... " + intNumber, "Integer Math"
' Set number, subtract numbers, and display results
intNumber = 24
intNumber = intNumber - 2
MsgBox "Subtraction test... " + intNumber, "Integer Math"
' Set number, multiply numbers, and display results
intNumber = 6
intNumber = intNumber * 10
MsgBox "Multiplication test... " + intNumber, "Integer Math"
' Set number, divide numbers, and display results
intNumber = 12
intNumber = intNumber / 6
خوب اگه یکی از زبان های بالا رو بلد باشین قطعاً میتونید متغیر ها رو به زبان های دیگه به همین سادگی تعریف کنید.ولی اگه هیچ کدومو نمیدونین من یکی از زبان ها رو براتون توضیح میدم:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) توضیح کد:
ما یک متغیر از نوع Integer یا عدد 32 بیتی تعریف میکنیم.
در خط اول کد زیر ما intNumber رو مقدار 16 میدیم و در خط دوم intNumber با 8 جمع شده سپس داخل intNumber ریخته میشه و در خط آخر هم که به صورت پیغام نمایش میدیم.
کد:
intNumber = 16;
intNumber += 8;
MessageBox.Show("Addition test... " + intNumber,
"Integer Math");
در خط اول کد زیر ما intNumber رو مقدار 24 میدیم و در خط دوم intNumber با 2 تفریق شده سپس داخل intNumber ریخته میشه و در خط آخر هم که به صورت پیغام نمایش میدیم.
کد:
intNumber = 24;
intNumber -= 2;
MessageBox.Show("Subtraction test... " + intNumber,
"Integer Math");
در خط اول کد زیر ما intNumber رو مقدار 6 میدیم و در خط دوم intNumber با 10 ضرب شده سپس داخل intNumber ریخته میشه و در خط آخر هم که به صورت پیغام نمایش میدیم.
کد:
intNumber = 6;
intNumber *= 10;
MessageBox.Show("Multiplication test... " +
intNumber,
"Integer Math");
در خط اول کد زیر ما intNumber رو مقدار 12 میدیم و در خط دوم intNumber با 6 تقسیم شده سپس داخل intNumber ریخته میشه.
کد:
intNumber = 12;
intNumber /= 6;
قربان شما علی
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
.
متد رند یا گرد کردن(Round)
با سلام خدمت دوستداران برنامه نویس عزیز.متد امروز Math.Round هست که میخوایم پیاده سازیش کنیم:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
متد Round (گرد کردن یک عدد اعشاری):
به متد زیر دقت کنید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) کد:
کد:
private double Round(double d)
{
if (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5))
{
return (double) (Convert.ToInt64(d) + 1L);
}
return Convert.ToInt64(d);
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ویژوال بیسیک(Visual Basic)کد:
کد:
Private Function Round(ByVal d As Double) As Double
If (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5)) Then
Return CDbl((Convert.ToInt64(d) + 1))
End If
Return Convert.ToInt64(d)
End Function
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی پلاس پلاس(++C) کد:
کد:
private: Double __gc* Round(Double __gc* d)
{
if (d > (Convert::ToDouble(Convert::ToInt64(d)) + 0.5))
{
return *static_cast<__box Double*>((Convert::ToInt64(d) + 1));
}
return Convert::ToInt64(d);
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ویژوال بیسیک 6(VB6) کد:
کد:
Private Function Round(ByVal d As Double) As Long
If d > d + 0.5 Then
Round = d + 1
End If
Round = d
End Function
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دلفی(Delphi) کد:
کد:
function Form1.Round(d: Double): Double;
begin
if (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5)) then
begin
Result := ((Convert.ToInt64(d) + 1) as Double);
exit
end;
begin
Result := Convert.ToInt64(d);
exit
end
end;
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
آی ال (information literacy Or IL) کد:
کد:
.method private hidebysig instance float64 Round(float64 d) cil managed
{
.maxstack 3
.locals init (
[0] float64 CS$1$0000,
[1] bool CS$4$0001)
L_0000: nop
L_0001: ldarg.1
L_0002: ldarg.1
L_0003: call int64 [mscorlib]System.Convert::ToInt64(float64)
L_0008: call float64 [mscorlib]System.Convert::ToDouble(int64)
L_000d: ldc.r8 0.5
L_0016: add
L_0017: cgt
L_0019: ldc.i4.0
L_001a: ceq
L_001c: stloc.1
L_001d: ldloc.1
L_001e: brtrue.s L_002e
L_0020: nop
L_0021: ldarg.1
L_0022: call int64 [mscorlib]System.Convert::ToInt64(float64)
L_0027: ldc.i4.1
L_0028: conv.i8
L_0029: add
L_002a: conv.r8
L_002b: stloc.0
L_002c: br.s L_0038
L_002e: ldarg.1
L_002f: call int64 [mscorlib]System.Convert::ToInt64(float64)
L_0034: conv.r8
L_0035: stloc.0
L_0036: br.s L_0038
L_0038: ldloc.0
L_0039: ret
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کروم (Chorme) کد:
کد:
method Form1.Round(d: Double): Double;
begin
if (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5)) then
begin
result := ((Convert.ToInt64(d) + 1) as Double);
exit
end;
begin
result := Convert.ToInt64(d);
exit
end
end;
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) توضیح کد:
متد Round یک عدد اعشاری از نو Double می گیرد که این مقدار باید پردازش و گرد شود.
کد:
private double Round(double d)
{
کد زیر برای روند کرد کامل تر بگ که متد روند در صورتی که اعشار آن بزرگتر از نیم باشد عدد بزرگتر را بدون اعشار و در در صورتی که کوچکتر یا مساوی نیم باشد خود عدد اصلی را بدون اعشار برمیگرداند.
برای مثال:
عدد 10.50 یا 10.30 یا 10.1:
این عدد اگر روند شود میشود 10.
حالا عدد 10.51 یا 10.60 یا 10.85:
این عدد اگر روند شود میشود 11.
کد:
if (d > (Convert.ToDouble(Convert.ToInt64(d)) + 0.5))
{
return (double) (Convert.ToInt64(d) + 1L);
}
return Convert.ToInt64(d);
}
دوستان میتوانند متد درخواستی خود را هم در این تاپیک بگویند تا برایشان ترجمه کنم.
با تشکر از همراهی شما قربان همه شما موفق و پیروز باشید.یاعلی:11:.
کلاس Path متد GetExtension
با سلام خدمت دوستان برنامه نویس عزیز.متد امروز Path.GetExtension می باشد(بازم میگم که اگه متد درخواستی داشتین بگین):
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
متد GetExtension (خواندن پسوند یک فایل):
(به دلیل نداشتن برنامه های(Delphi,IL,Chorme) طراحی متد به این زبان ها فعلاً انجام نمیشه)
به متد زیر دقت کنید:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) کد:
کد:
public static readonly char DirectorySeparatorChar = '\\';
public static readonly char AltDirectorySeparatorChar = '/';
public static readonly char VolumeSeparatorChar = ':';
public static string GetExtension(string path)
{
if (path == null)
{
return null;
}
//CheckInvalidPathChars(path);
int length = path.Length;
int startIndex = length;
while (--startIndex >= 0)
{
char ch = path[startIndex];
if (ch == '.')
{
if (startIndex != (length - 1))
{
return path.Substring(startIndex, length - startIndex);
}
return string.Empty;
}
if (((ch == DirectorySeparatorChar) || (ch == AltDirectorySeparatorChar)) || (ch == VolumeSeparatorChar))
{
break;
}
}
return string.Empty;
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ویژوال بیسیک(Visual Basic)کد:
کد:
Public Shared ReadOnly AltDirectorySeparatorChar As Char = "/"
Public Shared ReadOnly DirectorySeparatorChar As Char = "\"
Public Shared ReadOnly VolumeSeparatorChar As Char = ":"
Public Shared Function GetExtension(ByVal path As String) As String
If (path Is Nothing) Then
Return Nothing
End If
Dim length As Integer = path.Length
Dim startIndex As Integer = length
Do While (startIndex >= 0)
Dim ch As Char = path(startIndex - 1)
If (ch = ".") Then
If (startIndex <> (length - 1)) Then
Return path.Substring(startIndex - 1, (length - startIndex) + 1)
End If
Return String.Empty
End If
If (((ch = Form1.DirectorySeparatorChar) Or (ch = Form1.AltDirectorySeparatorChar)) Or (ch = Form1.VolumeSeparatorChar)) Then
Exit Do
End If
startIndex -= 1
Loop
Return String.Empty
End Function
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی پلاس پلاس(++C) کد:
کد:
public: static Char AltDirectorySeparatorChar = '/';
public: static Char DirectorySeparatorChar = '\\';
public: static Char VolumeSeparatorChar = ':';
public: static String^ GetExtension(String^ path)
{
if (path == "")
{
return "";
}
Int32 length = path->Length;
Int32 startIndex = length;
while ((--startIndex >= 0))
{
Char ch ;
ch=path[startIndex];
if (ch == '.')
{
if (startIndex != (length - 1))
{
return path->Substring(startIndex, (length - startIndex));
}
return String::Empty;
}
if (((ch == Form1::DirectorySeparatorChar) || (ch == Form1::AltDirectorySeparatorChar)) || (ch == Form1::VolumeSeparatorChar))
{
break;
}
}
return String::Empty;
}
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ویژوال بیسیک 6(VB6) کد:
کد:
Dim AltDirectorySeparatorChar As String
Dim DirectorySeparatorChar As String
Dim VolumeSeparatorChar As String
Private Function GetExtension(ByVal path As String) As String
VolumeSeparatorChar = ":"
DirectorySeparatorChar = "\"
AltDirectorySeparatorChar = "/"
Dim RET As String
If (path = "") Then
GetExtension = ""
End If
Dim length As Integer
length = Len(path)
Dim startIndex As Integer
startIndex = length
Do While (startIndex >= 0)
Dim ch As String
ch = Mid(path, startIndex, 1)
If (ch = ".") Then
If (startIndex <> (length - 1)) Then
RET = Mid(path, startIndex, (length - startIndex + 1))
Exit Do
End If
RET = ""
Exit Do
End If
If (((ch = DirectorySeparatorChar) Or (ch = AltDirectorySeparatorChar)) Or (ch = VolumeSeparatorChar)) Then
Exit Do
End If
startIndex = startIndex - 1
Loop
GetExtension = RET
End Function
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سی شارپ(#C) توضیح کد:
اینبار ابتدا ما سه تا متغیر کاراکتر از نوع Static و فقط خواندنی که مقدار آنها برای خروج از حلقه میباشد تعریف کردیم.
کد:
public static readonly char DirectorySeparatorChar = '\\';
public static readonly char AltDirectorySeparatorChar = '/';
public static readonly char VolumeSeparatorChar = ':';
متد GetExtension یک آدرس از یک فایل را گرفته و پسوند آن فایل را بر میگرداند:
کد:
public static string GetExtension(string path)
{
در شرط اول این متد ما به متد گفتیم در صورتی که مقدار آدرس فایل خالی بود خالی را برگرداند و کد های دیگر اجرا نمی شود:
کد:
if (path == null)
{
return null;
}
دو متغیر تعریف کردیم که مقدار آنها را برابر با تعداد کاراکتر های آدرس ورودی قرار دادیم:
کد:
int length = path.Length;
int startIndex = length;
حلقه ای قرار دادیم که از startIndex (تعداد کاراکتر های آدرس) تا صفر میچرخد:
کد:
while (--startIndex >= 0)
{
توضیحی در مورد حلقه while:
حلقه while یک شرط را میگیرد و تا زمانی که شرط غلط باشد میچرخد و اگر شرط حلقه درست باشد از حلقه خارج میشود.
یک متغیر ch از نوع char تعریف کردیم که مقدار آن کارکتر درخواستی از آدرس میباشد مثلاً اگر startIndex برابر با 4 باشد.چهارمین کاراکتر را به داخل ch میریزد:
کد:
char ch = path[startIndex];
خوب قطعاً همه شما میدانید که پسوند فایل ها با کاراکتر "." شروع میشود پس ما برای خروج از حلقه گفتیم اگر ch برابر با "." باشد.کد خروج از حلقه در اینجا همان return است که باید پسوند را به GetExtension برگرداند.
یک شرط گذاشتیم برای اینکه startIndex اولین کاراکتر ما نباشد چون در این صورت فایل مورد نظر هیچ پسوندی ندارد و ما در این صورت کاراکتر خالی را برگرداندیم و در صورتی که startIndex اولین کاراکتر ما نباشد ما پسوند فایل را بر میگردانیم.مثلاً از آدرس path آن کاراکترهایی را برمیگردانیم که از startIndex شروع می شوند و تا length - startIndex خاتمه می یابند :
کد:
if (startIndex != (length - 1))
{
return path.Substring(startIndex, length - startIndex);
}
return string.Empty;
}
و در آخر هم شرطی گذاشتیم که اگر ch برابر با یکی از متغیر های(DirectorySeparatorChar ,AltDirectorySeparatorChar ,VolumeSeparatorChar) بود از حلقه خارج میشویم و کاراکتر خالی به GetExtension برگردانده میشود.
موفق و سربلند باشد.
CONNECTION STRING FOR SERVER CLIENT APPLICATION
سلام وقت بخیر!
میخوام یه برنامه به زبان C# بنویسم که تحت شبکه کار کنه از پایگاه داده SQL استفاده میکنم
میخوام بدونم تنظیمات SQL چی باس باشه?
CONNECTION STRING چه طور باس تعریف شه؟
اصولا باس دو تا exe داشته باشم یا نه؟(یکی واسه سرور و دیگری واسه کلاینتام)