• Aug 15 Sun 2010 21:25
  • 搬家

由於我的部落格一直沒什麼人氣,所以只好搬家到點部落~~未來有新文章會改po在這裡。
 

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

image
考題又來了,想 SQL Statment 真的是有活化腦細胞的作用,這次題目如下:
假設有一個 TABLE 欄位如下:   日期, 學生編號, 學生姓名, 成績,可能每隔幾天有一次考試並登入成績。
請問要如何下一個SQL SELECT 查出 每個月 前5名的學生及成績?
(用單月累積 分數最高者為當月第一名)

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

image
最近有個格式化字串的需求,是要計算已知字串的 Byte 數量,每 100 個 Byte 加上一個換行符號(不能超過100)。一開始的想法是一個 char 一個 char 去跑迴圈並計算 Byte 數。不過這樣又似乎不太妥當,想來想去,最後寫成這個樣子:

public static string SetupType(string text) {
//先去除換行字元
text = text.Replace("\r", "").Replace("\n", "");
//每行最大 Byte 數
int bytesCountEachLine = 100;
//記錄目前已處理完成的字元數
int charIndex = 0;
//最後的回傳值
string result = string.Empty;
Encoding ansi
= Encoding.Default;
byte[] textBytes = ansi.GetBytes(text);
while (charIndex < text.Length) {
//起始位置
int start = ansi.GetByteCount(text.Substring(0, charIndex)) ;
//利用 Encoding.GetCharCount 從起始位置將 100 個 Bytes 的字元一次取出
int count = 0;
if (textBytes.Length - start > bytesCountEachLine)
count
= ansi.GetCharCount(textBytes, start, bytesCountEachLine);
else
count
= ansi.GetCharCount(textBytes, start, textBytes.Length - start);
string target = text.Substring(charIndex, count);
//取出來的字串可能會大於 100 Bytes,所以需要把多餘的去掉
while (ansi.GetByteCount(target) > bytesCountEachLine) {
target
= target.Substring(0, target.Length - 1);
count
-= 1;
}
charIndex
+= count;
//最後一行不用加斷行符號
if (charIndex < text.Length)
result
+= target + "\r\n";
else
result
+= target;
}
return result;
}

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

image
平常用 Visual Studio 新增檔案的時候(例如:aspx、cs...),Visual Studio都會很聰明的產生出一模一樣的檔案,例如下面這張圖:   其實這是因為 Visual Studio 產生檔案時,是從一堆 Template 當中複製過來的。以上面這張圖為例,是在: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplatesCache\Web\CSharp\1033\WebForm.zip\CodeBeside.cs

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

image
剛剛看到天才少年 laneser 寫了一段程式碼,為方便說明,我稍微刪掉了一些。大致上如下:

[STAThread]
static unsafe void Main() {
string s = "123";
fixed (char* ps = s) {
ps[
0] = '3';
ps[
1] = '2';
ps[
2] = '1';
}
MessageBox.Show(
"123");
}

AnferneeHardaway 發表在 痞客邦 留言(1) 人氣()

最近在MVC上使用AjaxControlToolKit,稍微研究了一下$create()的用法,在這邊做個心得分享:

Note:在MVC上使用AjaxControlToolKit的方法可參考這裡
以下節錄自MSDN的說明:
image

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

wcf-hostname
網友問了個問題:WCF 建立時,服務參考的網址是顯示主機名稱,但他想用 IP 取代主機名稱,這該怎麼做呢?其實還挺簡單的,在 IIS 設定一下就行了,下面用對照的方式來看:
 
設定前:

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

fiddler
這個問題存在好久了,每次在家裡用Fiddler都攔截不到瀏覽器所送出的HttpRequest資訊。由於在家寫程式多半都不是為了工作,所以也就睜一隻眼閉一隻眼,攔截不到就攔截不到,程式寫得高興就好。 結果今天為了抓某隻程式所發出的HttpRequest,走投無路之下只好乖乖想辦法排除問題,笨笨的試了一個多小時,最後才在官網上看到解決辦法。如下圖般設定就行囉!

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

REG-TabProcGrowth
        之前發過一篇 SessionID重複 的問題。事隔多日,總算讓我找到好方法,可以透過修改機碼的方式來改變 IE 共用 SessionID 的行為。         只要在 HKCU\Software\Microsoft\Internet Explorer\Main 底下新增一個名為 TabProcGrowth 的 DWORD 值,並將其值設為 0 即可。

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

        在網路上看到這個問題,寫起來還挺有趣的,所以記錄一下,避免老了腦袋不靈光,有興趣的朋友不如也來考考自己。 問題如下: 有一個 Table 記載著每位學生每科得的等第,等第由0到5 CREATE TABLE #Test (
STID
INT, Math INT, Social INT,
Nature
INT, English INT, Chinese INT,
Music
INT, Physic INT, Work INT,
)
go
INSERT INTO #Test
VALUES
(
9001, 5, 3, 3, 1, 0, 4, 1, 2),
(
9002, 0, 2, 3, 5, 1, 4, 5, 1),
(
9003, 3, 3, 4, 4, 4, 4, 2, 4),
(
9004, 2, 4, 4, 3, 5, 2, 5, 4),
(
9005, 4, 3, 1, 2, 4, 2, 5, 1),
(
9006, 4, 3, 5, 3, 5, 2, 3, 5),
(
9007, 0, 4, 1, 5, 0, 2, 5, 2),
(
9008, 3, 5, 3, 1, 5, 4, 3, 5),
(
9009, 3, 5, 5, 4, 4, 1, 3, 4),
(
9010, 3, 4, 3, 2, 4, 0, 3, 0),
(
9011, 5, 1, 1, 4, 3, 0, 0, 3),
(
9012, 2, 2, 1, 3, 1, 1, 5, 2),
(
9013, 4, 1, 4, 4, 3, 0, 0, 4),
(
9014, 3, 3, 5, 0, 5, 2, 1, 1),
(
9015, 2, 4, 0, 5, 3, 1, 0, 1)
go

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

fiddler-webservice-request
         最近在使用 Web Service 時發現了一個有趣的現象,只要按 F5 進偵錯模式時呼叫 Web Service,就常常會發生逾時的情況,但是不進偵錯模式的話又可以正常呼叫。
        雖然程式搬到 Server 上可以正常執行,但在開發時不能進偵錯模式實在很令人頭痛。為了解決這個問題,我把 Web Service 的 Request 交由 Fiddler 去發送,籍由這個工具來看 Request 的內容。程式碼大致上如下:


WebReference.Service1 service = new WebReference.Service1();


service.Proxy = new System.Net.WebProxy("127.0.0.1", 8888);


AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

dumppdb1
        之前研究過 pdb 檔案的作用,不過沒找到可以讀取它的方法。這個問題一直擱在心頭上,總算這兩天有看到相關的文章。原來安裝 Visual Studio 的時候就會連同 DIA Dump 範例一起安裝進來。只要把這個範例的方案檔打開,編譯,接著就可以做 Dump 的動作囉! 範例的路徑是:
%ProgramFiles(x86)%\Microsoft Visual Studio 8\DIA SDK\Samples\DIA2Dump\dia2dump.sln         編譯完之後,開啟命令提示字元,將目錄切到 Debug 底下(跟 Dia2Dump.exe 同一層),然後輸入 Dia2Dump.exe "pdb檔案的路徑 + 檔名",再按下 Enter 就可以看到 pdb 的內容了。

AnferneeHardaway 發表在 痞客邦 留言(0) 人氣()

1 2 3
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。