如何一個個讀出文字檔的內容?????? |
|
wangth
一般會員 發表:2 回覆:2 積分:0 註冊:2002-05-30 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
wangth
一般會員 發表:2 回覆:2 積分:0 註冊:2002-05-30 發送簡訊給我 |
引言:var f: TextFile; s: string; Ch: Char; begin AssignFile(f, 'C:\xxx.txt'); Reset(F1); while not Eof(f) do begin ReadLn(f, s); if Pos(' ', s) then // s 字串內有一個空白 ; if Pos(' ', s) then // s 字串內有兩個空白 Break; end; CloseFile(f); end;pos(' ',s)並不是boolean,能用在if 嗎... 若是想把內容一個個單字取出,並且 用comm1傳出,能這樣做嗎???該怎做? |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
wangth
一般會員 發表:2 回覆:2 積分:0 註冊:2002-05-30 發送簡訊給我 |
引言:引言: pos(' ',s)並不是boolean,能用在if 嗎... 若是想把內容一個個單字取出,並且 用comm1傳出,能這樣做嗎???該怎做?1.Sorry! 應該是if Pos(' ', s) <> 0 then ;2.若想把 s 字串一個字元一個字元傳出, 如:for i := 1 to Length(s) do Comm1.SendString(s[i]);不好意思哦,再問個問題,如果我用的是 Comm1.WriteCommData來傳出呢,該怎用啊?? |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
天外來客
初階會員 發表:22 回覆:199 積分:44 註冊:2001-11-27 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
天外來客
初階會員 發表:22 回覆:199 積分:44 註冊:2001-11-27 發送簡訊給我 |
引言: 不知對不對, 您試一下!var i: Integer; begin for i := 1 to Length(s) do Comm1.WriteCommData(@s[i], 1); end;我將程式寫給您看看 var f: TextFile; s: string; i:integer; begin AssignFile(f, 'd:\temp\ttt.txt'); Reset(f); while not Eof(f) do begin Readln(f, s); if Pos(' ', s)<>0 then Break; end; for i := 1 to Length(s) do Comm1.WriteCommData(@s[i], 1); end; 結果只得到檔案內最後一行的值'k3k',請問 一下,所得的值是不是一次就捉出來的啊?? 能不能一次只傳一個位元.謝謝... |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
1.因為每次 ReadLn(f, s) 後, s 的值都是最新的值
所以才會有 s 都是最後一行 'k3k' 的情形
2.上面這樣不是一次只傳一個位元嗎?
不然延長時間看看, 更改如下:
var f: TextFile; s, sContent: string; i: integer; begin AssignFile(f, 'd:\temp\ttt.txt'); Reset(f); sContent := '' while not Eof(f) do begin Readln(f, s); sContent := sContent s; if Pos(' ', s) <> 0 then Break; end; for i := 1 to Length(sContent) do begin Comm1.WriteCommData(@sContent[i], 1); Application.ProcessMessages; Sleep(1000); end; end; |
天外來客
初階會員 發表:22 回覆:199 積分:44 註冊:2001-11-27 發送簡訊給我 |
引言: 1.因為每次 ReadLn(f, s) 後, s 的值都是最新的值 所以才會有 s 都是最後一行 'k3k' 的情形 2.上面這樣不是一次只傳一個位元嗎? 不然延長時間看看, 更改如下:var f: TextFile; s, sContent: string; i: integer; begin AssignFile(f, 'd:\temp\ttt.txt'); Reset(f); sContent := '' while not Eof(f) do begin Readln(f, s); sContent := sContent s; if Pos(' ', s) <> 0 then Break; end; for i := 1 to Length(sContent) do begin Comm1.WriteCommData(@sContent[i], 1); Application.ProcessMessages; Sleep(1000); end; end;哇~~~~真是太感激您了..... 謝謝...... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |