比如:a="this is a string!" a=32767 a=123.4 a=true不用转换,不用定义,也不会出错,如果只是在一些不太要求效率的程序中,这样写可以省很多事,可以节省时间,初学的也好入门,不会很打击初学者的自信....而在C++一类的语言中,函数要用一样的函数名,就要做重载或模板..... 再说一遍,VB[VisualBasic],VBS[Windows Host Script],VBScript,VBA[VB For App]和ASP是风马牛不相及的东西(不用的应用领域),虽然语法上大同小异.....
//再说一遍,VB[VisualBasic],VBS[Windows Host Script],VBScript,VBA[VB For App] //和ASP是风马牛不相及的东西(不用的应用领域),怎么会风马牛不相及呢?最多说“两种概念”了,关系是很密切的:)
接viena(晓琴)的话题,例如保存一个webbrowser中的全部内容,使用VB和Delphi的方法如下:VB: Dim oPF As IPersistFile Set oPF = WebBrowser1.Document oPF.Save "TheFileNameHere.htm", False Delphi: uses MSHTML,OleCtrls, SHDocVw, StdCtrls,ActiveX; function GetHTMLCode(WB: IWebbrowser2; ACode: TStrings): Boolean; var ps: IPersistStreamInit; s: string; ss: TStringStream; sa: IStream; begin ps := WB.document as IPersistStreamInit; s := ''; ss := TStringStream.Create(s); try sa:= TStreamAdapter.Create(ss, soReference) as IStream; Result := Succeeded(ps.Save(sa, Bool(True))); if Result then ACode.Add(ss.Datastring); finally ss.Free; end; end; 在Delphi中需要进行很多接口的转换(转换这个词可能不太合理,实际这种强制转换还是不严谨的,真正的转换可以参考这篇文章:http://www.csdn.net/develop/read_article.asp?id=18465),而在VB中不需要做这些事情。一句话就搞定 :-)
VB又没有不让你定义类型!你定不定义是你自己的事!
人家是针对变量的定义,谈“强弱”
又不是针对vb这个语言,这种技术~
'---------------------------------------
强制变量定义了VB就变成"非弱类型语言"了吗?谁说的?VB就是弱类型语言!她确实不如VC,Delphi和Java,不过,她一点也不烂....
http://expert.csdn.net/Expert/topic/2826/2826846.xml?temp=.817486
'------------------------------------------------------------------VB做不了Ring0级的应用程序,而VC可以做...不过,我说了,她一点也不烂,如果不是要写驱动一类的东东,用VB就足够了,大部分的功能都可以用VB实现....
回复人: boyzhang(张郎) ( ) 信誉:99
说的那个意思,如果我连Java和JavaScript都搞不清楚!活着还有什么意思!非常感谢给出灼见的朋友们!
依我看楼主的意思并没有讨论VB跟其他语言的优劣,没想到现在大家倒是越来越偏题了啊!
嘿嘿!:)
Sorry!Sorry!Sorry!Sorry!Sorry!Sorry!Sorry!Sorry!Sorry!
不好意思!不好意思!不好意思!不好意思!不好意思!不好意思!
Sorry!Sorry!Sorry!Sorry!Sorry!Sorry!Sorry!Sorry!Sorry!我搞错了!实在抱歉!不过现在很少惹 M* 了,上CSDN是来学东东的,不是来惹是非的!网费不便宜呀,浪费在这些无聊的事情上就不好了! :)我还以为又多了一个像 M* 一样喜欢搞是非的人呢!最后再郑重的说一句,对不起了,是我误会你了!
===========================================================说的好!对呀,C++和Java可以做到不定义就用吗?呵呵,眼光真独到呀!居然可以从这个角度看问题....
比如OCAML这种语言,不用声明一个a:INT这样的变量,可以根据赋值语句的右值确定变量的类型,但是却是一个强类型的语言.有比较严格的编译期类型检查机制.我想强类型应该是指变量的类型在执行过程中不能随意的改变,在编译过程中会进行严格的检查, 这显然对于程序的运行效率和健壮性有帮助.在我所知道的语言中,ADA的类型机制是最强的.JAVA,C/C++等应该算是比较强类型的语言把.
而弱类型则是把编译时期的类型检查工作放到运行时做了,这样优点是提高开发速度和原型速度,而代价就是运行时的效率低了一些.
VB是弱类型语言吗?
'-------------------------------------------------------加一句,不过,一点也不烂...............
a=32767
a=123.4
a=true不用转换,不用定义,也不会出错,如果只是在一些不太要求效率的程序中,这样写可以省很多事,可以节省时间,初学的也好入门,不会很打击初学者的自信....而在C++一类的语言中,函数要用一样的函数名,就要做重载或模板.....
再说一遍,VB[VisualBasic],VBS[Windows Host Script],VBScript,VBA[VB For App]和ASP是风马牛不相及的东西(不用的应用领域),虽然语法上大同小异.....
//和ASP是风马牛不相及的东西(不用的应用领域),怎么会风马牛不相及呢?最多说“两种概念”了,关系是很密切的:)
而且,to yiyan625(太阳)我不是高手,我现在只是在实习,我对C/C++& JAVA有一些了解,对VB确实是不了解。to,boyzhang(张郎) 兄
你的回答给我很大的帮助,多谢!
vb很好的。做什么事情为什么要那么复杂呢?简洁为美!
我用vb做了几个程序,感觉不错。
Set oPF = WebBrowser1.Document
oPF.Save "TheFileNameHere.htm", False Delphi: uses
MSHTML,OleCtrls, SHDocVw, StdCtrls,ActiveX;
function GetHTMLCode(WB: IWebbrowser2; ACode: TStrings): Boolean;
var
ps: IPersistStreamInit;
s: string;
ss: TStringStream;
sa: IStream;
begin
ps := WB.document as IPersistStreamInit;
s := '';
ss := TStringStream.Create(s);
try
sa:= TStreamAdapter.Create(ss, soReference) as IStream;
Result := Succeeded(ps.Save(sa, Bool(True)));
if Result then ACode.Add(ss.Datastring);
finally
ss.Free;
end;
end; 在Delphi中需要进行很多接口的转换(转换这个词可能不太合理,实际这种强制转换还是不严谨的,真正的转换可以参考这篇文章:http://www.csdn.net/develop/read_article.asp?id=18465),而在VB中不需要做这些事情。一句话就搞定 :-)