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

讀取檔案用ASCII顯示

尚未結案
NitRate2
一般會員


發表:19
回覆:13
積分:6
註冊:2004-08-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-08 10:57:13 IP:193.146.xxx.xxx 未訂閱
要怎麼把讀取的檔案內容用ASCII顯示在Memo裡面?
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-08 12:49:04 IP:61.63.xxx.xxx 未訂閱
引言: 要怎麼把讀取的檔案內容用ASCII顯示在Memo裡面? 像>< face="Verdana, Arial, Helvetica"> NitRate2你好: 直接吐給它可以嗎? < class="code"> void __fastcall TForm1::Button1Click(TObject *Sender) { if (SaveDialog1->Execute()) { TStringList *sl=new TStringList; sl->LoadFromFile(SaveDialog1->FileName); AnsiString s; for (int i=0;iCount;i ) { for (int j=1;j<=sl->Strings[i].Length();j ) s =IntToHex((byte)sl->Strings[i][j],2); Memo1->Lines->Add(s); s=""; } delete sl; } } 簡單寫這樣應該就可以了,但是這裡don't care換行符號哦! 發表人 -
NitRate2
一般會員


發表:19
回覆:13
積分:6
註冊:2004-08-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-08 14:20:08 IP:193.146.xxx.xxx 未訂閱
謝謝m8815010大大的回答,可是這個寫法的結果,跟UltraEdit看到的結果不同! 好像會少掉一些資料,再請各位大大幫幫忙!謝謝!
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-08 16:56:30 IP:203.73.xxx.xxx 未訂閱
引言: 謝謝m8815010大大的回答,可是這個寫法的結果,跟UltraEdit看到的結果不同! 好像會少掉一些資料,再請各位大大幫幫忙!謝謝! < face="Verdana, Arial, Helvetica">
NitRate2 你好:
(1)因為 TStringList 只適用於純文字檔案,如果你想要像 UltraEdit 一樣,
   適用於所有的檔案格式的話,建議利用 TMemoryStream 來達到目的
(2)請參考以下的範例程式碼
#>>>>>> szLine="">ProcessMessages();
         }
         Memo1->Lines->Add(szLine);
      }
      delete ms;
   }
(3)請再依照自己的需求,自行修改
(>    < src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
        
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
m8815010
版主


發表:99
回覆:372
積分:289
註冊:2003-11-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-08 22:40:02 IP:210.64.xxx.xxx 未訂閱
引言: 謝謝m8815010大大的回答,可是這個寫法的結果,跟UltraEdit看到的結果不同! 好像會少掉一些資料,再請各位大大幫幫忙!謝謝! < face="Verdana, Arial, Helvetica"> NitRate2你好< >: 嗯, >! 要全部的檔案裡的東東當然是把檔案整棵讀入,再整棵列出即可了< >: < class="code"> void __fastcall TForm1::Button1Click(TObject *Sender) { int iFileHandle; int iFileLength; int iBytesRead; unsigned char *pszBuffer; if (OpenDialog1->Execute()) { try { iFileHandle = FileOpen(OpenDialog1->FileName, fmOpenRead); iFileLength = FileSeek(iFileHandle,0,2); FileSeek(iFileHandle,0,0); pszBuffer = new char[iFileLength 1]; iBytesRead = FileRead(iFileHandle, pszBuffer, iFileLength); FileClose(iFileHandle); for (int i=0;iLines->Add(IntToHex(pszBuffer[i],2)); } delete [] pszBuffer; } catch(...) { Application->MessageBox("Can't perform one of the following file operations: Open, Seek, Read, Close.", "File Error", IDOK); } } }
系統時間:2024-05-06 16:48:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!