PDA

View Full Version : سوال: کار با مسیر در فایل ها و فلدر ها



Mohandes2009
دوشنبه 26 بهمن 1388, 13:44 عصر
دو سوال داشتم :

1. من می خوام مسیر مشخصی را بدم و فقط نام چیزهایی که تو اون فلدر هست را برام لیست کنه در کمبو. مثلا تو یه فلدر عکس هست می خوام آدرس را که دستی تو کدنویسی می دم فقط اسم عکس ها را نشون بده نه اینکه کل آدرس بعد اسم عکس.

2. تابعی هست که بتونیم اسم فلدر های مشخص تو کام را داشته باشه مثلا کنترل پنل ویندوز یا فلدر فونت ویندوز را بیاره؟

Peyman.Gh
دوشنبه 26 بهمن 1388, 13:52 عصر
سوال اول

protected void Button2_Click(object sender, EventArgs e)
{
string[] files = System.IO.Directory.GetFiles(Your Folder)
foreach (string file in files)
comboBox1.Items.Add(file);
}

Netsky
دوشنبه 26 بهمن 1388, 14:21 عصر
سلام .
با تشکر از آقای Peyman.Gh به خاطر جوابشون . البته دوستمون خواسته بودن که فقط نام فایل ها ( نه آدرس کامل + نام فایل ) رو بدست بیارن . بنابراین بنده کد زیر رو نوشتم که مشکل اول رو کامل حل میکنه :



string FileName;
string[] Files = System.IO.Directory.GetFiles(@"C:\Windows");
foreach (string File in Files)
{
FileName = System.IO.Path.GetFileName(File);
listBox1.Items.Add(FileName);
}

در مورد مشکل دوم هم باید بگم که به دلیل وقت کمی که داشتم نتونستم کد واستون بنویسم . ولی یه راهنمایی میکنم . آدرس درایو ویندوز رو بدست بیارید و سپس آدرس زیر رو به آدرسی که بدست آوردید اضافه کنید که میشه آدرس فولدر فونت . ( البته آدرسی که بدست میاد در ویندوز XP درسته ولی در ویندوز های دیگه مثل ویستا و 7 رو نمیدونم ... ) .



Windows\Fonts

اگه فرصت شد کدش رو واستون مینویسم .

Mohandes2009
دوشنبه 26 بهمن 1388, 16:46 عصر
سوال اول

protected void Button2_Click(object sender, EventArgs e)
{
string[] files = System.IO.Directory.GetFiles(Your Folder)
foreach (string file in files)
comboBox1.Items.Add(file);
}
تشکر که جواب دادی ولی اینا خودم هم نوشته بودم کل آدرس را میده بعد اسم فایل:لبخند:

Mohandes2009
دوشنبه 26 بهمن 1388, 16:48 عصر
سلام .
با تشکر از آقای Peyman.Gh به خاطر جوابشون . البته دوستمون خواسته بودن که فقط نام فایل ها ( نه آدرس کامل + نام فایل ) رو بدست بیارن . بنابراین بنده کد زیر رو نوشتم که مشکل اول رو کامل حل میکنه :



string FileName;
string[] Files = System.IO.Directory.GetFiles(@"C:\Windows");
foreach (string File in Files)
{
FileName = System.IO.Path.GetFileName(File);
listBox1.Items.Add(FileName);
}

در مورد مشکل دوم هم باید بگم که به دلیل وقت کمی که داشتم نتونستم کد واستون بنویسم . ولی یه راهنمایی میکنم . آدرس درایو ویندوز رو بدست بیارید و سپس آدرس زیر رو به آدرسی که بدست آوردید اضافه کنید که میشه آدرس فولدر فونت . ( البته آدرسی که بدست میاد در ویندوز XP درسته ولی در ویندوز های دیگه مثل ویستا و 7 رو نمیدونم ... ) .



Windows\Fonts

اگه فرصت شد کدش رو واستون مینویسم .


دمت گرم این خوب بود حل شد مشکلم..:بوس:

سوال دوم هم وقت کردی جوابم بده مرسی .. در ضمن مثلا می خوام پوشه فونت در کنترل پنل را باز کنم که تو همه ویندوز ها جای اون یکی است اینجور فلدر هایی که جاشون ثابت هست.:لبخندساده:

Netsky
دوشنبه 26 بهمن 1388, 18:08 عصر
سلام . آیکون هایی که در کنترل پنل هستن یه جورایی به صورت لینک عمل میکنن . یعنی مثلا همون فولدر فونت در کنترل پنل لینک میده به آدرس فولدر فونت در پوشه ویندوز . کد زیر رو واست نوشتم :



string Win_DRV, Path_Font_Folder;
Win_DRV = Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Volatile Environment", "HOMEDRIVE", 0).ToString();
Path_Font_Folder = Win_DRV + (@"\Windows\Fonts");
MessageBox.Show(Path_Font_Folder);

مشکلی بود در خدمتم .

AliRezaPro
دوشنبه 26 بهمن 1388, 20:16 عصر
فولدرهای خاص را میتونی با

Environment .SpecialFolder
ولی فونت و کنترل پنل نیست

Netsky
دوشنبه 26 بهمن 1388, 21:19 عصر
فولدرهای خاص را میتونی با

Environment .SpecialFolder
ولی فونت و کنترل پنل نیست
بله . این روش هم درسته ولی چون آدرس پوشه فونت رو نداشت من کد بالا رو نوشتم .

Mohandes2009
دوشنبه 26 بهمن 1388, 22:54 عصر
سلام . آیکون هایی که در کنترل پنل هستن یه جورایی به صورت لینک عمل میکنن . یعنی مثلا همون فولدر فونت در کنترل پنل لینک میده به آدرس فولدر فونت در پوشه ویندوز . کد زیر رو واست نوشتم :



string Win_DRV, Path_Font_Folder;
Win_DRV = Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Volatile Environment", "HOMEDRIVE", 0).ToString();
Path_Font_Folder = Win_DRV + (@"\Windows\Fonts");
MessageBox.Show(Path_Font_Folder);

مشکلی بود در خدمتم .

یه سوال دیگه اگه یه فونت را انتخاب کردم از طریق این مسیر بعد بخوام رو textbox اعمال کنم چکار باید بکنم تا فونتش عوض بشه ؟

Mohandes2009
دوشنبه 26 بهمن 1388, 22:54 عصر
بله . این روش هم درسته ولی چون آدرس پوشه فونت رو نداشت من کد بالا رو نوشتم .

مرسی:لبخندساده:

Mohandes2009
سه شنبه 27 بهمن 1388, 16:27 عصر
اقا این سوال چطو شد جوابش؟ :لبخندساده: ==> یه سوال دیگه اگه یه فونت را انتخاب کردم از طریق این مسیر بعد بخوام رو textbox اعمال کنم چکار باید بکنم تا فونتش عوض بشه ؟