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

對於UltraEdit的疑問

 
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-07-16 12:52:57 IP:163.15.xxx.xxx 未訂閱
1.最近常用UltraEdit來觀看一些內容。突然有一種想法,每次一打開某檔案時,它會將其所有的內容都秀出來,尤其是當檔案比較大時且有需用的部份並不多的時候,覺得有點浪費,不知如要寫這樣的小功能時,如何去控制可以隨自己的需求從第幾個位元讀到第幾個位元,不知大家有什麼看法?一同討論看看。 2.對右半部的顯示若沒錯的話是對應到左邊的ASCII碼,不知DELPHI中有什麼函數可以轉ASCII碼成對應的字元,若遇到中文時也能正常對應嗎? 我對DELPHI的接觸時間並不長,學這工具也是一個蠻巧合的緣由,但不知為何使用起來蠻上手的,對於一個從來都沒碰過實際寫程式的我來說,這算是一個親和力高的軟体。而在自我學習的方向上,我都把它定位在看別人的功能來反觀如何去達成,所以才又會有上述的問題,希望在這方面有長才及先進們能多給我們指點指點和方向,在共同學習中的成長,我想是最踏實的,謝謝。
------
我也在努力學習中,若有錯謬請見諒。
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-07-16 13:54:46 IP:210.58.xxx.xxx 未訂閱
Hello~~Friend 小弟自己試了一下 1.就小弟所以可用Read或BlockRead這兩個函數去讀檔中的文字,   皆須配合迴圈. 2.將讀進來的文字以IntToHex(Ord(InWord[i]), 2)的方式轉成十六進位碼後   再顯示出來.    以下是我試的Code 請不吝指教

procedure TForm1.Button1Click(Sender: TObject);
var F1 : File;
    x, y : integer;
    Buf : array[1..1024] of char;
    ReadNum : integer;
begin
   RichEdit1.Lines.Clear;
   RichEdit2.Lines.Clear;
   RichEdit3.Lines.Clear;
   AssignFile(F1, Edit1.Text);
   x := 0;
   y := 0;
   try
     Reset(F1, 1);
     Repeat
        BlockRead(F1, Buf, SizeOf(Buf), ReadNum);
        WriteToGrid(x, y, Buf, ReadNum);
     Until (ReadNum = 0) or (ReadNum < 1024);
     WriteToGrid(x, y, Buf, ReadNum);       finally
     CloseFile(F1);
   end;
end;    procedure TForm1.WriteToGrid(var x, y: integer; InWord: array of char; AllLength : integer);
var i, j : integer;
    Str, str2 : String;
begin
     Str  := '';
     Str2 := '';
     //FillChar(Str, 1024, ' ');
     j := 1;
     for i := 1 to Alllength do begin
         if ((Ord(InWord[i]) >= $41) and (Ord(InWord[i]) <= $60)) or
            ((Ord(InWord[i]) >= $61) and (Ord(InWord[i]) <= $80)) then
            Str := Str   InWord[i]
         else
            Str := Str   '.';
         Str2 := Str2 IntToHex(Ord(InWord[i]), 2) ' ';
         inc(j);
         if (j mod 16) = 0 then begin
            Str  := Str    #13#10;
            Str2 := Str2   #13#10;
         end;
     end;
     RichEdit2.Lines.Text := RichEdit2.Lines.Text   Str2;
     RichEdit3.Lines.Text := RichEdit3.Lines.Text   Str;
end;
 
------


我不是高手, 高手是正在銀幕前微笑的人.
系統時間:2024-04-26 7:58:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!