  | 
				VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.   
				 | 
			 
		 
		 
	
		| 上一篇主題 :: 下一篇主題   | 
	 
	
	
		| 發表人 | 
		內容 | 
	 
	
		pnyjq
 
 
  註冊時間: 2005-04-19 文章: 7 來自: 中国广东省
  第 1 樓
  | 
		
			
				 發表於: 星期三 四月 27, 2005 10:40 pm    文章主題: cursor to html(只能用于vfp9.0) | 
				     | 
			 
			
				
  | 
			 
			
				*************************************************************
 
* 模块名称:tohtml.prg
 
* 模块功能:生成html表格
 
* 使用环境:VFP9.0 ,由于使用了cast()函数,故不能用于8.0以下版本
 
* 调用方法:1、保存到一个网页文件
 
*              strtofile(tohtml(),"d:\vfp.htm")
 
*
 
*           2、在com中调用
 
 
*              Select * from Mytable
 
*              local lcResult as string
 
*              lcResult = ''
 
*              lcResult = lcResult + web_top() && 网页顶部
 
*              lcResult = lcResult + tohtml() && 表格内容
 
*              lcResult = lcResult + web_root()  && 网页底部
 
 
*              CLOSE DATABASES ALL 
 
 
*              RETURN lcResult
 
*
 
* 最后修改:2004-8-31
 
* 编写:PNYJQ
 
*************************************************************
 
#DEFINE lcEnter CHR(13) + CHR(10)
 
#DEFINE lcRecorBegin [  <tr>] + lcEnter
 
#DEFINE lcRecorEnd [  </tr>] + lcEnter
 
#DEFINE lcFielBegin [    <td>]
 
#DEFINE lcFielEnd [</td>] + lcEnter
 
#DEFINE lcNodata [抱歉!找不到您查询的数据]
 
 
IF EMPTY(ALIAS())
 
    RETURN lcNodata
 
ENDIF
 
 
IF RECCOUNT() = 0
 
    RETURN lcNodata
 
ENDIF
 
 
LOCAL lcHtml as String
 
#DEFINE lnFcount FCOUNT()
 
 
TEXT TO lcHtml TEXTMERGE NOSHOW
 
    <table border="1" width="100%" cellspacing="0" cellpadding="0">
 
 
ENDTEXT
 
 
 
lcHtml = lcHtml + ganHear() &&表头
 
 
SCAN
 
    lcHtml = lcHtml + ganTable() &&记录
 
ENDSCAN
 
 
lcHtml = lcHtml + lcEnter + '</table>'
 
RETURN lcHtml 
 
 
*-----------------------------------------------------
 
* 记录生成模块
 
*-----------------------------------------------------
 
FUNCTION ganTable
 
LOCAL lcRecor as String 
 
lcRecor = lcRecorBegin
 
FOR i = 1 TO lnFcount
 
    lcRecor = lcRecor + lcFielBegin + ALLT(CAST(EVALUATE(fiel(i)) as char(80))) + lcFielEnd
 
ENDFOR
 
lcRecor = lcRecor + lcRecorEnd
 
RETURN lcRecor
 
 
*-----------------------------------------------------
 
* 表头生成模块
 
*-----------------------------------------------------
 
FUNCTION ganHear
 
LOCAL lcRecor as String 
 
lcRecor = lcRecorBegin
 
FOR i = 1 TO lnFcount
 
    lcRecor = lcRecor + [<td align="center">] +  allt(fiel(i)) + lcFielEnd
 
ENDFOR
 
lcRecor = lcRecor + lcRecorEnd
 
RETURN lcRecor _________________ 知足常乐! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		liangszpt
 
  
  註冊時間: 2004-11-18 文章: 263 來自: な东省深圳市
  第 2 樓
  | 
		
			
				 發表於: 星期四 四月 28, 2005 10:47 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				| 有没有在6.0底下都可以实现的方法啊? | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		pnyjq
 
 
  註冊時間: 2005-04-19 文章: 7 來自: 中国广东省
  第 3 樓
  | 
		
			
				 發表於: 星期五 四月 29, 2005 3:32 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				把这一句ALLT(CAST(EVALUATE(fiel(i)) as char(80))) 写成自定义函数,将所有类型的变量转换成字符型,应该不难. _________________ 知足常乐! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 4 樓
  | 
		
			
				 發表於: 星期五 四月 29, 2005 4:02 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				其實 VFP 6.0 本來就提供一個 _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		syntech
 
 
  註冊時間: 2003-05-16 文章: 4252 來自: Taipei,Taiwan
  第 5 樓
  | 
		
			
				 發表於: 星期五 四月 29, 2005 4:07 pm    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				CAST(EVALUATE(fiel(i)) as char(80)) 
 
這一句是 " 把 fiel(i)的值,不論什麼資料型態, 通通轉成 最大SIZE 為 80字的字串".
 
 
所以,要針對不同的型態,以 DO CASE 的方式改寫,
 
就像另一篇相關討論的一樣.
 
http://vfp.sunyear.com.tw/viewtopic.php?t=336 _________________ 如果公司有下列困擾:
 
1. 找不到便宜,快速,簡易的 生產排程軟體
 
2. 不知道如何快速排定 採購計劃
 
3. 成本抓不準,自己算比軟體算有用
 
4. 想學習系統規劃,想找系統架構的顧問
 
 
請聯絡我們,也許我們幫得上忙 | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		pnyjq
 
 
  註冊時間: 2005-04-19 文章: 7 來自: 中国广东省
  第 6 樓
  | 
		
			
				 發表於: 星期六 四月 30, 2005 10:53 am    文章主題:  | 
				     | 
			 
			
				
  | 
			 
			
				有时间的话写一个allToString函数,把所有的字段都转换成char,这样就更完美了. _________________ 知足常乐! | 
			 
		  | 
	 
	
		| 回頂端 | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
  	 
	    
  	   | 
 	
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
  | 
   
  
		 |