2011-06-01 39 views
0

我有很多文件夾,並且有許多數據文件的日期不同。現在,如果我從DatePicker中選擇日期,我的代碼將提取數據並提取日期,並將日期保存爲一個txt文件(例如YYYYMMDD.txt,20110131.txt),我從DatePicker中選擇日期。如何在Datetimepicker中將數據從給定日期提取到Currentdate

我在這些文件中有超過2年的數據。每次我選擇提取數據的日期時,我都很難做到這一點。

如果我從DatePickers中選擇開始日期到當前日期,那麼數據將從開始日期提取到當前日期,並將文件名保存爲每個日期。

有什麼建議嗎?

這裏是我的代碼:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e) 
{ 
    DateTime dt = dateTimePicker1.Value; 
    txtSelectedDate.Text = dt.ToString("yyyyMMdd"); 
    selectedDate = txtSelectedDate.Text; 
} 



private void button2_Click(object sender, EventArgs e) 
{ 
    string DayBgSpot = "E:\\Folder"; 

    string DayBgSpotDestination = "E:\\Folder1"; 

    int DT = int.Parse(txtSelectedDate.Text); 
    FileReader Reader = new FileReader(); 
    FileReader Reader1 = new FileReader(); 
    Reader.OpenDirectory(DayBgSpot); 
    Reader.ReadNaster(); 
    string path = DayBgSpotDestination + "\\" + txtSelectedDate.Text + ".txt"; 
    StreamWriter Strwriter = new StreamWriter(path); 
    try 
    { 
     while (Reader.iMaRecordsLeft > 0) 
     { 
      string SecName = Reader.sMaSecName; 
      string Symbol = Reader.sMaSecSymbol; 
      Symbol = prefix + Symbol; 
      int abc = 0; 

      Reader.OpenSecurityByName(Reader.sMaSecName); 
      if (Reader.iSeRecords > 0) 
      { 
       while (Reader.iSeRecordsLeft > 0) 
       { 
        Reader.ReadDay(); 
        float O = Reader.dSeo; 
        float H = Reader.dSeh; 
        float L = Reader.dSel; 
        float C = Reader.dSec; 
        double V = Reader.dSeV; 
        double OI = Reader.dSrest; 
        string T = Reader.iSeTime.ToString(); 
        string D = Reader.iSeDate.ToString(); 
        if (int.Parse(D) == DT) 
        { 
         string a = string.Concat(SecName, ",", Symbol, ",", D, ",", T, ",", O, ",", H, ",", L, ",", C, ",", V, ",", OI); 
         if (SecName != "" && V != 0) 
         { 
          Strwriter.WriteLine(a); 
         } 
        } 
       } 
      } 



      abc++; 


      Reader.ReadNaster(); 
     } 

     Reader.CloseDirectory(); 
     Strwriter.Close(); 
     Strwriter.Dispose(); 



    } 
    catch 
    { 
    } 


} 
+0

感謝編輯的代碼 – 2011-06-01 02:55:08

回答

1

這裏的邏輯。 可以說,您已將datetimepicker作爲開始日期並生成報告至日期。

用戶在button2_click代碼迴路

DateTime stdate = Datetimepicker1.value; 
while (stdate <= DateTime.Now) 
{ 
    txtSelectedDate.Text = stdate.ToString("yyyyMMdd"); 
    selectedDate = txtSelectedDate.Text; 

/* Here use your existing code as it is */ 
............ 
......... 



stdate = stdate.AddDays (1); // It will get next date till present 

} 
+0

非常感謝你,它的工作perfectly.i時遇到的另一個問題u能PLS說我怎麼可以刪除文件0KB這是無用的是無論如何刪除0kb文件。 – 2011-06-01 03:37:26

+0

您應該閱讀循環中每個文件的內容,如果大小爲0,則可以針對該文件名調用delete。像這樣FileInfo MyFile = new FileInfo(「FileName」); MyFile.Delete(); – AjayR 2011-06-02 01:09:47

相關問題