全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:944
推到 Plurk!
推到 Facebook!

如何使用C++製作轉換十六進位的Dll,新手上路

尚未結案
wsc
一般會員


發表:7
回覆:0
積分:1
註冊:2003-09-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-25 17:05:00 IP:211.72.xxx.xxx 未訂閱
如何使用C 製作轉換Dll 只要輸入要轉換檔案名稱路進 即可得到將檔案內容轉為十六進位值
mkbobo
一般會員


發表:4
回覆:68
積分:19
註冊:2003-04-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-03 17:51:06 IP:202.168.xxx.xxx 未訂閱
老實說你的語意我看的不是很懂 所以我就以我理解的來作答    我猜你的問題是利用c++ 做一個dll  然後它的功能是 將檔案內容每一個byte 轉換成 16進制 然後輸出 是嗎?? 我想做dll的方法 網路上很多了麻煩動一下滑鼠加鍵盤查一下 ^^    我提供你將檔案轉成 16進制的方法 利用兩個MEMO 加上一個轉換按鈕 你可以根據你的需求在將他修改成為你要的檔案    
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    TMemoryStream *pMS = new TMemoryStream;
    Memo1->Lines->SaveToStream(pMS);
    //pMS->LoadFromFile(檔名 ); << 如果你不是用 Memo 可將上一行換成這        AnsiString str,str1;
    for(DWORD idx= 0;idxSize ;  idx)
    {
        str  = str1.sprintf("x ",*((char*)(pMS->Memory)  idx) );
        if((idx) == 15)
        {
            Memo2->Lines->Add(str );
            str="";
        }
    }
    Memo2->Lines->Add(str );
    delete pMS;
}
希望對你有幫助
mkbobo
一般會員


發表:4
回覆:68
積分:19
註冊:2003-04-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-03 20:27:34 IP:202.168.xxx.xxx 未訂閱
引言:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    TMemoryStream *pMS = new TMemoryStream;
    TStringList *pSL = new TStringList;//加入的部分 
    Memo1->Lines->SaveToStream(pMS);
    //pMS->LoadFromFile(檔名 ); << 如果你不是用 Memo 可將上一行換成這        AnsiString str,str1;
    for(DWORD idx= 0;idxSize ;  idx)
    {
        str  = str1.sprintf("x ",*((char*)(pMS->Memory)  idx) );
        if((idx) == 15)
        {
            //Memo2->Lines->Add(str ); << 換掉
            pSL->Add(str); //加入這行增加速度
            str="";
        }
    }
    pSL->Add(str);//加入的部分
    Memo2->Lines->AddStrings(pSL);//加入的部分
    //Memo2->Lines->Add(str ); << 換掉   
    delete pMS;
}
再把這個程式修改一下 檔案過大時這樣會快一點
系統時間:2024-05-18 19:55:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!