usearch.~pas
来自「用于中文分词的算法。包括逆向分词和反向分词」· ~PAS 代码 · 共 60 行
~PAS
60 行
unit USearch;
{
//////////////////////////////////////////
搜索类
//////////////////////////////////////////
}
interface
uses Classes,UDic,UDocuments,UParser,Windows,SyncObjs;
Type
TSearcher = Class
private
FDic : TAbstractDic;
FDocs : TAbstractDocs;
FCritical : TCriticalSection;
FParser : TParser;
public
procedure StartSearch();
public
Constructor Create(dic:TAbstractDic;docs:TAbstractDocs;Parser : TParser);
Destructor Destroy();override;
end;
implementation
{ TSearcher }
constructor TSearcher.Create(dic: TAbstractDic; docs: TAbstractDocs;Parser:TParser);
begin
FDic := dic;
FDocs := docs;
FParser := Parser;
FCritical := TCriticalSection.Create ;
end;
destructor TSearcher.Destroy;
begin
FCritical.Release ;
FCritical.Free;
inherited;
end;
procedure TSearcher.StartSearch;
var
ID : integer;
Text : String;
begin
while FDocs.EndDoc() do
begin
FCritical.Enter;
FDocs.NextDoc();
ID := FDocs.GetID();
Text := FDocs.GetText();
FCritical.Leave ;
FParser.Parser(ID,Text);
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?