读取文件 |
答題得分者是:Zard
|
小丫123
初階會員 發表:85 回覆:62 積分:29 註冊:2004-08-31 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject); var slNum, slTemp: TStringList; w: array of array of Integer; i, j, k, l: Integer; szTmp: String; begin slNum := TStringList.Create; slTemp := TStringList.Create; try slNum.LoadFromFile('c:\\append.txt'); if slNum.Count = 0 then Exit; // 取得矩陣的維度 i := slNum.Count; // Row 個數 // 用TStringList來取得Column數 szTmp := slNum.Strings[0]; szTmp := StringReplace(szTmp, ' ', #13, [rfReplaceAll]); slTemp.Text := szTmp; j := slTemp.Count; // Column 個數 // 設定矩陣大小 SetLength(w, i, j); // 填入順序 w[0][0], w[0][1], w[0][2], w[0][3], w[1][0], // w[1][1], w[1][2]........ for k := 0 to i - 1 do begin szTmp := slNum.Strings[k]; szTmp := StringReplace(szTmp, ' ', #13, [rfReplaceAll]); slTemp.Clear; slTemp.Text := szTmp; for l := 0 to j - 1 do begin w[k][l] := StrToInt(slTemp.Strings[l]); // 秀出結果 Memo1.Lines.Add(Format('w[%d][%d]=%d', [k, l, w[k][l]])); end; end; finally slNum.Free; slTemp.Free; end; end; |
小丫123
初階會員 發表:85 回覆:62 積分:29 註冊:2004-08-31 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
新增的部份我用紅色表示
procedure TForm1.Button1Click(Sender: TObject); var slNum, slTemp: TStringList; w: array of array of Integer; i, j, k, l, m: Integer; szTmp: String; begin slNum := TStringList.Create; slTemp := TStringList.Create; try slNum.LoadFromFile('c:\\append.txt'); if slNum.Count = 0 then Exit; // 取得矩陣的維度 i := slNum.Count; // Row 個數 // 用TStringList來取得Column數 szTmp := slNum.Strings[0]; szTmp := StringReplace(szTmp, ' ', #13, [rfReplaceAll]); slTemp.Text := szTmp; // 濾掉多餘的空格 for m := slTemp.Count - 1 downto 0 do begin if slTemp.Strings[m] = '' then slTemp.Delete(m); end; j := slTemp.Count; // Column 個數 // 設定矩陣大小 SetLength(w, i, j); // 填入順序 w[0][0], w[0][1], w[0][2], w[0][3], w[1][0], // w[1][1], w[1][2]........ for k := 0 to i - 1 do begin szTmp := slNum.Strings[k]; szTmp := StringReplace(szTmp, ' ', #13, [rfReplaceAll]); slTemp.Clear; slTemp.Text := szTmp; // 濾掉多餘的空格 for m := slTemp.Count - 1 downto 0 do begin if slTemp.Strings[m] = '' then slTemp.Delete(m); end; for l := 0 to j - 1 do begin w[k][l] := StrToInt(slTemp.Strings[l]); // 秀出結果 Memo1.Lines.Add(Format('w[%d][%d]=%d', [k, l, w[k][l]])); end; end; finally slNum.Free; slTemp.Free; end; end; |
小丫123
初階會員 發表:85 回覆:62 積分:29 註冊:2004-08-31 發送簡訊給我 |
|
小丫123
初階會員 發表:85 回覆:62 積分:29 註冊:2004-08-31 發送簡訊給我 |
|
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
|
小丫123
初階會員 發表:85 回覆:62 積分:29 註冊:2004-08-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |