PDA

View Full Version : سوال: تغییر کد



azarakhsh.gr
چهارشنبه 07 دی 1390, 14:20 عصر
با سلام و خسته نباشید

می خواهم کد برنامه زیر را تغییر دهم به صورتیکه به جای اینکه فایل را کپی کند آن را CUt کند
ممنون می شم راهنمایی بفرمایید این کد را چگونه تغییر دهم


file.CopyTo(dir + "\\Example.pdf",true

b.saminjad
چهارشنبه 07 دی 1390, 14:33 عصر
سلام
به جای copyto از moveto استفاده کن

azarakhsh.gr
چهارشنبه 07 دی 1390, 14:43 عصر
moveto استفاده کردم اما متاسفانه error می دهد .
این error را می دهد

'System.IO.FileInfo' does not contain a definition for 'moveto' and no extension method 'moveto' accepting a first argument of type 'System.IO.FileInfo' could be found (are you missing a using directive or an assembly reference?)

sayvan
چهارشنبه 07 دی 1390, 14:52 عصر
دوست من از Move استفاده کن اولین ورودی فایل مبدا دومی مقصد مانند
File.Move("d:\\1.jpg","c:\\1.jpg");

b.saminjad
چهارشنبه 07 دی 1390, 15:04 عصر
سلام دوباره

برای کار با فایلها ما کلاسهای fileو fileinfo رو داریم
در کلاس file اعضای کلاس استاتیک هست و نیازی به تعریف شی نیست


File.move(" "," ");



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


Fileinfo x =new file info(" adrese file");
x.moveto("adrese jadid");

azarakhsh.gr
چهارشنبه 07 دی 1390, 15:20 عصر
این کل کدهای من هست :
هرکاری می کنم جواب نمیگیرم

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string[] files = Directory.GetFiles(txtFilesPath.Text, "*.pdf");

string dir;
FileInfo file;
foreach (string item in files)
{
file = new FileInfo(item);
dir = txtDirectoryPath.Text + file.Name.Substring(0, file.Name.Length - 4);
if (Directory.Exists(dir))
{
file.Move(dir + "\\example.pdf", true);
}
}

MessageBox.Show("Files Copy Has Been Completed.");
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void label2_Click(object sender, EventArgs e)
{

}

private void txtFilesPath_TextChanged(object sender, EventArgs e)
{

}
}
}

sayvan
چهارشنبه 07 دی 1390, 15:38 عصر
به جای اون خطی که توضیحشو دادم خط زیر
file.Move(dir + "\\example.pdf", true);
شما باید به جای True مسیر جایی که میخوایید این فایل درونش کپی بشه رو بدید

azarakhsh.gr
چهارشنبه 07 دی 1390, 15:51 عصر
این مسیر یک مسیر داینامیک هست
برنامه فایلها را در پوشه ای کپی می کنه که با نام فایل یکی هست

babak_bushehr
چهارشنبه 07 دی 1390, 16:13 عصر
این مسیر یک مسیر داینامیک هست
برنامه فایلها را در پوشه ای کپی می کنه که با نام فایل یکی هست


{
string[] files = Directory.GetFiles(@"D:\New folder\", "*.pdf");

string dir;
FileInfo file;
foreach (string item in files)
{
file = new FileInfo(item);
dir = @"D:\New folder\" + file.Name.Substring(0, file.Name.Length - 4);

if (Directory.Exists(dir))
{
file.MoveTo(dir + "\\example.pdf");
}
}

MessageBox.Show("Files Copy Has Been Completed.");

}


اگر هنوز به جواب نرسیدید این کد را هم امتحان کنید

azarakhsh.gr
چهارشنبه 07 دی 1390, 16:36 عصر
نه متاسفانه اینم نشد

sayvan
چهارشنبه 07 دی 1390, 16:37 عصر
کاربر آذرخش میدونم مسیر داینامیکه ولی متد Move دو تا رشته میگره که حتما باید دو تا پارامتر موجود باشه
شما همون مسیر داینامیکو بهش بدین با استفاده از متغییر
خیلی راحته موفق باشین

babak_bushehr
چهارشنبه 07 دی 1390, 17:19 عصر
نه متاسفانه اینم نشد

اراور میده یا کارت رو انجام نمیده؟

azarakhsh.gr
شنبه 10 دی 1390, 14:40 عصر
انجام نمی شه :گریه:

azarakhsh.gr
شنبه 10 دی 1390, 14:49 عصر
اراور میده یا کارت رو انجام نمیده؟
error می ده

sayvan
شنبه 10 دی 1390, 14:57 عصر
دوست عزیز کد برنامه رو بنویسین تا راهنماییتون کنم

azarakhsh.gr
شنبه 10 دی 1390, 15:28 عصر
برنامه را ضمیمه کردم ، لطفا راهنمایی بفرمایید

در خصوص Textbox تغییر نام ، بعد از اینکه این مشکل برطرف شد ،
می خواستم به جای اینکه نام فایل را داخل برنامه بنوسم ، کاربر در داخل این textbox نوشته شود و نام فایل به همان تغییر پیدا کند

بسیار ممنونم از کمکتان

sayvan
شنبه 10 دی 1390, 16:07 عصر
برنامه را ضمیمه کردم ، لطفا راهنمایی بفرمایید

در خصوص Textbox تغییر نام ، بعد از اینکه این مشکل برطرف شد ،
می خواستم به جای اینکه نام فایل را داخل برنامه بنوسم ، کاربر در داخل این textbox نوشته شود و نام فایل به همان تغییر پیدا کند

بسیار ممنونم از کمکتان
برنامه تون رو ببینین مشکلی نداره فقط برای انتقال از Move استفاده کنین

azarakhsh.gr
شنبه 10 دی 1390, 16:26 عصر
واقعا ممنونم که وقت میگذارید
برنامتون کارمی کنه اما ماهیت برنامه تغییر کرده این برنامه به طور مثال این کارو انجام میده :

در فولدر new فایلی به نام EXP داریم
یک فولدر هم خارج فولدر new داریم به نام EXP
برنامه فایل EXP موجود در فولدر new را در فولدر EXP کپی کرده و نام آن را به Example تغییر می دهد .

حالا می خواهم به جای کپی فایل آن را CUT کند . و همچنین تغییر نام را به صورت داینامیک در textbox انجام دهد .

اگه می شه کمکم کنید ممنونم

sayvan
شنبه 10 دی 1390, 16:44 عصر
دوست من تو برنامه ذکر کردم که برای انتقال میتونی از متد Move استفاده کنید . داینامیک بودن نام ها هم با استفاده از متن تکس باکس
منظور از داینامیک بودن رو متوجه نمیشم
File.Move(@item, @txtDirectoryPath.Text + textBox1.Text.Trim() + intname.ToString() + ".pdf");

azarakhsh.gr
شنبه 10 دی 1390, 16:47 عصر
move در سیستم من error میده
آیا در سیستم شما کار می کنه ؟

sayvan
شنبه 10 دی 1390, 17:32 عصر
دوست من برنامه رو تست کردم فایلارو انتقال داد ببین به جای همون File.Copy از File.Move استفاده کن اگه خطا میده متن خطا رو بفرست