دريافت نام دايركتوري فايل در تكست باكس در سي شارپ
سلام خدمت همه دوستان
من مي خواستم بدونم چطوري مي تونم مسير دايركتوري يك فايل رو داخل تكست باكس ذخيره كنم يا نمايش بدم
من با open file dialog مسير كامل فايل رو بدست آوردم و داخل تكست باكس ذخيره كردم ولي نمي خوام بعنوان مثال اسم فايل و پسوند رو در تكست باكس نشون بده
به عنوان مثال<c#>
D:\Documents and Settings\Dear-User\My Documents\My Pictures\01.jpg
<c#>
مثلا در مسير بالا من نمي خوام فايل 01.jpg داخل تكست باكس ذخيره بشه
لطفا راهنمايي كنيد.
8 پاسخ
شما اول txtAddress رو ست کن، بعد تو کلاس Path ازش استفاده کن. وقتی هیچ چیزی تو TextBox وارد نشده معلومه که خطا میده. کد رو به صورت زیر تغییر بده:
OpenFileDialog openFileDialog1 = new OpenFileDialog(); DialogResult result = openFileDialog1.ShowDialog(); if (result == DialogResult.OK) { txtaddress.Text= System.IO.Path.GetDirectoryName(openFileDialog1.FileName); }
با کلاس Path میتونید نام پوشه یک فایل رو بگیرید:
var directory = System.IO.Path.GetDirectoryName("D:\\Files\\Images\\01.jpg");
کد بالا تنها نام پوشه رو برمیگردونه.
سلام کلاس path رو امتحان کردم ولی خطا میده
اینم قطعه کدی که نوشتم
OpenFileDialog openFileDialog1 = new OpenFileDialog();//yek shey az OpenFileDialog misazim DialogResult result = openFileDialog1.ShowDialog(); // ba ein code panjereye OpenFileDialog ra namayesh midim vase entekhabe ax if (result == DialogResult.OK) // khob age to panjereye OpenFileDialog ax ro entekhab konim va ok ro bezanim sharte zir ejra mishe { var addressPic = System.IO.Path.GetDirectoryName(txtaddress.Text); txtaddress.Text= addressPic; }
من می خوام با استفاده از کنترل openfiledialog مسیر فایل رو بجز نام و پسوند فایل داخل یک تکست باکس قرار بده که بتونم داخل بانک ذخیره کنم
دوستان لطفا راهنمایی کنند
ممنون از پاسخ و توجه شما
حالا من می خوام مسیری که کاربر وارد می کنه چک بشه اگه درست بود باز کنه در غیر اینصورت پیغام بده که مسیر اشتباه می باشد
با سلام
به این شکل بنویس حل میشه
FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
DialogResult result = folderBrowserDialog.ShowDialog();
if (result == DialogResult.OK)
{
txtaddress.Text = folderBrowserDialog.SelectedPath;
}
از System.IO.Directory.Exits برای چک کردن وجود یا عدم وجود پوشه میتونید استفاده کنید...
با تابع LastIndexOf اندیس آخرین \ در رشته آدرس رو بدست بیارین
int position = filepath.LastIndexOf('\\');
و بعد با تابع substring از ابتدای رشته تا اون اندیس رشته رو substring بگیرید.
string path=filepath.Substring(position + 1);
سلام مجدد خدمت شما و ممنون از راهنمایی هاتون
یه سوال دیگه اینکه من برای انتخاب پوشه در سی شارپ از folderBrowserDialog استفاده کرده ام ولی هنگام باز شدن این کادر بعد از اینکه فولدر مورد نظر رو انتخاب می کنم و ok می کنم هیچ اتفاقی نمی افته و باید دوباره روی ok کلیک کنم تا مسیر فولدر داخل تکست باکس ذخیره بشه
اینم کدم
folderBrowserDialog1.ShowDialog() if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { txtaddress.Text = folderBrowserDialog1.SelectedPath; }
به نظر شما مشکل از کجاست؟