Forum

C# Dosya Kaydetme
 
Bildirimler
Hepsini Temizle

[Çözüldü] C# Dosya Kaydetme

6 Yazılar
3 Üyeler
0 Reactions
4,194 Görüntüleme
Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

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;
}

 
Gönderildi : 05/10/2015 21:22

(@eravse)
Gönderiler: 1753
Üye
 

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

 
Gönderildi : 13/10/2015 13:01

Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

Erdem hocam  'fileCount' does not exist in the current context hatası alıyorum. bunun için using e ne eklemem lazım

 
Gönderildi : 13/10/2015 22:05

(@ilhancakmak)
Gönderiler: 71
Trusted Member
 

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...

 
Gönderildi : 13/10/2015 23:50

(@eravse)
Gönderiler: 1753
Üye
 

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

 
Gönderildi : 13/10/2015 23:53

Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
Konu başlatıcı
 

teşekkürler hocam

 
Gönderildi : 14/10/2015 01:42

Paylaş: