跳出回圈後,如何在跳出點繼續運行? |
答題得分者是:sryang
|
ralph921
一般會員 發表:17 回覆:31 積分:14 註冊:2005-08-22 發送簡訊給我 |
小弟寫了一個比較文本文件内容的程式,其中最重要的部分就是一個用來判斷的while回圈。 原理是這樣的:先分別讀取兩個文本文件到TStringlist,然後按標識拆分爲單獨的字段,以字段為單位進行比較。
如果遇到不同的字段,則繼續拆分,按單字節為單位進行比較,遇到不同的字節則跳出回圈,並執行其他的動作; 現在小弟遇到的問題是,執行了其他動作之後,再調用該回圈,怎樣能讓回圈從上次跳出的字節開始繼續比較?? 望各位大大解惑! 發表人 - Ralph921 於 2005/10/11 11:38:58
|
sos_admin
版主 發表:121 回覆:697 積分:768 註冊:2003-07-23 發送簡訊給我 |
你描述的不太清楚,至于循环跳出就下面几种方式,灵活运用即可实现你需要的功能!
procedure TForm1.Button3Click(Sender: TObject); var a, b, c, i: Integer; label this; begin i := 0; this: Inc(i); for a := 1 to 10 do begin for b := 11 to 20 do begin if b = 12 then continue; //跳过b=12这次循环 for c := 21 to 30 do begin if c >= 25 then Break; //结束本次循环 Memo1.Lines.Add(IntToStr(a) '-' IntToStr(b) '-' IntToStr(c)); end; end; if i = 1 then goto this; //跳转 if a >= 3 then exit; //退出函数过程 end; ShowMessage('Game Over!'); end;风花雪月 e梦情缘 网络代号:wnhoo or sos_admin 网名:e梦缘 Mail:wnhoo@163.com |
ralph921
一般會員 發表:17 回覆:31 積分:14 註冊:2005-08-22 發送簡訊給我 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
ralph921
一般會員 發表:17 回覆:31 積分:14 註冊:2005-08-22 發送簡訊給我 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
ralph921
一般會員 發表:17 回覆:31 積分:14 註冊:2005-08-22 發送簡訊給我 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
用幾個迴圈就要看結束條件而定了
以你的例子來說,如果這兩個 TStringList 其中有一個沒有資料了,比較就結束的話,用一個迴圈配合兩個變數,像這樣
index1 := 0; index2 := 0; while (index1 < StringList1.Count) and (index2 < StringList2.Count) do begin ..... end;加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |