怎樣讀取已經按格式保存的文本文件内容到數個Edit框中 |
答題得分者是:Vicen
|
ralph921
一般會員 ![]() ![]() 發表:17 回覆:31 積分:14 註冊:2005-08-22 發送簡訊給我 |
小弟設計了一個文本錄入窗體,含五個Edit框。 其中每個Edit框要使用五次(生成五條記錄,五條記錄為一個完整的錄入文件),順序為Edit1->Edit2->Edit3->Edit4->Edit5->Edit1->Edit2......->Edit5(第五次),此時保存文件,規定保存格式為 頭字段(已規定好)'Tab'Edit1.text'Tab'Edit2.text'Tab'...'Tab'Edit5.text'Tab'尾字段(已自動生成)
換行
頭字段(與第一條記錄相同)'Tab'Edit1.text'Tab'Edit2.text'Tab'...'Tab'Edit5.text'Tab'尾字段(與第一條記錄的不同)
...... ......
(第五條)頭字段'Tab'Edit1.text'Tab'Edit2.text'Tab'...'Tab'Edit5.text'Tab'尾字段 其中'Tab'為一個Tab的長度。 程式要求按下Page Up時自動返回上一條記錄,每個Edit框也要顯示上一條記錄中的内容(只有五個Edit框,因此不能顯示頭字段和尾字段)。 請問各位大大,如何正常讀取? 發表人 - ralph921 於 2005/09/21 18:57:28
|
Vicen
高階會員 ![]() ![]() ![]() ![]() 發表:13 回覆:145 積分:151 註冊:2005-03-14 發送簡訊給我 |
这种要求使用TSTRINGLIST反而更方便,不需要使用文件读写方式。
procedure TForm1.ButReadClick(Sender: TObject); Var slOpenFile : TStringList; sTemp : String; begin slOpenFile := TStringList; try //读取文件 slOpenFile.LoadFromFile('你的存储文件位置'); //这时你可以通过以下方式读取行 //行号是从 0 开始的 到 slOpenFile.Count-1 结束的 //用一个变量保存行号,很容易进行上一条下一条的操作 sTemp := slOpenFile.Strings[行号]; //这个时候可以通过POS TAB进行切割 头字段 := LeftBStr(sTemp, Pos('你定义的分割符号,比如TAB', sTemp)-1); sTemp := RightBStr(sTemp, Length(sTemp)-Pos('你定义的分割符号,比如TAB', sTemp)); EDIT1.TEXT := LeftBStr(sTemp, Pos('你定义的分割符号,比如TAB', sTemp)-1); sTemp := RightBStr(sTemp, Length(sTemp)-Pos('你定义的分割符号,比如TAB', sTemp)); EDIT2.TEXT := LeftBStr(sTemp, Pos('你定义的分割符号,比如TAB', sTemp)-1); sTemp := RightBStr(sTemp, Length(sTemp)-Pos('你定义的分割符号,比如TAB', sTemp)); EDIT3.TEXT := LeftBStr(sTemp, Pos('你定义的分割符号,比如TAB', sTemp)-1); sTemp := RightBStr(sTemp, Length(sTemp)-Pos('你定义的分割符号,比如TAB', sTemp)); EDIT4.TEXT := LeftBStr(sTemp, Pos('你定义的分割符号,比如TAB', sTemp)-1); sTemp := RightBStr(sTemp, Length(sTemp)-Pos('你定义的分割符号,比如TAB', sTemp)); EDIT5.TEXT := LeftBStr(sTemp, Pos('你定义的分割符号,比如TAB', sTemp)-1); sTemp := RightBStr(sTemp, Length(sTemp)-Pos('你定义的分割符号,比如TAB', sTemp)); 尾字段 := sTemp; //但看不明白你说的显示头字段和尾字段的问题,要显示就多放2个TEDIT就是。 finally slOpenFile.Free; end; end; |
ralph921
一般會員 ![]() ![]() 發表:17 回覆:31 積分:14 註冊:2005-08-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |