目前分類:程式設計 (24)

瀏覽方式: 標題列表 簡短摘要
由於Pixnet的文章發表程式碼並不方便,所以以後的內容都移至自己架的WordPress網址如下

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

大家可以參考一下。
出處來自
http://www.cppfans.com/articles/system/cpuspd_usdly.asp
或從以下網址下載
http://stweb.cgu.edu.tw/~m9221001/VC/cpu.mht

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

hSrc = ::GetDC(this->m_hWnd); //Get視窗的Client Area Dc
hMemDC  = CreateCompatibleDC(hSrc);
hBitmap = CreateCompatibleBitmap(hMemDC ,Pixel,Pixel);//黑白圖
 //hBitmap = CreateCompatibleBitmap(hSrc ,Pixel,Pixel);//彩色圖

在BMP FILE HEADER裏,SIZE配置大小要正確(兩種顏色,可在調色盤自己設定)。
UINT infoSize = sizeof(BITMAPINFOHEADER) + sizeof(RGBQUAD)*2;
hdr.bfOffBits = sizeof(BITMAPFILEHEADER)+ infoSize;
hdr.bfSize = hdr.bfOffBits + dwSize;

另外在調色盤RGBQUAD裏,可以自己設定值(系統預設是黑白),最好自己也設定一下比較保險。
    PBITMAPINFO pbmi; 
    pbmi->bmiColors[0].rgbRed = 0;
    pbmi->bmiColors[0].rgbGreen = 0;
    pbmi->bmiColors[0].rgbBlue = 0;
    pbmi->bmiColors[0].rgbReserved = 0;
    pbmi->bmiColors[1].rgbRed = 255;
    pbmi->bmiColors[1].rgbGreen = 255;
    pbmi->bmiColors[1].rgbBlue = 255;
    pbmi->bmiColors[1].rgbReserved = 0;

    pbmi->bmiColors[0].rgbRed = 0;
    pbmi->bmiColors[0].rgbGreen = 0;
    pbmi->bmiColors[0].rgbBlue = 0;
    pbmi->bmiColors[0].rgbReserved = 0;
    pbmi->bmiColors[1].rgbRed = 128;
    pbmi->bmiColors[1].rgbGreen = 255;

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

 //將Big5的字轉至Unicode
 wchar_t* wszUnicode=NULL; //Unicode編碼的字元
 int iLen=MultiByteToWideChar (CP_ACP, 0,"標楷體", -1, NULL,0) ;
 wszUnicode=new wchar_t[iLen+1];
 MultiByteToWideChar (CP_ACP, 0,"標楷體", -1, wszUnicode,iLen);

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

以下是自製Source Code參考

CString WidthString,HeightString;
m_Width.GetWindowText(WidthString);
m_Height.GetWindowText(HeightString);
int Width,Height;

Width = atoi((const char*)WidthString);
Height = atoi((const char*)HeightString);

int Pixel=Height;
HDC hSrc;     //screen DC
HDC hMemDC;
 
HBITMAP hBitmap,hOldBitmap; 
HFONT hFont,hOldFont;

hSrc = ::GetDC(this->m_hWnd); //Get視窗的Client Area Dc
hMemDC  = CreateCompatibleDC(hSrc);
hBitmap = CreateCompatibleBitmap(hSrc ,Pixel,Pixel);
hOldBitmap = (HBITMAP)SelectObject(hMemDC,hBitmap);

//hFont = CreateFont(-(int)(fabs(250*GetDeviceCaps(hSrc,LOGPIXELSY)/72)/10.0+0.5),0,0,0,500,FALSE,FALSE,FALSE,0,0,0,0,0,"標楷體");
hFont = CreateFont(Pixel,0,0,0,500,FALSE,FALSE,FALSE,0,0,0,0,0,"標楷體");
hOldFont=(HFONT)SelectObject(hMemDC,hFont);
CString WordString;
m_WordEditString.GetWindowText(WordString);
TextOut(hMemDC,0,0,WordString,2);

BitBlt(hSrc,0,0,                // destination (x,y)           

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

目前的軔體架構:
Setup-Out-In
1.你利用SetOutReport寫資料到裝置之後,Out-Token時裝置將資料讀取進來。接下來PC會送In-Token,然後以目前的軔體程式,裝置不管Out-Token時的資料有沒有處理完,當PC送In-Token,裝置會馬上回Hand-Shake。
2.此時若AP寫一個FOR廻圈連續寫入時(比如二次),然後裝置也會確定收到這兩筆,但是由於PC詢問裝置有沒有資料要傳送的速度太慢,所以當AP己經連送兩次時(HandShake已回),但裝置尚未回覆(因為PC尚未問你有沒有資料要送,你也沒法子送)。此時,你在AP一邊寫入,另一條執行緒讀取時,你有時會發現只收到一次資料。這端看你AP以及軔體要如何搭配使用,可以改軔體,或AP利用Delay機制。

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

1.使用MaskEdit會比較方便一些﹒。
雙擊MastEdit元件之EditMast屬性,開啟其編輯器,將Input Mask欄位設定值為:!9.99;1;_即可。
2.或使用FormatFloat("0.00",float);//小數點下兩位


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

要Compile程式之前,請先做以下動作:
1.您的電腦要先能在IE撥放Flash,安先安裝Macromedia公司的swflash.ocx元件
您可以在Win98的Windows\System\Macromed\Flash中或在Win2000中的Winnt\System32\ Macromed\Flash中找到這個檔,這是ActiveX元件。
 
2.URLDownloadToFileA
#include UrlMon.h
void fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString url = "http://www.hinet.net/images/hinetlogo.jpg";
URLDownloadToFile(NULL,url.cstr(),"c:/hinet_logo.jpg",0,NULL);
}
如果出現這種錯誤訊息

[Linker Error] Unresolved external ‘URLDownloadToFileA’ referenced from C:PROGRAM FILESBORLANDCBUILDER6PROJECTSUNIT1.OBJ

就要add project settings to link Urlmon.lib

Urlmon.lib 在Borland/CBuilder6/Lib/Psdk 下面

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

1.去下載SETUPAPI.DLL以及hid.dll。

2.使用BCB內建的implib.exe 將implib setupapi.dll setupapi.lib產生BCB的Lib文件(另一個Lib相同處理)。

3.將新的Lib加入Add to Project即可使用。

BCB真是好用但Weak!!


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

//示範UpDateData
 m_EditText="Member2Control";
 UpdateData(FALSE);
 //UpdateData(FALSE)是由MEMBER VAIRABLE TO CONTROL VALUE
 SetDlgItemText(IDC_EDIT1, "Control2Member");
 UpdateData(TRUE);
 //UpdateData(TRUE)是由CONTROL VALUE TO MEMBER VARIABLE

//HID Interface
HID Interface若同時有In/Out Report然後有In Endpoint/Out Endpoint,則此時應用程式AP會走In/Out Endpoint路徑(預設),但也可以強迫應用程式使用HIPP_SetOurReport等函式走Endpoint 0(Control Pipe 0)路徑。

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

If you have a Visual Studio C++, then run the next simple commands from command line:
CODEcl /MT /c msgapitest.cpp
link user32.lib RPCRT4.LIB msgapitest.obj
If you work GUI then do next steps:
- open msgapitest.cpp with Visual C++
- press compile button (CTRL+F7)
- press YES at question
- Build menu / Set Active Configuration... / select Win32 Release, OK
- Project menu / Settings... / "C/C++" tab
- Category: Code Generation
- Use run-time library: Multithreaded
- Choose "Link" tab
- Insert the "RPCRT4.LIB" into Object/library modules
That's all !
I hope it will be help you !
Bye !

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

BCB長度算錯的問題
 到Project->Option->Advanced Compiler->Data Alignment 選擇Byte
這是因為Compiler最佳化的緣故
因為我們的OS大部份都是32位元的
所以他會用四個Bytes(32bits)為一個單位
如果是一個Byte,為了快數存取,也會當作4Bytes
所以用sizeof時會算錯
因為我們的OS大部份都是32位元的
所以他會用四個Bytes(32bits)為一個單位
如果是一個Byte,為了快數存取,也會當作4Bytes
所以用sizeof時會算錯

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


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

20060714 VC的產測程式無法產生Release版本,所以只好使用靜態編譯。
參照
可在Alt+F7裏的Setting裏的General找到 MFC USE A STATIC DLL,如下圖。
就可以將Debug裏的exe做成可執行檔。
 
另外在VC要使用rmdir或cddir等函式,必須#include<direct.h>
參照

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

#pragma  pack(push,1)  
typedef struct _ImageHeader{
   short type;                 /* Magic identifier            */
   unsigned int size;                       /* File size in bytes          */
   unsigned short reserved1;
   unsigned short reserved2;
   unsigned int offset;                     /* Offset to image data, bytes */
}ImageHeader;
#pragma  pack(pop,1)       

//若沒有加#pragma  pack(pop,1)  以及 #pragma  pack(pop,1)  
//fout<<sizeof(ImageHeader)<<endl;//會出現16,實際算才14

CFile f;
f.Open("beagirl.bmp",CFile::modeRead|CFile::typeBinary);
ImageHeader imghder;
f.Read(&imghder,sizeof(imghder));
f.Close();

另一個方法是在VC選項中直接設定
Project=>project setting=>C/C++ Page
在Category選Code Generation在Struct member alignment選擇1Byte

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

How to build MFC DLL?
以下是參考來源,寫的簡單看得懂,讚
 
或這裏

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

既然使用了STLPort,我就在想如何使用該庫,解壓縮那個包,一打開,嘿,居然還有一個INSTALL文件,仔細研究一番,按照他的說明很不簡單的就裝好了。當然在網上有很多關於如何安裝STLPort的方法,用的最多應該是夢魘的那個方法,即《STL源碼剖析》一書的附錄。這有一個網址供大家參考

http://jjhou.csdn.net/myan-stlport.htm http://stweb.cgu.edu.tw/~m9221001/stelport/stlport.mht

當然移植STLPort的方法還有以下方法:

http://www.vchelp.net/cndevforum/subject_view.asp?

subject_id=59081&forum_id=55

Asd學長方式也不錯用

http://evotalk.net/blog/?p=6

 

別人安裝都可以...我目前還沒成功過orz...真不知遇到什麼鬼問題orz

上面內容大家都貼來貼去,都說自己是原創orz....下面是我參考的網址

http://confach.cnblogs.com/archive/2005/03/03/112100.html

後來我將環境變數裏的

include直接修改成

C:\stlport\stlport;C:\Program Files\Microsoft Visual Studio\VC98\atl\include;C:\Program Files\Microsoft Visual Studio\VC98\mfc\include;C:\Program Files\Microsoft Visual Studio\VC98\include

而lib修改成

C:\stlport\lib;C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib

然後打開Dos,進入C:\stlport\src

根據另一份文件,參考自以下網址

http://www.chinaitpower.com/A/2002-12-22/44717.html 或

http://stweb.cgu.edu.tw/~m9221001/stlport/stlportinstall.mht  或

Word格式 http://stweb.cgu.edu.tw/~m9221001/stlport/stlportinstall.doc

 

copy vc6.mak makefile

nmake -f vc6.mak prepare =>這行很重要!!後來加了才沒有再遇到錯誤

nmake install

 

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

fatal error LNK1120: 8 unresolved externals

Linking...
record.obj : error LNK2001: unresolved external symbol __imp__waveInClose@4
record.obj : error LNK2001: unresolved external symbol __imp__waveInUnprepareHeader@12
record.obj : error LNK2001: unresolved external symbol __imp__waveInStop@4
record.obj : error LNK2001: unresolved external symbol __imp__waveInStart@4
record.obj : error LNK2001: unresolved external symbol __imp__waveInAddBuffer@12
record.obj : error LNK2001: unresolved external symbol __imp__waveInPrepareHeader@12
record.obj : error LNK2001: unresolved external symbol __imp__waveInOpen@24
record.obj : error LNK2001: unresolved external symbol __imp__waveInGetNumDevs@0
Debug/record.exe : fatal error LNK1120: 8 unresolved externals

Error executing link.exe.
未連接Library

#pragma comment(lib, "winmm.lib") 
這是基本常識

資料來源:http://www.programfan.com/club/showbbs.asp?id=151040

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

Windows BMP Bitmap File Format
如下載網址

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



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

1 2