Memo 的搜尋效能 |
答題得分者是:Justmade
|
stonys
初階會員 發表:64 回覆:111 積分:38 註冊:2002-09-28 發送簡訊給我 |
|
Justmade
版主 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
|
stonys
初階會員 發表:64 回覆:111 積分:38 註冊:2002-09-28 發送簡訊給我 |
|
stonys
初階會員 發表:64 回覆:111 積分:38 註冊:2002-09-28 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
這一段,是我某程式碼裡的片段
也是搜尋,但是是利用RichEdit 的搜尋功能,你不妨參考
function GetWordCode(aWord:string;iType:CodeType ):string; var ipos: integer; //selStart 位置 col: integer; //取得文字所在行數 row: integer; //取得文字所在列數 itmp:integer; //記錄是否已搜尋完畢 begin //初始化 ipos:=-1; itmp:=0; RichEdit1[iType].SelStart :=0; while ipos <> itmp do //若二值不相等,則代表尚未搜尋完畢 begin itmp:=ipos; //開始搜尋 ipos := RichEdit1[iType].FindText(aWord, RichEdit1[iType].SelStart + RichEdit1[iType].SelLength, length(RichEdit1[iType].Text), [stMatchCase]); if ipos <> -1 then //若已搜尋到,則ipos <> -1 begin RichEdit1[iType].SelStart := ipos; RichEdit1[iType].SelLength := length(aWord); //取得搜尋到的文字所在行數 col := RichEdit1[iType].SelStart - RichEdit1[iType].Perform(EM_LINEINDEX, -1, 0) + 1; //取得搜尋到的文字所在列數 row := RichEdit1[iType].Perform(EM_LINEFROMCHAR, -1, 0) + 1; // ListBox1.Items.Add('第 ' +inttostr(row) + ' 列 : 第 ' + inttostr(col) + // ' 行,注音為: ' +RichEdit1.Lines.Names[row - 1]); result:=result + RichEdit1[iType].Lines.Names[row - 1] + chr(13); end; end; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |