delphi做乙個本地網頁的搜尋引擎。
思路:1、建立本地網頁的索引;2、在索引裡面搜尋關鍵字;3輸出查詢的結果。
第一步、檢索因。
procedure twebthread.getfilelist(astrings: tstrings; asourfile,//查詢本地網頁
filename: string);
var sour_path,sour_file: string;
filerec, subfilerec:tsearchrec;
i,n: integer;
web:string;
begin
tryn := 0;
if rightstr(trim(asourfile), 1) <> '/' then
sour_path :=trim(asourfile) + '/'
else
sour_path :=trim(asourfile);
sour_file:= filename;
if not directoryexists(sour_path) then
begin
astrings.clear;
exit;
end;
if findfirst(sour_path+'*.*',faanyfile,filerec) = 0 then
repeat
if ((filerec.attr and fadirectory) <> 0) then
begin
if ((filerec.name<> '.') and (filerec.name <> '..')) then
getfilelist(astrings, sour_path+ filerec.name + '/', sour_file);
endelse
if findfirst(sour_path + filename,faanyfile,subfilerec) = 0 then
repeat
if ((subfilerec.attr and fadirectory) = 0)and(pos(sour_path+subfilerec.name,tmplist.text)=0) then
begin
path:=sour_path+subfilerec.name;
gettitle(path);
postdata(path, gettitle(path),' *');
end;
until findnext(subfilerec)<>0;
until findnext(filerec)<>0;
sysutils.findclose(filerec);
except
end;
end;
function twebthread.gettitle(ml: string): string;
vari,j ,n,p:integer;
s,m,s1 :widestring;
begin
fupdate.memo2.lines.clear;
fupdate.memo2.lines.loadfromfile(ml);
s :=memo2.text;
s1 := '';
//**********===查詢網頁標題******************************=
i:=pos('',s);
if i =0 then
i := pos('',s);
s:=copy(s,i+7,length(s)-i-7);//
j:=pos('',s);
if j =0 then
j:=pos('',s);
m:=copy(s,1,j-1);//
result := m;
//**********===查詢網頁內容******************************=
n := pos('id=zoom>',s)+8;
if n-8 >0 then
s1 := rightstr(s,length(s)-n);
if s1 <>'' then
p := pos('',s1);
content := trim(uppercase(leftstr(s1,p)));
if length(content)>300 then
content := leftstr(content,300);
//**********===過濾關鍵字******************************=
content := ansireplacestr(content,'
content := ansireplacestr(content,'/','');
content := ansireplacestr(content,'>','');
content := ansireplacestr(content,'br','');
content := ansireplacestr(content,'p','');
content := ansireplacestr(content,'td','');
content := ansireplacestr(content,'tr','');
content := ansireplacestr(content,'nbs;','');
content := ansireplacestr(content,'nbsp;','');
content := ansireplacestr(content,'&','');
if trim(content)='' then
content := '*';
end;
procedure twebthread.postdata(temp, temp1, te***: string);//索引儲存資料庫
begin
trytemp := uppercase(temp);
if (temp<>'') then
if (temp1<>'')then
begin
temp := rightstr(temp,length(temp)-pos('knowledgeb',temp));
with fupdate.adoqpub do
begin
close;
sql.clear;
sql.add('insert into web(path,title,content) values(:a1,:a2,:a3)');
parameters.parambyname('a1').value := temp;
parameters.parambyname('a2').value := temp1;
parameters.parambyname('a3').value := content;
execsql;
end;
end;
except
end;
end;
第二步、查詢多個關鍵字(多個關鍵字要空格隔開)
procedure tmainform.speedbutton1click(sender: tobject);
varkey,path,title,content:string;
sqltext:string;
total,pagesize,pagecount:integer;
n,m:integer;
begin
total:=0;
pagesize:=5;
n := 0;
m:= 0;
webhtml := '';
if trim(edit2.text)='' then
begin
messagebox(handle,'關鍵字不能為空!','系統提示',mb_iconinformation+mb_ok);
edit2.setfocus;
exit;
end;
//********************===查詢多個關鍵字********************====
if pos(' ',trim(edit2.text))<=0 then
sqltext := 'select * from web where title like'+quotedstr('%'+trim(edit2.text)+'%')
else
begin
key := edit2.text;
sqltext := 'select * from web where title like '+quotedstr('%'+leftstr(trim(key),pos(' ',trim(key))-1)+'%');
key := rightstr(trim(key),length(trim(key))-pos(' ',trim(key)));
while pos(' ',trim(key))>0 do
begin
sqltext := sqltext+' and title like '+quotedstr('%'+leftstr(trim(key),pos(' ',trim(key))-1)+'%');
key := rightstr(trim(key),length(trim(key))-pos(' ',trim(key)));
next;
end;
sqltext := sqltext + ' and title like '+quotedstr('%'+trim(key)+'%');
end;
做乙個返回陣列的函式 DELPHI
1.type tarray array of string procedure trimchar s string var sret tarray function countchar s string c char integer vari integer begin result 0 for i...
要求做乙個從網頁上匯入excel
網上文章,僅作學習之用,向作者表示感謝 要求做乙個從網頁上匯入excel,開始著手去實現它。思路很簡單 1 做乙個jsp頁面,頁面包括瀏覽檔案,提交檔案 2 將excel檔案上傳到伺服器 3 伺服器對該excel檔案進行讀出 4 將excel檔案內容顯示到頁面上 環境搭建 需要準備的包 common...
做乙個明媚的女子
以前的我都是我行我素的,長大了,不僅要自己欣賞自己,更需要別人欣賞自己!1.愛笑的女孩子,運氣不會太差 2.看穿但不說穿。很多事情,只要自己心裡有數就好了,沒必要說出來。3.高興,就笑,讓大家都知道。悲傷,就假裝什麼也沒發生 4.在不違背原則的情況下 對別人要寬容 能幫就幫 千萬不要把人逼絕了 給人...