 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Ruey
註冊時間: 2003-03-12 文章: 1698 來自: tunglo
第 1 樓
|
發表於: 星期六 一月 24, 2004 1:56 am 文章主題: 快速獲取網址一法(轉貼) |
|
|
快速獲取網址一法 王建疆
看到有價值的鏈結,我們總想將其網址保存起來,以便將來訪問。用手工的方法提取網頁中的網址是一件單調乏味的事,需要反復複製、粘貼。
筆者利用VFP的低級檔函數編了一個小程式,可以快速提取HTML檔中的所有網址。根源程式如下:
*html2url.prg
SET COMPATIBLE ON && 針對FSIZE():ON返回文件大小 OFF返回欄位大小
SourceFileName=′c:\tszz\shtml.htm′
&&原始檔案名
TargetFileName=′c:\tszz\turl.htm′
&&目標檔案名
IF FILE(SourceFileName) && 文件存在嗎?
nUrlFile=FSIZE(SourceFileName)
&& 返回文件大小,最大64KB
UrlFile = FOPEN(SourceFileName,12)
ContentUrlFile=FREAD(UrlFile,nUrlFile)
&& 返回檔內容
ELSE
WAIT ′原始檔案不存在′ WINDOW NOWAIT
ENDIF
NewUrlFile = FCREATE(TargetFileName)
str1=ContentUrlFile && 原始檔案內容串
str2=′′ && 目標檔內容串
centi=INT(NUrlFile/100)
i=1
FOR i=1 TO nUrlFile &&在原始檔案中由檔頭至檔尾進行搜索
IF INT(i/centi)=i/centi THEN
WAIT ′請稍候!正在轉換...,已完成′+ALLTRIM(STR(ROUND(i/nUrlFile*100,0)))+′%′ WINDOW NOWAIT
ENDIF
IF SUBSTR(str1,i,2)=′〈A′ OR SUBSTR(str1,i,2)=′〈a′ THEN
j=i+1
DO WHILE SUBSTR (str1,j,4)〈〉′〈/A〉′ AND SUBSTR (str1,j,4)〈〉′〈/a〉′
j=j+1
ENDDO
str2=str2+SUBSTR(str1,i,j-i+4)+′〈br〉′+CHR(13)+CHR(10)
ENDIF
NEXT
IF UrlFile 〈 0 && 檢查打開檔錯誤
WAIT ′不能打開檔′ WINDOW NOWAIT
ELSE &&如果沒有錯誤,關閉檔
=FCLOSE(UrlFile) && 關閉文件
ENDIF
IF NewUrlFile 〈 0 THEN
WAIT ′不能打開或創建輸出檔′WINDOW NOWAIT
ELSE
=FWRITE(NewUrlFile,str2)
&&寫目標檔
=FCLOSE(NewUrlFile)
ENDIF
RETURN _________________ #############################
快樂媽咪系列幸福宅配,喝十全雞湯~原來幸福那麼簡單!!
學會VFP使用者社區的搜尋,Code才會更有趣~
############################# |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|