2011年8月30日 星期二

[HTML5] HTML 5 Demos and Examples



什麼是HTML?


2011年8月29日 星期一

2011年8月23日 星期二

[.NET] 清除快取 Cache.Remove

最近用到cache發現裡面沒有支援Clear() 方法,只好用迂迴的方法抓出所有的Cache.Keys
再一個一個去做Cache.Remove()

裡面是C#寫的範例。


2011年8月22日 星期一

[C#] TextBox 限制輸入


TextBox 常常會需要有限制輸入的時候,以下範例是由C#限制 TextBox 只能輸入字母的部份。


*註 : 別忘記還有正則運算式可以用喔


[.NET] Base64 編碼與解碼


Base64 編碼的使用在網頁設計與資料庫處理中是一項很基本卻很實用的技術,在不考慮安全性的情況下,也可以當做是最基礎的「文字編碼」處理。
Base64是一種使用64基的位置計數法。它使用2的最大次方來代表僅可列印的ASCII 字元。這使它可用來作為電子郵件的傳輸編碼。在Base64中的變數使用字元A-Z、a-z和0-9 ,這樣共有62個字元,用來作為開始的64個數字,最後兩個用來作為數字的符號在不同的系統中而不同。



以下是以C#寫的範例程式。

2011年8月18日 星期四

[.NET] System.Globalization 一個很有趣的命名空間

System.Globalization 命名空間 (Namespace) 包含定義文化特性相關資訊的類別,包括語言、國家/地區、使用中的曆法、日期、貨幣和數字格式模式,以及字串的排序順序。這些類別 (Class) 對撰寫全球化 (國際化) 的應用程式很有用。像 StringInfo 和 TextInfo 之類的類別即提供進階的全球化功能,例如 Surrogate 支援和文字項目處理。

其中的

TaiwanCalendar

TaiwanLunisolarCalendar

分別是代表台灣的曆法和陰曆

System.Globalization當然還有其他各國的曆法

而它們的使用方法都相同,以下範例程式用TaiwanCalendar代表


2011年8月15日 星期一

[.NET] C# 常用function整理(六) 民國年轉西元年





        #region RepublicToAD()
        /// <summary>
        /// 民國年轉西元年
        /// </summary>
        /// <param name="RepublicDate"></param>
        /// <returns></returns>
        public static string RepublicToAD(this string RepublicDate)
        {
            try
            {
                if (RepublicDate != null && RepublicDate.Length > 0)
                {
                    string[] temps = RepublicDate.Split('/');

                    if (temps.Length == 3)
                    {
                        RepublicDate = string.Format("{0}/{1}/{2}",
                            Convert.ToInt32(temps[0]) + 1911,
                            temps[1],
                            temps[2]);
                    }
                }
            }
            catch { }

            return RepublicDate;
        }
        #endregion

[.NET] C# 常用function整理(五) 西元年轉民國年



2011年8月14日 星期日

[.NET] C# 常用function整理(四) 是否為數字



[d069] 文文的求婚--續集 (n 行版)


內容 :

承 a004,珊珊終於學成歸國了,文文的考驗時刻也到了。走出了迎客大廳,珊珊問:「What type of year was I born in?」文文很有自信的回答:「閏年!」可是珊珊卻說:「No, It was a LEAP YEAR!」看來文文要娶到珊珊,還得先把英文練一練。

[d067] 文文的求婚--續集 (1 行版)



內容 :

承 a004,珊珊終於學成歸國了,文文的考驗時刻也到了。走出了迎客大廳,珊珊問:「What type of the year was I born in?」文文很有自信的回答:「閏年!」可是珊珊卻說:「No, It was a LEAP YEAR!」看來文文要娶到珊珊,還得先把英文練一練。

[d070] 文文的求婚--續集 (0 尾版)



內容 :

承 a004,珊珊終於學成歸國了,文文的考驗時刻也到了。走出了迎客大廳,珊珊問:「What type of year was I born in?」文文很有自信的回答:「閏年!」可是珊珊卻說:「No, It was a LEAP YEAR!」看來文文要娶到珊珊,還得先把英文練一練。

[.NET] C# 常用function整理(三) 轉址指定網頁

[.NET] C# 常用function整理(二) 重新載入本頁



[.NET] C# 常用function整理(一) 載入資料至RadioButtonList

C#.NET 範例程式
從DB讀取 Item 載入 RadioButtonList 用

2011年8月13日 星期六

[d071] 文文的求婚--續集 (EOF 版)



內容 :

承 a004,珊珊終於學成歸國了,文文的考驗時刻也到了。走出了迎客大廳,珊珊問:「What type of year was I born in?」文文很有自信的回答:「閏年!」可是珊珊卻說:「No, It was a LEAP YEAR!」看來文文要娶到珊珊,還得先把英文練一練。

[d072] 文文的求婚--續集 (Case 版)



內容 :

承 a004,珊珊終於學成歸國了,文文的考驗時刻也到了。走出了迎客大廳,珊珊問:「What type of year was I born in?」文文很有自信的回答:「閏年!」可是珊珊卻說:「No, It was a LEAP YEAR!」看來文文要娶到珊珊,還得先把英文練一練。

[a004] 文文的求婚



內容 :

   文文為即將出國的珊珊送行,由於珊珊不喜歡別人給文文的那個綽號,意思就是嘲笑文文不夠 聰明,但珊珊沒把握那個綽號是不是事實,所以珊珊決定考驗文文,於是告訴文文說,如果你能在 我回國之前回答我生日那年是不是閏年,則等她回國後就答應他的求婚。文文抓抓腦袋想不出來, 於是決定讓最擅長做運算的電腦來幫忙。

2011年8月12日 星期五

[C#] OpenFileDialog 範例





點瀏覽後觸發 butFile_Click()事件

[d068] 該減肥了!



內容 :

珊珊開了一家體重管理中心。每當有新顧客上門,她就為她量體重。如果體重大於 50 公斤,她就免費送她一堂可以減一公斤的體驗課程。給你新顧客的體重,請輸出她離開中心時的體重。

[d066] 上學去吧!



內容 :

板橋高中規定同學必須在 7:30 以前到校早自習,最後一堂課則在 17:00 下課。給你現在的時間,請判斷現在是上學時間或放學時間。

輸入說明 :

輸入只有一行,其中含有兩個由空隔開的整數 hh 及 mm,hh:mm 則代表現在的時間 (24小時制)。

輸出說明 :

如果現在是上學時間,請輸出「At School」,否則請輸出「Off School」

範例輸入 :

17 00 
範例輸出 :

Off School


/**********************************************************************************/
/* Problem: d066 "上學去吧!" from 板橋高中 */
/* Language: C */
/* Result: AC (2ms, 249KB) on ZeroJudge */
/* Author: diiuuli520 at 2009-04-03 23:57:19 */
/**********************************************************************************/


#include
#include

int main(void)
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
if(a>=17||(a==7 && b<30)||a<7 ) printf("Off School"); else printf("At School"); return(0); }

[d065] 三人行必有我師



內容 :

文文和兩個同學最近喜歡在 ZeroJudge 上解題。有一天他們看到了孔子說的:「三人行必有我師焉。」就吵了起來,因為他們每個人都認為自己是三個人之中的「老師」。後來他們決定要比比看誰在 ZeroJudge 上的 AC 題數最多。

2011年8月11日 星期四

[jQuery] 基礎教學

既然都開始寫jQuery了,就來介紹一下什麼是jQuery吧!
這是剛接觸時前輩給我看的教學,裡面內容對jQuery介紹的相當仔細,
看完一整個實力大增呀!!(誤)


[Javascript] 匿名函數 遞迴寫法


最近剛接觸jQuery,它很多寫法都還滿特別的,

就連遞迴也很不一般 XD

[d074] 電腦教室

內容 :

蝸牛老師在一個優質高中擔任電腦老師,在學校裡有一個他專用的電腦教室。最近學校有一筆經費要幫這個電腦教室更新電腦。學校的原則是,每個上課的學生都要有自己的電腦,但是不希望購買多餘的電腦。給你蝸牛老師的任教班級數及每班人數,請你幫他算出要買幾部新電腦給學生使用。

[d073] 分組報告


內容 :

電腦課要同學分組做期末報告,分組的方式為依座號順序,每 3 個人一組。如:1, 2, 3 為第一組,4, 5, 6 為第二組….以此類推。輸入同學的座號,請判斷他在哪一組。

輸入說明 :

輸入只有一行,含有一個正整數 n,代表同學的座號。
輸出說明 :

輸出該同學的組別。

範例輸入 :

7
範例輸出 :

3

/**********************************************************************************/
/* Problem: d073 "分組報告" from 板橋高中 */
/* Language: C */
/* Result: AC (4ms, 262KB) on ZeroJudge */
/* Author: diiuuli520 at 2009-04-04 00:22:02 */
/**********************************************************************************/


#include
#include

int main(void)
{
int a;

while(scanf("%d",&a)!=EOF)
if(a%3==0)
printf("%d",a/3);
else
printf("%d",a/3+1);
return(0);
}

[b119] 售票系統 (Sales)



內容 :
「低利航空公司」因與同業競爭,經常給予預購票大幅折扣。近年來因為油價高漲,經過細算,該公司所飛行的航班必須以票面價售出30%的機位才能打平所有的支出,因此該公司必須減少每張票的折扣數或者提高票面單價,來提昇公司獲利水準。
但是全面提高票價可能會造成客源的流失,因此企畫部門提出了以下的動態調整機位售價的模式:
給定某航段的票面價及機位數,前20%賣出的機位售價為票面價之70%,前21%~40%賣出的機位售價為票面價之80%,前41%~60%賣出的機位售價為票面價之 90%,最後售出的機位則全部為票面價。
請寫一個程式來幫助「低利航空公司」計算每天每班飛航班機的利潤或虧損。
計算過程皆四捨五入至整數。

2011年8月10日 星期三

[d122] Oh! My Zero!!

內容 :

阶乘运算是很令人头疼的,因此我们要想方设法地把它简化。

[C#] SQL 連接字串


SQL2005, SQL2008, MySQL ,Excel, Access ,Excel 2007, Access 2007.....

所有DB的connection string Example


[javascript] keyCode tab

用javascript判斷user按下"tab"鍵,或鍵盤其他鍵

[SQL] LogTable 觸發程序(Trigger)



這是之前寫的LogTable Trigger,
記錄下來當以後的example。

2011年8月7日 星期日

[C#] DateTime 日期格式



DateTime 表示時間的瞬間,通常以一天的日期和時間表示。
裡面是 DateTime ToString 的常用格式。

[Javascript] 刷新頁面的幾種方法

history.go(0)
location.reload()
location=location
location.assign(location)
document.execCommand('Refresh')
window.navigate(location)
location.replace(location)
document.URL=location.href

[SQL] 預存程序 (Stored Procedures)



撰寫 Stored Procedures
利用 ADO 來存取資料庫是一件既輕鬆又簡單的工作, 不過有的時候又臭又長的 SQL 敘述實在很煩人,

[SQL] SQL語法教學

一般而言,資料庫的語法 ( SQL ) 分為三大類別:

1. DDL ( Data Definition Language ):定義資料庫物件使用的語法,常看到的關鍵字有:

Create:建立資料庫的物件。

Alter:變更資料庫的物件。

Drop:刪除資料庫的物件。

2. DCL ( Data Control Language ):控制資料庫物件使用狀況的語法,常看到的關鍵字有:

Grant:賦予使用者使用物件的權限。

Revoke:取消使用者使用物件的權限。

Commit:Transaction 正常作業完成。

Rollback:Transaction 作業異常,異動的資料回復到 Transaction 開始的狀態。

3. DML ( Data Manipulation Language ):維護資料庫資料內容的語法,常看到的關鍵字有:

Insert:新增資料到 Table 中。

Update:更改 Table 中的資料。

Delete:刪除 Table 中的資料。

Select:選取資料庫中的資料。

C# 正則運算式取出指定子節點範例




C# 字串處理 HTML XML 時,正則運算式就是很好用的工具。

[正則運算式] 範例

Regular Expressions 可簡稱為regexp 、regex 或RE; 常見的翻譯有「正規表示式」、「正則表達式」、「常規表示式」、「正規運算式」、「規則運算式」等。

內容部分是以前用過的,部分是網路上的範例。

[轉載] 正則運算式 基礎知識

Regular Expressions 可簡稱為regexp 、regex 或RE; 常見的翻譯有「正規表示式」、「正則表達式」、「常規表示式」、「正規運算式」、「規則運算式」等。

內有表格整理和範例參考

2011年8月5日 星期五

[HTML] IE 相容性檢視

每次網站用IE開都要滑鼠去點相容性檢視久了就有點麻煩,
後來去查了一下,原來只要加一個標籤就能解決了。



2011年8月4日 星期四

[C#] 使用SerialPort讀取RS232

這是之前寫zigbee firmware時,稍稍寫過的程式。

裡面是讀取Rs232,如果要傳送read改成write就行了。

[ACM 10346] Peter's Smokes

 內容 :

Peter有 支紙煙,他一支一支的抽並且把煙屁股留起來。當他有 k 支煙屁股(k>1)時他可以把它們捲成一支新的紙煙。

請問Peter共可以抽幾支紙煙?

[ACM 591] Box of Bricks

 內容 :

3歲的小明喜歡玩他的方塊積木,他總是把方塊疊在一起形成高度不一的方塊堆。然後他說:這是一面牆。5歲的姊姊小美聽到了就跟小明說:真正的牆高度應該要一樣才行。小明聽了覺得有道理於是決定要搬動一些方塊使所有方塊堆的高度一樣。如下圖。由於小明是個懶惰的小孩,他想要搬動最小數目的方塊以達成這個目的,你能幫助他嗎?

 

 

[.NET] DataTable 匯出 Excel

專案中常會需要匯出Excel
所以就寫了這段程式供以後使用

[ACM 392] Polynomial Showdown

 內容 :
給你一個數學多項式的係數,從8次方到0次方。你的任務是把一些不需要的項次拿掉,然後以易讀的格式來輸出。例如:給你 0, 0, 0, 1, 22, -333, 0, 1,  -1這9個係數,你應該要產生這樣的輸出: x^5 + 22x^4 - 333x^3 + x - 1
以下是詳細格式的規則:
  1. 項次必須按降冪出現。
  2. 指數部分出現在^符號之後。
  3. 常數項只要出現常數部分就好了,不需有x^0。
  4. 只有係數非0的項次才需出現。如果所有的係數都是0,那只要輸出常數項就可以了。
  5. 介於項次之間的+號和-號兩邊各有一空白字元。
  6. 假如第一項的係數是正的,那麼該係數不需要符號。如果第一項的係數是負的,那該係數必須有-這個符號。例如:-7x^2 + 30x + 66
  7. 若係數為負,則以減一個正數來表示(除了上面第6條所提到的第一項之外),而非以加一個負數來表示。例如:x^2 + -3x 這樣的表示法是錯誤的,應該是:x^2 - 3x才對。
  8. 1或-1,除了常數項之外都不應該出現。例如:-1x^3 + 1x^2 + 3x^1 - 1 這樣的表示法是錯誤的,應該是:-x^3 + x^2 + 3x - 1 才對。

[ACM 10161] Ant on a Chessboard

 內容 :
有一天,有一隻叫做小強的螞蟻來到一個M*M的棋盤上。他想要把棋盤的每一格都走過。他走的路徑有點奇怪,像一條蛇一樣,他走的速度是每秒一格(請參考下圖中紅色的路徑,代表1-25秒的位置)。
從上圖可知:在第1秒時他的位置在(1,1),在第8秒時他的位置在(2,3),在第20秒時他的位置在(5,4)。你的任務就是要求出在某一秒時小強在棋盤上的位置。(你可以假設棋盤有夠大)

[SQL] 金額千分位的語法

 
通常轉換金額都是寫成JavaScript function

可是好死不死轉換要在SQL就先做該怎麼辦呢?

2011年8月3日 星期三

[ACM 10082] WERTYU

 內容 :
打字時一個常見的錯誤就是沒有把手放在正確位置,而是偏右邊一個位置。所以會發生Q被打成WJ被打成K等等的情況。你的任務就是要把打錯的字修正回來。

[ACM 100] The 3n + 1 problem

 內容 :
考慮以下的演算法:

1.         輸入 n
2.         印出 n
3.         如果 n = 1 結束
4.         如果 n 是奇數 那麼 n=3*n+1
5.         否則 n=n/2
6.         GOTO 2

例如輸入 22, 得到的數列: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

據推測此演算法對任何整數而言會終止 (當列印出 1 的時候)。雖然此演算法很簡單,但以上的推測是否真實卻無法知道。然而對所有的n ( 0 < n < 1,000,000 )來說,以上的推測已經被驗證是正確的。

給一個輸入 n ,透過以上的演算法我們可以得到一個數列(1作為結尾)。此數列的長度稱為n的cycle-length。上面提到的例子, 22 的 cycle length為 16.

問題來了:對任2個整數i,j我們想要知道介於i,j(包含i,j)之間的數所產生的數列中最大的 cycle length 是多少。

Port list

 
每次要幫網站開port都要先找list看會不會搶到,
所以還是記錄下來以後就直接來這看了 XD

[SQL] 資料表值函式 CLR

  這跟SVF很像,但他回傳的是資料表的使用者定義函數,
一樣從SQL Server 2005 開始都可以使用。

Ps.對於資料表値函式而言,傳回資料表類型的資料行不得包含時間戳記資料行或非 Unicode 字串資料類型資料行 (例如,charvarchar 和 text)。 不支援 NOT NULL 條件約束。

 

[SQL] 純量值函數 SVF

 
這其實就很像C#裡的函式,從SQL Server 2005 開始都可以使用,
會傳回單一值,如字串、整數或位元值。

[C#] POST 傳值

之前有一個動作需要post到數個不同的地方做檢驗,
所以就把這整理成一個Function

[.NET] 生成驗證碼圖片

這是登入或發文時,常用的生成驗證碼圖片程式。

[C++] 五子棋 程式 1P Vs AI

 
規則就一般五子棋的規則。
連成五條線就算贏。

有簡單計算權值,所以AP棋力還不弱。

[ACM 406] Prime Cuts

 內容 :
質數的定義為:除了1和它本身之外,沒有別的數可以整除它的。(請注意:在本問題中,1被定義為質數)
你的任務是,給你N及C,請你找出1到N中所有的質數,並把他們排成一列(假設共有K個)。如果K是偶數,請輸出中間那C*2個質數。如果K是奇數,則輸出中間那(C*2)-1個質數。

[ACM 10035] Primary Arithmetic

 內容 :
在小學時我們都做過加法的運算,就是把2個整數靠右對齊然後,由右至左一位一位相加。如果相加的結果大於等於10就有進位(carry)的情況出現。你的任務就是要判斷2個整數相加時產生了幾次進位的情況。這將幫助小學老師分析加法題目的難度。

2011年8月2日 星期二

[ACM 488] Triangle Wave

 內容 :
在統計學的世界中,中間數(median)扮演一個重要的角色。 根據定義:中間數就是在一連串已由小到大排序的數字中,排在中間

的那一個數。例如:在{1,3,4,9,11}中4就是中間數。萬一有偶數個數字,我們定 義中間數就是位於中間的那2個數的和除以2(而且

只取整數部分)。例如:在{1,2,3,6,7,8}中{3,6}是位於中間的2個數,所以中間數就是 (3+6)/2=4。

[ACM 10107] What is the Median?

 內容 :
在統計學的世界中,中間數(median)扮演一個重要的角色。 根據定義:中間數就是在一連串已由小到大排序的數字中,排在中間

的那一個數。例如:在{1,3,4,9,11}中4就是中間數。萬一有偶數個數字,我們定 義中間數就是位於中間的那2個數的和除以2(而且

只取整數部分)。例如:在{1,2,3,6,7,8}中{3,6}是位於中間的2個數,所以中間數就是 (3+6)/2=4。

系統無法讓您登入,請確定您的使用者名稱及網域無誤然後輸入密碼


這是我砍掉Administrator帳號後,開機就出現的訊息框...

[zerojudge b186] 97七區資訊學科1(改編)

 內容 :
有一家店正在進行促銷,只要客人買10個餅乾和2個蛋糕就多送1盒巧克力,請以程式輸出最後應給予的物品數量。

[96北市資訊學科能力競賽] 會議中心(Room)

 內容 :

拼拼樂會議中心是一個N×N 的超大型可分割式會議中心。每一個1×1 的空間都可以用隔板隔開,因此該會議中心最多可以有n2 個獨立的1×1 會議室,如要較大的會議室,則需將隔板拿掉使得二或更多個相鄰的1×1 空間可以合併使用。圖一的會議中心最多可分隔成169 個1×1 小會議室,最少則全部合併成為一個13×13 的會議室每間1×1 會議室皆以其二維平面座標為編號。選定一個1×1 會議室並給予編號 (0),相鄰的上、下、左、右會議室編號則依序為 (0, 1), (0, -1), (-1, 0), (0, 1)。
會議中心外租會議室時,必須按照下列規則,組成合乎需求的會議室。一開始先以編號為(0, 0) 的空間供租用,如果空間不足,則依序向右方、上方、左方、下方的空間合併成為較大的會議室。每次擴充時,新加入的空間必須為正方形且該邊長必須與相鄰的擴充前會議室邊長相同,如此才能確保合併後的會議室一定是四方形。以下圖為例,第一次擴充租用空間時,右邊編號為 (1, 0) 的會議室空間會被跟編號為 (0) 的會議室合併。第二次擴充時,在 (0, 0), (1, 0) 上方的四個(2×2 正方形)小會議室會被合併進來。第三次擴充時,在 (0,0) ~ (0, 3) 左邊的 9 個 (3×3 正方形)小會議室會被合併進來。第四次擴充時,在 (-3,0) ~ (1,0) 下方的 25 個 (5×5 正方形)小會議室會被合併進來。第五次擴充時,在 (0,-5) ~ (0,2) 右方的 64 個 (8×8 正方形)小會議室會被合併進來。後續的擴充則依此類推。

 

現在,若給定一個n 的值,請計算第n 次擴充時的正方形會議室的邊長。 

[ACM 10300] 環保獎金

 內容 :

德國的農夫根據他們農場的條件被發給獎金。想像以下簡單的規則:你知道農場的大小也知道有多少動物住在裡面。在這裡我們並不去分別不同的動物有什麼 不同之處(雖然這跟現實有些不合)。除此之外,你還知道農夫使用環保設備及習慣的等級(稱之環保等級),這等級以大於0的整數來表示。

農夫得到的獎金是根據以下的計算:首先算出每隻動物平均居住的空間,然後乘以該農夫的環保等級,這樣你就得到每隻動物可以領多少獎金。最後再把這個值乘以所有動物的數目,就可以算出該農夫可得到獎金的數目了。

[ACM 10696] f91

  內容 :

McCarthy是一個有名的資訊專家。他定義了一個遞迴的函數叫做 f91 。它輸入一個正整數N並且依據以下的規則傳回一個正整數:

. 如果 N <= 100, 那麼 f91(N) = f91( f91( N+11) )

. 如果 N >= 101, 那麼 f91(N) = N-10

請你寫一個程式來計算 f91

[2008 TOI 研習營初選] 二元一次聯立方程式

 內容 :
數學老師遇到困難了!他把二元一次聯立方程式考試題目的解
答搞丟了,又忘記怎麼解二元一次聯立方程式。老師只好向你求救,
請你寫出解二元一次聯立方程式的題目。二元一次聯立方程式的型式
如下: 

y = a1x + b1 
y = a2x + b2

x和y是變數。a1,a2,b1和b2是常數。你的程式的輸入是a1,a2
b1和b2,輸出是x和y的值(假設所有的方程式恰有一個解)。

2011年8月1日 星期一

在Blog貼程式碼或展示程式碼

  
想在Blog上放工整的程式原始碼嗎?

其實只要在樣板設定裡加段CSS就行了!!!

[ACM 10035] Primary Arithmetic

 
 這些是以前寫過的題目,放在這裡紀錄一下

[ACM 10812] Beat the Spread!


 這是以前寫過的題目,放在這裡紀錄一下

程式設計師常犯的五項非技術問題

  對於 程式設計 師來說,有兩種技術需要我們掌握,一個是技術上的能力,另一個是非技術上的能力。不幸的是,許多設計師過多地關注了技術上的能力,而忽略了非技術上的能力的培養,因此,我們的程式設計師們經常會有一些很不好的習慣,這裡我們例舉了程式設計師們最常犯的5個非技術的錯誤,與大家共勉。

十二項程式設計可以避免的問題

好久沒寫網誌了,先來分享一下今天看到的文章