ActiveX 及HTML文件(100分)

  • 主题发起人 主题发起人 yeah
  • 开始时间 开始时间
Y

yeah

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟第一次来,现请教:
1、如何快速判断一个文件是否是HTML文件(不是文件名,而是文件内容)?
2、我在一个程序中导入了Internet Controls中的TWebBrower,它完全使用IE的界面,在发布程序时应如何注册(使用代码)?如果在未安装IE的系统中能否正常运行?
 
1、没什么好办法,判断是否有<HTML></HTML><BODY></BODY><A...>之类的东西
2、运行就可以,不过要同时安装IE
 
1.第一个问题很好办,利用Html语言的格式即可判断出,如:
<Html>
....
他的第一行都是以'<Html>'开始的,就利用此。
 
1. Easy:
取其第一行, 如果是
<html>
即为HTML文件!(有50分吗?)
2. 应当是没有问题的,不必另行注册。
 
怎么没有'<Html>',系统的问题?!
 
噢!!大富翁有Bug!?
当用单引号将Html括起来时就不显示,参见上面。
 
我不信!再来一次:
&amp;lt;html&amp;gt;
这样可行,就是在该文件的开始找这个,找到就是HTML文件了。
 
感谢大家的回答,关于第一个问题,您们的方法不行,因为这个方法我曾使用过
即读出前6个字符是否为<html>,但是有很多文件并不以<html>开头,或开头有空行
则不灵了。
第二个问题我是想问如何用代码达到注册类名?或哪位有其它VCL控件可以读出HTML文件(我只需要显示即可,除了Delphi自带的THTML)?
 
1、空行?你不会跨过吗?
Var a:string
...
循环
a <- 读一行
if trim(a) = #10#13 then
读下一行
直到读出不是空行为止!
2、显示象浏览器一样的效果?
 
3h,你还在吗?
我就是要像浏览器一样的效果,当然,TWebBrower很好,但我在Win95机器上测试
时出现“类没有注册”的错误。你知道该如何注册吗?(我没有找到关于它的OCX)?
 
>我就是要像浏览器一样的效果,当然,TWebBrower很好,但我在Win95机器上测试
>时出现“类没有注册”的错误。你知道该如何注册吗?(我没有找到关于它的OCX)?
yeah啊,你的机器上面是原始的win95吗?是不是没有IE的那一种?
如果没有IE,那么就算你注册了也是没有用的啊!因为TWebbrowser就是IE嘛!
另外,为什么要判断是否是Html呢?浏览器本身是可以看很多文件的啊!
txt、gif、jpg、asp......
ps:如果装了IE4以上版本,就会有TWebBrowser和TWebBrowserV1两个控件,
V1使原来的,TWebBrowser是IE4......
 
我的开发机器装的是Win98,运行当然没问题,另一台Win98也没问题,我使用的测试
机器是Win95(build950B),运行时出错。
我要判断是否为HTML文件是因为,我把一些文本文件及HTML存入数据库中,当调出显
示时,需提前判断是纯文本还是HTML文件,再用相应的控件来显示。
 
>我的开发机器装的是Win98,运行当然没问题,另一台Win98也没问题,我使用的测
>试机器是Win95(build950B),运行时出错。
build950B是什么?Windows95OSR2吗?
我在98下编的程序(带Webbrowser的)OSR2下面都能够用啊!(原始版本也能用,条件是上面有ie)
注意,我上面说过了,win98里的<font color="blue">Twebbrowser</font>是<font color="red">IE4</font>,
<font color="blue">Twebbrowser_V1</font>才是真正意义上的通用的TWebbrowser(支持IE3),不过不知道
它支不支持IE2? :-)
不信你看他们的属性,TWebbrowser(ie4)可是有地址栏的,有全屏的。
您在只有IE3或者连IE3都没有的光秃秃的Windows95上面引用IE4,结果就是“类没有注册”了。
解决方法:把<font color="blue">TWebbrowser</font>换为<font color="blue">TWebbrowser_V1</font>
>我要判断是否为HTML文件是因为,我把一些文本文件及HTML存入数据库中,当调出
>显示时,需提前判断是纯文本还是HTML文件,再用相应的控件来显示。
如果在数据库内,就好说多了,加个标志字段不就行了吗?只占一个字节。
 
>如果在未安装IE的系统中能否正常运行?
当然不能运行,找Netscape吧 :-)
不过可以用一些第三方控件(tqz的站上有一个号称是当前最好的),但效果不一定好。
而且有的不支持javascript,有的不支持cgi,有的不支持activex,有的不支持java......老多毛病了!
 
TWebBrower的问题已解决,感谢茶叶蛋!60分归您了。剩余的40分暂时还送不出,
因为第一个问题还是不理想,比如在一个文件中只要任意一个地方出现了还开头出现了"<HTML>"字样就被视为HTML文档,这是不是有点弱智?
 
to yeah:
老大啊,您就在数据库里头多放一个标志字段吧。
在放入数据库的时候判断一下文件后缀名就行了,这样多省事啊。
如果你想从代码级来分析的话,很可能出乱子。
诸如:您也不能保证txt文件内没有<html></html>之类的字符串出现啊,
万一出现,岂不是把txt当成了html?
在html文件里头格式也不一定是固定的。
人家习惯在开头、结尾加上
<!
这样的一些注释,您还得循环判别,何苦呢?
我想,如果真要从代码级判别的话,就看那个文件里头〈和〉的概率大小了 :-)
 
没留心看,原来类似单书名号的符号显示不出来
我的意思是:不能保证人家不在开头、结尾放上注释。
 
接受答案了.
 
后退
顶部