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

從第二行讀起

尚未結案
ksing
一般會員


發表:12
回覆:16
積分:5
註冊:2005-06-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-08 16:32:59 IP:59.120.xxx.xxx 未訂閱
有一堆固定格式字串的檔案 但第一行為檔頭 不讀取 要從第二行開始讀起 讀進檔案欄位中 有什麼方法呢 以下是我的做法 有什麼錯呢 請指教 AssignFile(F,datafile); Reset(F); row := 1; try while not EOF(F) do begin Readln(F,str); for i := 1 to 4 do ans[i] := ''; for i := 1 to length(str) do //count := count 1 ; StringGrid1.Cells[0,row] := copy(str,3,6); StringGrid1.Cells[1,row] := copy(str,25,6); StringGrid1.Cells[2,row] := copy(str,16,4); StringGrid1.Cells[3,row] := copy(str,47,9); Inc(row); StringGrid1.RowCount := row;
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-08 16:57:59 IP:60.248.xxx.xxx 未訂閱
AssignFile(F, datafile);
Reset(F);
ReadLn(F, str); // 雖然第一行是檔頭
                // 不過,不讀第一行是沒辦法讀接下來的
row := 1;
while not EOF(F) do begin
  // 每列都是一筆資料,當然得在 While 裡每次讀一行進來
  Readln(F, str);      StringGrid1.Cells[0,row] := Copy(str, 3, 6);
  StringGrid1.Cells[1,row] := Copy(str,25, 6);
  StringGrid1.Cells[2,row] := Copy(str,16, 4);
  StringGrid1.Cells[3,row] := Copy(str,47, 9);      Inc(row);
  StringGrid1.RowCount := row;
end;
jeff377
初階會員


發表:9
回覆:60
積分:33
註冊:2004-08-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-09 11:13:09 IP:211.75.xxx.xxx 未訂閱
var
  stFile: TStrings;
  sLine: String;
  N1: Integer;
begin
  stFile:= TStringList.Create;
  try
    stFile.LoadFromFile('C:\Data.txt'); //載入檔案        //N=0為第一行,要由第二行開始處理,所以N=1為啟始
    for N1=1 to stFile.Count-1 do
    begin
      sLine:= stFile.Strings[N1];  //每次處理一行          //處理資料的程序
    end;
  finally
    FreeAndNil(stFile);
  end;
end; 
系統時間:2024-05-20 1:03:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!