亚洲精品一区二区三区不,国产精品一香蕉国产线看观看,欧美在线观看视频在线http://www.shnenglu.com/lijiakxl/category/11597.htmlMake it right before you make it faster. Keep it right when you make it faster. Make it clear before you make it faster. Do not sacrifice clarity for small gains in efficiency.zh-cnThu, 24 Sep 2009 18:23:51 GMTThu, 24 Sep 2009 18:23:51 GMT60推薦一個不錯的OutLook樣式的類http://www.shnenglu.com/lijiakxl/archive/2009/09/21/96856.html李佳李佳Mon, 21 Sep 2009 08:02:00 GMThttp://www.shnenglu.com/lijiakxl/archive/2009/09/21/96856.htmlhttp://www.shnenglu.com/lijiakxl/comments/96856.htmlhttp://www.shnenglu.com/lijiakxl/archive/2009/09/21/96856.html#Feedback0http://www.shnenglu.com/lijiakxl/comments/commentRss/96856.htmlhttp://www.shnenglu.com/lijiakxl/services/trackbacks/96856.html下面推薦一個OutLook類   可以很方便的給自己的程序增加一個OutLook樣式的視圖
文件上傳下來了   又需要的  自己研究研究吧
這段時間一直在用一個國內的VC知識庫上的一個OutLook類   今天再和這個國外的OutLook類一比較.. 汗...
以后   還是應該多多上上國外網站    

效果圖就不上了   自己看吧   比較華麗

下載地址
http://www.shnenglu.com/Files/lijiakxl/OutBarDemo.rar


李佳 2009-09-21 16:02 發表評論
]]>
第一次遇到 User-Agent 檢測的網站 記錄下來http://www.shnenglu.com/lijiakxl/archive/2009/09/01/94948.html李佳李佳Tue, 01 Sep 2009 02:19:00 GMThttp://www.shnenglu.com/lijiakxl/archive/2009/09/01/94948.htmlhttp://www.shnenglu.com/lijiakxl/comments/94948.htmlhttp://www.shnenglu.com/lijiakxl/archive/2009/09/01/94948.html#Feedback0http://www.shnenglu.com/lijiakxl/comments/commentRss/94948.htmlhttp://www.shnenglu.com/lijiakxl/services/trackbacks/94948.html今天才正式登陸   發送了無數次的登錄信息   一直增  改  就是登陸不了  總是提示錯誤
但是利用IE截獲的HTTP封包來看   幾乎都是一摸一樣的...
這個是截獲的IE封包

POST /app HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-silverlight, application/msword, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
Referer: ***
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7; TencentTraveler 4.0;  Embedded Web Browser from: http://bsalsa.com/; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA)
Host: ***
Content-Length: 264
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: CHANNEL_JSESSIONID=Kc8GLn0Gvvn4Vl7sLjh5kN1nT5DZQknp1nXDRxch9GnTr5TYKncf!2134775339!730718407

service=direct%2F1%2FHome%2F%24Form&sp=S0&Form0=%24FormConditional%2Cblogin%2C%24FormConditional%240&%24FormConditional=T&%24FormConditional%240=F&select=%B8%F6%C8%CB%BF%CD%BB%A7&SERIAL_NUMBER=111222333&USER_PASSWD=123123&EFFICACY_CODE=2598&blogin=+%B5%C7%C2%BC+

