若天明 发表于 2015-2-16 00:24:31

ASP教程之使用VBScript及ADODB.Steam获得局部格局...

asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.ado|vbscript   Function Bytes2bStr(vin)
if lenb(vin) =0 then
Bytes2bStr = ""
exit function
end if
''二进制转换为字符串
Dim BytesStream,StringReturn
Set BytesStream = Server.CreateObject("ADODB.Stream")
BytesStream.Type = 2
BytesStream.Open
BytesStream.WriteText vin
BytesStream.Position = 0
BytesStream.Charset = "gb2312"
BytesStream.Position = 2
StringReturn = BytesStream.ReadText
BytesStream.close
Set BytesStream = Nothing
Bytes2bStr = StringReturn
End Function

Function BinVal(bin)
Dim i
Dim ret:ret = 0
for i = lenb(bin) to 1 step -1
ret = ret *256 + ascb(midb(bin,i,1))
next
BinVal = ret
End Function

Function BinVal2(bin)
Dim i
Dim ret:ret = 0
for i = 1 to lenb(bin)
ret = ret *256 + ascb(midb(bin,i,1))
next
BinVal2 = ret
End Function

Function getImageWH(fdata)
'一个实参fdata,二进制图像数据(至于怎样读取图像的二进制数据就不必说了吧-_-!)
'前往值为一个数组,3个元素,分离为图片格局.长.宽

dim ret(2),bFlag,fsize,ADOS

fsize=clng(lenb(fdata)) '获得数据尺寸

if fsize=0 then Exit Function

Set ADOS = Server.CreateObject("ADODB.Stream")
ADOS.Type = 1
ADOS.Mode = 3
ADOS.Open

ADOS.Write fdata
ADOS.Position = 0

'写文本对象读取图象长宽和类型

ADOS.Position = 0 '重置数据入手下手地位
bFlag = ADOS.read(3)

if isNull(bFlag) then
ret(0) = "unknow"
ret(1) = 0
ret(2) = 0
getimagewh = ret
Exit Function
end if

'取文件类型和长宽
select case hex(binVal(bFlag))
case "4E5089":
ADOS.read(15)
ret(0) = "png"
ret(1) = BinVal2(ADOS.read(2))
ADOS.read(2)
ret(2) = BinVal2(ADOS.read(2))
case "464947":
ADOS.read(3)
ret(0) = "gif"
ret(1) = BinVal(ADOS.read(2))
ret(2) = BinVal(ADOS.read(2))
case "FFD8FF":
dim p1
do
do: p1 = binVal(ADOS.Read(1)): loop while p1 = 255 and not ADOS.EOS
if p1 > 191 and p1 < 196 then exit do else ADOS.read(binval2(ADOS.Read(2))-2)
do:p1 = binVal(ADOS.Read(1)):loop while p1 < 255 and not ADOS.EOS
loop while true
ADOS.Read(3)
ret(0) = "jpg"
ret(2) = binval2(ADOS.Read(2))
ret(1) = binval2(ADOS.Read(2))
case else:
if left(Bytes2bStr(bFlag),2) = "BM" then
ADOS.Read(15)
ret(0) = "bmp"
ret(1) = binval(ADOS.Read(4))
ret(2) = binval(ADOS.Read(4))
else
ret(0) = ""
end if
ADOS.Close
Set ADOS = Nothing
end select

Select case ret(0)
case "png","jpg","bmp","gif"
ret(1) = ret(1)
ret(2) = ret(2)
ret(0) = ret(0)
case else
ret(1) = 0
ret(2) = 0
ret(0) = "unknow"
end select

getimageWH = ret
End Function

Function GetWebData(StrUrl)
'获得INTERNET上的图片二进制数据
On Error Resume Next
if StrUrl="" then
GetWebData = ""
exit function
end if
dim tempStr
tempStr=split(StrUrl,"/")
if tempStr(ubound(tempStr))="" or inStr(StrUrl,"/")=0 then
GetWebData = ""
exit function
end if

dim Retrieval
Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
With Retrieval
.Open "Get", StrUrl, False, "", ""
.Send
GetWebData =.ResponseBody
End With
Set Retrieval = Nothing
If Err.Number <> 0 Then Err.Clear

End Function
当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题

愤怒的大鸟 发表于 2015-2-16 00:59:36

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

爱飞 发表于 2015-2-17 04:30:24

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

第二个灵魂 发表于 2015-3-1 21:15:45

他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。

精灵巫婆 发表于 2015-3-2 17:23:32

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

因胸联盟 发表于 2015-3-8 11:00:54

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

冷月葬花魂 发表于 2015-3-11 07:31:23

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

飘飘悠悠 发表于 2015-3-11 10:40:43

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

活着的死人 发表于 2015-3-13 04:07:08

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

小魔女 发表于 2015-3-25 06:47:07

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

若天明 发表于 2015-3-29 01:19:43

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

海妖 发表于 2015-4-3 02:06:20

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

小女巫 发表于 2015-4-4 14:17:17

不能只是将它停留在纸上谈兵的程度上。

蒙在股里 发表于 2015-4-13 13:31:44

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

山那边是海 发表于 2015-4-18 01:00:34

最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。

兰色精灵 发表于 2015-5-4 01:24:28

交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。

不帅 发表于 2015-6-13 21:19:26

我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.

再见西城 发表于 2015-6-16 16:57:15

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

柔情似水 发表于 2015-7-7 20:46:37

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

小妖女 发表于 2015-7-8 14:51:23

不能只是将它停留在纸上谈兵的程度上。
页: [1]
查看完整版本: ASP教程之使用VBScript及ADODB.Steam获得局部格局...