• 13-09-2010, 14:19:44
    #1
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    namespace DosyaIsimleriniOkuTXTOlarakKaydet
    {
    publicpartialclassForm1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
     
    privatevoid DizinIceriginiListeyeEkle(string dizin)
    {
    string[] dizindekiKlasorler = Directory.GetDirectories(dizin);
    string[] dizindekiDosyalar = Directory.GetFiles(dizin); 
    foreach (string klasor in dizindekiKlasorler)
    {
    DirectoryInfo dirInfo = newDirectoryInfo(klasor);
    string klasorAdi = dirInfo.Name;
    DateTime olsTarihi = dirInfo.CreationTime;
    ListViewItem item = newListViewItem(klasorAdi);
    //listBox1.Items.Add(klasorAdi); 
    item.SubItems.Add("Klasör");
    item.SubItems.Add("");
    item.SubItems.Add(olsTarihi.ToString("dd.MM.yyyy HH:mm"));
    }
    foreach (string dosya in dizindekiDosyalar)
    {
    FileInfo fileInfo = newFileInfo(dosya);
    string dosyaAdi = fileInfo.Name;
    long byteBoyut = fileInfo.Length;
    DateTime olsTarihi = fileInfo.CreationTime;
    ListViewItem item = newListViewItem(dosyaAdi); 
    
    
    listBox1.Items.Add(dosyaAdi); 
    
    item.SubItems.Add("Dosya");
    item.SubItems.Add(byteBoyut.ToString());
    item.SubItems.Add(olsTarihi.ToString("dd.MM.yyyy HH:mm")); 
    }
    }
     
    privatevoid button1_Click(object sender, EventArgs e)
    {
    FolderBrowserDialog fBrowser = newFolderBrowserDialog();
    fBrowser.ShowDialog();
    string secilenDizin = fBrowser.SelectedPath;
    textBox1.Text = secilenDizin;
    DizinIceriginiListeyeEkle(secilenDizin);
    }
    privatevoid button2_Click(object sender, EventArgs e)
    {
    if (saveFileDialog1.ShowDialog() != DialogResult.Cancel)
    textBox2.Text = saveFileDialog1.FileName;
    else
    textBox2.Clear();
    try
    {
    TextWriter kayit = newStreamWriter(textBox2.Text);
    int count = listBox1.Items.Count;
    if (count == 0)
    {
    MessageBox.Show("Dosyaya kaydetmek için öncelikle sorgulama yapmalısınız!", "BİLGİ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    else
    { 
    for (int i = 1; i < listBox1.Items.Count - 1; i++)
    {
    kayit.WriteLine(listBox1.Items[i] + " " + "/passive /norestart");
    }
    kayit.WriteLine("shutdown /r /t 05");
    kayit.Close();
    MessageBox.Show("Tüm dosya isimleri dosyaya kaydedildi!", "BİLGİ", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    }
    catch
    { }
    }
    privatevoid button3_Click(object sender, EventArgs e)
    {
    } 
    
    
    }
    }
    
    Belirttiğim dizindeki dosya isimlerini yol göstererek okutturuyorum, sonra onu listbox ın içine eklettiriyorum, sonra ordan da yine benim belittiğim bir konuma txt olarak kaydettiriyorum. Program güzel çalışıyor orda sıkıntı yok fakat ben listbox un içine gelen dosyaların bir butona bağlı olarak, dosyaların oluşturulma tarihine göre artan yada azalan bir şekilde listelenmesini istiyorum benimkinde oldugu gibi dümdüz geliyor...., bunu nasıl yapabilirim acaba bana yardım edebilirmisiniz , TEŞEKKÜRLER;
  • 13-09-2010, 15:26:24
    #2
    Üyeliği durduruldu
    sanırım klasör listesini.vs array a atıyorsun...

    butona tıklanınca array.sort u çalıştırırsın sonra listboxu sıfırlar yeniden ekletirsin
  • 13-09-2010, 16:07:03
    #3
    daha açık anlatabilirmisin?
  • 13-09-2010, 19:38:05
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Bu bilgilere arraylist'e aktardıktan sonra herhangi bir sıralama algoritmasını kullanarak istediğin veriye göre arraylist'i sıralayabilirsin.
    En basitinden buble sort yapabilirsin.