Forum
Merhaba; C# winform uygulamasında aşağıdaki şekilde dosya kaydediyorum. Amacım aynı dosya isminden varsa yanına1 sonra 2 -3...6 eklemesini istiyorum. Yani dosyadan başka olmayacak. Nasıl bir döngü kurmalıyım. Teşekkürler iyi çalışmalar...
Save.Filter = "Excel 2003 | *.xls";
Save.FileName = RaporAdi + "_" + DateTime.Now.ToShortDateString();
if (Save.ShowDialog() == DialogResult.OK)
{
Liste.ExportToXls(Save.FileName);
frmAnaForm.AraDegiskenString = Save.FileName;
return true;
}
Merhaba aşağıdaki şekild ebir do dongüsü ile yapabilirsiniz burada eğer dosya var ise dosyanın countuna bakar ve + 1 yapar
umarım işinizi görür.
do { fileCount++; } while (System.IO.File.Exists("FileName" + (fileCount > 0 ? "(" + fileCount.ToString() + ")" : ""))); System.IO.File.Create("FileName" + (fileCount > 0 ? "(" + (fileCount + 1).ToString() + ")" : ""));
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
Erdem hocam 'fileCount' does not exist in the current context hatası alıyorum. bunun için using e ne eklemem lazım
private string DosyaAdiVer(string fullPath)
{
// örnek fileName, "C:\\Users\\xxx\\Desktop\\Rapor_13102015.xls";
int count = 1;
string fileNameOnly = Path.GetFileNameWithoutExtension(fullPath);
string extension = Path.GetExtension(fullPath);
string path = Path.GetDirectoryName(fullPath);
string newFullPath = fullPath;
while (File.Exists(newFullPath))
{
string tempFileName = string.Format("{0}({1})", fileNameOnly, count++);
newFullPath = Path.Combine(path, tempFileName + extension);
}
return newFullPath;
}
dosya ismini bu fonksiyonla alın. kayıt işlemi yaparken Rapor_13102015.xls dosyasına bakacak, varsa Rapor_13102015(1).xls dosyasına bakacak. bu da varsa Rapor_13102015(2).xls dosyasına bakacak. yoksa bu isimle kaydedecek, varsa 4,5,6 diye devam edecek...
var fileCount = 0;
do(..... seklınde devam edebılırsınız
ProfectSoft Yazılım ve Danışmanlık Hizmetleri
LogPusher & Bifyou E-Commerce System
www.profectsoft.com
teşekkürler hocam