کلاس 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 داشته باشم یا نه؟(یکی واسه سرور و دیگری واسه کلاینتام)