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

請教有一個問題FILEREAD的問題..

答題得分者是:Justmade
jenpeter
一般會員


發表:39
回覆:37
積分:15
註冊:2002-08-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-14 21:21:10 IP:61.221.xxx.xxx 未訂閱
procedure TForm1.Button1Click(Sender: TObject); var iFileHandle: Integer; iFileLength: Integer; iBytesRead: Integer; Buffer: PChar; i: Integer begin if OpenDialog1.Execute then begin try iFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead); iFileLength := FileSeek(iFileHandle,0,2); FileSeek(iFileHandle,0,0); Buffer := PChar(AllocMem(iFileLength 1)); iBytesRead := FileRead(iFileHandle, Buffer, iFileLength); FileClose(iFileHandle); for i := 0 to iBytesRead-1 do begin StringGrid1.RowCount := StringGrid1.RowCount 1; StringGrid1.Cells[1,i 1] := Buffer[i]; StringGrid1.Cells[2,i 1] := IntToStr(Integer(Buffer[i])); end; finally FreeMem(Buffer); end; end; end; 上面這程式是delphi FileRead help 的範例...可是不能下正常執行... 是那邊出錯了呢.
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-14 21:54:29 IP:218.16.xxx.xxx 未訂閱
應是這樣罷 :
procedure TForm1.Button1Click(Sender: TObject);
var
iFileHandle: Integer;
iFileLength: Integer;
iBytesRead: Integer;
Buffer: PChar;
i: Integer;
begin
if OpenDialog1.Execute then
  begin
    try
      iFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);
      iFileLength := FileSeek(iFileHandle,0,2);
      FileSeek(iFileHandle,0,0);
      Buffer := PChar(AllocMem(iFileLength   1));
      iBytesRead := FileRead(iFileHandle, Buffer^, iFileLength);
      FileClose(iFileHandle);          for i := 0 to iBytesRead-1 do
      begin
        StringGrid1.RowCount := StringGrid1.RowCount   1;
        StringGrid1.Cells[1,i 1] := Buffer[i];
        StringGrid1.Cells[2,i 1] := IntToStr(Integer(Buffer[i]));
      end;
    finally
      FreeMem(Buffer);
    end;
  end;
end;
紅色 ; 是 help file 缺了 紅色 ^ 是在 help file 有的 因為你需要將 Buffer 的 Pointer 傳及 FileRead 而非 Buffer 的值,所以要加 ^
系統時間:2024-04-29 0:01:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!