線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:668
推到 Plurk!
推到 Facebook!

請教 高手一個讀檔 的問題 謝謝

尚未結案
shangju
一般會員


發表:30
回覆:14
積分:8
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-15 16:45:59 IP:220.134.xxx.xxx 未訂閱
var s1 :string; i2,i3:integer; 有一text file aaa 1 2 我想用 read (file1,s1,i2,i3); 讀入 但都不行 請教要如何寫呢 謝謝了
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-15 18:49:23 IP:211.76.xxx.xxx 未訂閱
shangju 您好:    Pascal 讀入字串時,會依其宣告的長度讀完同一列中的那麼多字元,除非遇到換行或檔案結束。 所以,如果您的資料前面是字串而後是數值的話,有可能會被字串多讀了,使得後面的數值就讀不到資料了。 底下程式碼,請參考修改,也可以看一下Delphi關於Read(.)的線上說明。     
procedure TForm1.Button1Click(Sender: TObject);
var
   file1 : TEXTFILE;
   s1    : string[4]; // 注意其長度
   i2,i3 : integer;
begin
  AssignFile(file1, 'c:/data.txt'); { File selected in dialog }
  Reset(file1);
  Readln(file1, s1, i2, i3);      ShowMessage(s1);           // showing data
  ShowMessage(IntToStr(i3));      CloseFile(file1);
end;    {===== data.txt:
aaaa 1 2
}
RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
shangju
一般會員


發表:30
回覆:14
積分:8
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-16 09:09:35 IP:61.220.xxx.xxx 未訂閱
謝謝 richtop 前輩 的回答 但 我第一個字串的長度 並不固定 請問有解嗎 謝謝
richtop
資深會員


發表:122
回覆:646
積分:468
註冊:2003-06-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-16 10:02:12 IP:211.76.xxx.xxx 未訂閱
shangju 您好: 1.如果資料檔格式可以變更的話,可將字串與數值分存兩行,例如: aaaa 1 2 2.假使資料檔格式是固定的,那可以將整列資料先讀入,再去拆解被空格分開的資料,接著放進適當的變數裡。站上有許多這樣的討論可以參考。 RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====#####
系統時間:2024-06-16 15:19:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!