Udostępnij za pośrednictwem


Who's Birthday? (ASP.NET)

今日教大家寫一個超實用的program,它可以幫大家記住你朋友的生日,那麼你就不怕錯過任何朋友的生日了:)

完成品:在日曆上選擇任何一日,輸入朋友的名稱,然後Click「Enter」。隨後再Click這個日子時,就可以看到提示告訴你這日是誰的生日。

Who's Bithday (ASP.NET)

看過"Programming for Dummies"的朋友也懂得做這個畫面吧(不懂的請看舊文)

1. 有關生日日期的program,當然要加入Calender啦!跟上次一樣,在左邊的Toolbox中把「Calendar」拉到所需的位置

 

2. 又跟上次一樣,要program在click button時有反應,就要double click button。現在我們要記低朋友的生日,就如以下,用array of date來記起數個朋友的生日,再用array of name來記起數個朋友的名稱,count就是array中的counter。(當你用Visual Studio時,不知道應該用甚麼Data type來放Date時,就簡單地打「Date」,Visual Studio就會有一堆建議給你,這樣你就不用上網查了)
如果不明白甚麼是array的朋友,請看這裡

1.2.3.4.5.
 public partial class _Default : System.Web.UI.Page {  public static DateTime[] date = new DateTime[10];  public static String[] name = new String[10];  public static int count = 0;

 

3. Double Click "Button" ,在Button1_Click function中加入這幾句來記住所選擇的日期(Calendar1.SelectedDate)及所輸入的名稱(TextBox1.Text)。

1.2.3.
 date[count] = Calendar1.SelectedDate; name[count] = TextBox1.Text; count = count + 1;

 

4. Double Click "Calendar",在Calendar1_SelectionChanged中加入以下幾句來Check user所Click的日子是否有朋友生日,有的就顯示提示,沒有的就顯示空白。

1.2.3.4.5.6.7.8.9.10.11.12.13.
 bool match = false; int i = 0; while ((!match) && (count > i)) {  if (Calendar1.SelectedDate == date[i])  {    Label1.Text = "It's " + name[i] + "'s birthday!";    match = true;  }  i++;} if (!match)   Label1.Text = "";

就是這樣,Done! 其實你手機上的月曆,你日常在手機中所使用的行事曆也大概如此。想要再實用點?可以先再Design page中加入多一個Label,然後在Calendar1_SelectionChanged的while loop中加入:

1.2.
 if (Calendar1.TodaysDate == date[i]) Label2.Text = "Today is " + name[i] + "'s birthday!";

這樣就可以顯示今日生日的朋友了!手機中你日常使用的program你自己都做到 :)