以下是我發送出去的封包
POST /app HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Referer: ***
Accept: */*
User-Agent: GetBalance
Host: ***
Content-Length: 300
Cache-Control: no-cache
Cookie: CHANNEL_JSESSIONID=Kc3V7JTn32G0G6yj8KnyhYpRHvHp1gf9pX033l5WjZV6gRh75ZRn!-1722555788!2134775339

service=direct%2F1%2Ffeequery.FeeQuery%2F%24HHeader.%24GHHeader.%24Form&sp=S0&Form0=%24FormConditional%2Cblogin%2C%24FormConditional%240&%24FormConditional=T&%24FormConditional%240=F&select=%B8%F6%C8%CB%BF%CD%BB%A7&SERIAL_NUMBER=111222333&USER_PASSWD=123123&EFFICACY_CODE=1204&blogin=+%B5%C7%C2%BC+

幾乎都無誤  以前登陸的無數的網站  都還沒有這么多頭   這次一個一個的增加  加了這么多的頭  居然還是不行
煩的狠  就用火狐打開看看  顯示 "Components Head not exist"    我的IE可沒有顯示這個信息
聯想到以前在邪八里面看到的文章  里面似乎提過User-Agent檢測    是不是這個網站也增加了這個檢測呢???
于是 在Post數據中在增加一行
pFile -> AddRequestHeaders("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 1.7; TencentTraveler 4.0;  Embedded Web Browser from: http://bsalsa.com/; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA)");
提交  居然顯示成功了...
汗...
保留下來  以備不時之需



李佳 2009-09-01 10:19 發表評論
]]>
解決了VC ADO鏈接數據庫查詢時返回空值 報錯的問題http://www.shnenglu.com/lijiakxl/archive/2009/08/21/94025.html李佳李佳Fri, 21 Aug 2009 08:01:00 GMThttp://www.shnenglu.com/lijiakxl/archive/2009/08/21/94025.htmlhttp://www.shnenglu.com/lijiakxl/comments/94025.htmlhttp://www.shnenglu.com/lijiakxl/archive/2009/08/21/94025.html#Feedback0http://www.shnenglu.com/lijiakxl/comments/commentRss/94025.htmlhttp://www.shnenglu.com/lijiakxl/services/trackbacks/94025.html則一下查詢會出錯
strPosInfo= m_pRecordset->GetCollect("posInfo");       
更加奇怪的是  catch(...)也抓不到異常
今天碰著個問題算是頭弄大了  最后終于弄好了
原因很簡單

報錯的問題

錯誤原因   在GetCollct返回了NULL之后   由于strPosInfo是一個CString對象  編譯器自動將_varint_t轉換成CString  而此時_varint_t為空  因此轉換失敗  不是數據庫的異常 而且根本就不是異常 所以  catch(…)無法抓住

解決方案

在可能為空的地方 利用

 1 _variant_t var;
 2 
 3 var= m_pRecordset->GetCollect("posInfo");          //可能為空
 4 
 5 if(var.vt != VT_NULL)   //為NULL
 6 
 7        strPosInfo = var;
 8 
 9 else
10 
11        strPosInfo = “”;

就可以檢測NULL值了






李佳 2009-08-21 16:01 發表評論
]]>
文件下載功能的實現 (一)http://www.shnenglu.com/lijiakxl/archive/2009/08/17/93581.html李佳李佳Mon, 17 Aug 2009 04:10:00 GMThttp://www.shnenglu.com/lijiakxl/archive/2009/08/17/93581.htmlhttp://www.shnenglu.com/lijiakxl/comments/93581.htmlhttp://www.shnenglu.com/lijiakxl/archive/2009/08/17/93581.html#Feedback0http://www.shnenglu.com/lijiakxl/comments/commentRss/93581.htmlhttp://www.shnenglu.com/lijiakxl/services/trackbacks/93581.html先大致分成三步做吧 
第一步  文件的下載  最基礎
第二步  多線程連接下載文件    提高速度的關鍵
第三部  斷點續傳    非常實用

今天來實現第一步吧
文件的下載  http協議的

使用了一個VC知識庫的Http類      不多說 上代碼
  1 //確定按鈕
  2 void CHttpDownloadDlg::OnBnClickedOk()
  3 {    
  4     ::CreateThread(NULL,0,DownloadThreadProc,(PVOID)this,NULL,NULL);    
  5 }
  6 
  7 //退出按鈕
  8 void CHttpDownloadDlg::OnBnClickedCancel()
  9 {
 10     // TODO: 在此添加控件通知處理程序代碼
 11     OnCancel();
 12 }
 13 
 14 //獲取存儲的文件夾
 15 CString CHttpDownloadDlg::GetStorgeFolde(void)
 16 {
 17     CString strFold;
 18     BROWSEINFO   bi;  
 19     TCHAR   buffer[MAX_PATH];  
 20     ZeroMemory(buffer,   MAX_PATH);  
 21     bi.hwndOwner   =   GetSafeHwnd();  
 22     bi.pidlRoot   =   NULL;  
 23     bi.pszDisplayName   =   buffer;  
 24 
 25     bi.lpszTitle   =   _T("選擇一個文件夾");  
 26     bi.ulFlags   =   BIF_EDITBOX;  
 27     bi.lpfn   =   NULL;  
 28     bi.lParam   =   0;  
 29     bi.iImage   =   0;  
 30 
 31     LPITEMIDLIST   pList   =   NULL;  
 32     if   ((pList   =   SHBrowseForFolder(&bi))   !=   NULL)  
 33     {  
 34         TCHAR   path[MAX_PATH];  
 35         ZeroMemory(path,   MAX_PATH);  
 36         SHGetPathFromIDList(pList,   path);  
 37         strFold = path;
 38         UpdateData(FALSE);        
 39     }    
 40     return strFold;
 41 }
 42 
 43 //線程函數
 44 DWORD WINAPI DownloadThreadProc(LPVOID pDate)
 45 {
 46     CHttpDownloadDlg * pMainDlg = (CHttpDownloadDlg*)pDate;
 47     //pMainDlg->m_DownloadProg.SetPos(30);
 48     CHttpSocket HttpSocket;
 49     CString strServer , strObject ;
 50     USHORT uPort;
 51     DWORD dwServerType;
 52     long lLenth;
 53     const char * pRequestHeader = NULL;
 54 
 55     //通過URL獲取相關參數
 56     AfxParseURL(pMainDlg->m_strDownloadAddr , dwServerType , strServer , strObject , uPort);
 57     pRequestHeader = HttpSocket.FormatRequestHeader((LPTSTR)(LPCTSTR)strServer , (LPTSTR)(LPCTSTR)strObject , lLenth );
 58     HttpSocket.Socket();
 59     HttpSocket.Connect((LPTSTR)(LPCTSTR)strServer );
 60     HttpSocket.SendRequest();
 61     HttpSocket.SetTimeout(100);
 62 
 63     char szLength[15];
 64     HttpSocket.GetField("Content-Length" , szLength , 15);
 65     int iServerState = HttpSocket.GetServerState();
 66     int iFileSize = atoi(szLength);
 67     pMainDlg->m_DownloadProg.SetRange(0,iFileSize/1024);    //設置進度條
 68     CFile file;
 69     file.Open(pMainDlg->m_strStorgePath , CFile::modeCreate | CFile::modeWrite);
 70     char szDate[2048];
 71     int iRecvSize = 0;    //讀取的文件大小
 72     int iCompleteSize = 0;
 73     //DWORD dwStartTime , dwEndTime;    //暫時不計算速度
 74     while (iCompleteSize < iFileSize)
 75     {
 76         //dwStartTime = GetTickCount();
 77         iRecvSize = HttpSocket.Receive(szDate , 2048);
 78         if (iRecvSize == 0)
 79         {
 80             ::AfxMessageBox("服務器關閉鏈接");
 81             break;
 82         }
 83         if (iRecvSize == -1)
 84         {
 85             ::AfxMessageBox("接收數據超時");
 86             break;
 87         }
 88         //dwEndTime = GetTickCount();
 89         file.Write(szDate , iRecvSize);
 90         iCompleteSize += iRecvSize;
 91         pMainDlg->m_DownloadProg.SetPos(iCompleteSize / 1024 );        
 92     }
 93     file.Close();
 94     pMainDlg->m_DownloadProg.SetPos(0);
 95     AfxMessageBox("下載完成");
 96     return 1;
 97 }
 98 
 99 //獲取存儲路徑   仿造迅雷的獲取存儲名稱 盡量不要用戶使用鍵盤
100 void CHttpDownloadDlg::OnBnClickedGetStorgePath()
101 {
102     UpdateData(TRUE);
103     if(m_strDownloadAddr == "")
104     {
105         AfxMessageBox("請輸入下載地址" , MB_OK);
106         return ;
107     }
108 
109     CString strFileName = m_strDownloadAddr;
110     m_strStorgePath = GetStorgeFolde();
111 
112     while(strFileName.Find("/"!= -1)
113     {
114         int i = strFileName.Find("/");
115         strFileName = strFileName.Mid(i +1 , strFileName.GetLength() - i - 1);
116     }
117 
118     m_strStorgePath += strFileName;
119     UpdateData(FALSE);
120 }
121 
界面很簡陋 


今天就先做到這



李佳 2009-08-17 12:10 發表評論
]]>
久久久精品免费国产四虎| 中文字幕精品久久久久人妻| 国产精品对白刺激久久久| 国产成人无码久久久精品一| 韩国三级中文字幕hd久久精品| 久久婷婷五月综合成人D啪| 久久久久人妻一区二区三区| 国产精品99久久免费观看| 久久九九久精品国产| 国产精品免费福利久久| 久久无码人妻精品一区二区三区| 亚洲日韩中文无码久久| 国产L精品国产亚洲区久久| 久久亚洲春色中文字幕久久久 | 亚洲国产小视频精品久久久三级 | 国内精品久久久久久野外| 欧美激情精品久久久久久久九九九| 久久99国产乱子伦精品免费| 色婷婷久久综合中文久久一本| 精品久久久久久国产91| 伊人久久大香线蕉亚洲五月天| 久久精品国产亚洲Aⅴ香蕉| www久久久天天com| 久久婷婷五月综合色高清| 久久青青草视频| 色偷偷88欧美精品久久久| 久久综合久久综合九色| 97久久精品午夜一区二区| 久久精品国产亚洲77777| 一本久道久久综合狠狠爱| 久久综合亚洲色HEZYO国产| 久久国产午夜精品一区二区三区| 久久se精品一区二区| 国产精品久久久久9999| 狠狠色丁香婷综合久久| 久久99国产亚洲高清观看首页| 国产精品免费福利久久| 国内精品久久人妻互换 | 国产成人香蕉久久久久| 国产69精品久久久久9999| 久久天天躁狠狠躁夜夜不卡|