Asp |
Asp objects |
Выгрузка файла с окном Save As |
Set fs = CreateObject("Scripting.FileSystemObject") set f= fs.GetFile(filename): s=f.size set f= fs.OpenTextFile(filename,1,false,-1) sss= f.read(s) response.ContentType = "application/octet-stream" response.AddHeader "Content-Disposition", "attachment; filename=" & f1 response.binarywrite sss |
Reference |
Ary = Array("a","b","c") Select Case MyVar Case "red" document.bgColor = "red" Case "green" document.bgColor = "green" Case "blue" document.bgColor = "blue" Case Else MsgBox "pick another color" End Select For Each f1 in fc s = s & f1.name Next For counter = start To end [Step step] [Exit For] [statements] Next |
Типовой класс |
Class clsField Private mFieldName Private mValue Public Property Get Name Name = mFieldName End Property Public Property Let Value(sValue) mValue = sValue End Property Public Property Get Value Value = mValue End Property Public Sub ReadForm(frm) ... End Sub Public Function Cell(ByRef pg) ... Cell = true End Function Private Sub Class_Initialize End sub Private Sub Class_Terminate End sub End class |
Отправка сообщений e-mail в кодировке KOI8-R |
При использовании объекта CDONTS сообщения e-mail будут
созданы и отправлены в той кодировке, которая была установлена
для выполняемого ASP-скрипта (обычно Windows-1251). Для того,
чтобы принудительно задать кодировку письма, добавьте к
заголовку создаваемого сообщения строку с установкой charset в
требуемое значение. Например, для отправки текстового
сообщения в KOI8-R это будет выглядеть следующим образом: Set objNewMail = Server.CreateObject("CDONTS.NewMail") objNewMail.Subject = "Тест" & Chr(10) & "Content-Type: text/plain; charset=""koi8-r""" |
Отправка почты с использованием SMTP (CDOSYS) |
Const cdoSendUsingPort = 2 Const cdoBasic As Integer = 1 myMsg = CreateObject("CDO.Message") myConfig = CreateObject("CDO.Configuration") Flds = myConfig.Fields With Flds .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "your_smtp_server" .Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 10 .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:\inetpub\mailroot\pickup" .Item("urn:schemas:mailheader:content-type") = "text/plain; charset=Windows-1251" .Item("urn:schemas:mailheader:content-transfer-encoding") = "8bit" .Update() End With With myMsg .Configuration = myConfig .To = szTo .From = szFrom .Subject = szSubject .HTMLBody = szBody .Send() .To = '"Получатель" <someone@rsdn.ru>'; .BCC="one@rsdn.ru; two@rsdn.ru"; .From='"Отправитель" <sender@rsdn.ru>'; .BodyPart.Charset="windows-1251"; .MimeFormatted=true; .Subject="Тема"; .TextBody="Текст сообщения"; .TextBodyPart.Charset="windows-1251"; .HTMLBody = szBody .AddAttachment szFileName End With |
Отправка почты с использованием SmartMail |
Private Function Win2Koi(str) Dim koi, win, i, cs win = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя" koi = "бвчздеецъйклмнопртуфхжигюыэящшьасБВЧЗДЕЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭЯЩШЬАС" Win2Koi = "" for i=1 to len(str) cs = mid(str,i,1) if instr(win, cs) > 0 then Win2Koi = Win2Koi & mid(koi, instr(win, cs), 1) else Win2Koi = Win2Koi & cs end if next End Function Public Function SendMailToAdmin() Dim mail, subj Set mail= createObject("ASPSmartMail.SmartMail") mail.Recipients.Add "vlad@mail.ru" mail.Server = "172.16.16.5" mail.SenderAddress = "test@mail.ru" mail.Subject = "Test" mail.Body = Win2Koi("text") mail.Charset = "koi8-r" mail.ContentType = "text/plain" mail.SendMail set mail = nothing End Function |
Где найти хостинг Windows NT (ASP) |
Бесплатный хостинг Windows NT (ASP):
Коммерческий хостинг Windows NT (ASP) в России: Для поиска хостинг-провайдеров за рубежом можно воспользоваться многочисленными специализированными каталогами, например, Hostsearch.com. |
Определение типа класса |
TypeName(mContent)="clsDummyOld" |
Подключение к БД MS Access (ADO) |
Если файл БД db.mdb находится в каталоге сервера database, то строка для подключения будет выглядеть следующим образом: Set Con=Server.CreateObject("ADODB.Connection") Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\database\db.mdb") Set RS=Server.CreateObject("ADODB.RecordSet") |
Как подменить имя ссылки при "Save As"? |
Если вы используете скрипт, который при вызове записывает в Response двоичные данные (например, картинку из БД), то для того, чтобы при вопросе браузера "Save As"? имя файла не выглядело в виде "download.asp?what=SomeFile", его можно "подменить" на более удобное, используя метод Response.AddHeader. Например: Response.AddHeader "content-disposition", "filename=SomeFile.zip"илиResponse.AddHeader "Content-Disposition", "attachment; filename=" & objFile.Name Response.AddHeader "Content-Length", objFile.Size |
Запуск файла из asp |
Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run ("%windir%\notepad" & WScript.ScriptFullName) |
Вставка иконки в адресную строку браузера |
Положить в корневую директорию сайта иконку, назвав ее favicon.ico. То есть, если сайт находится по адресу http://www.site.ru, то адрес иконки будет http://www.site.ru/favicon.ico. Если иконка лежит по другому адресу, то можно прописать ее адрес в самой страничке, используя тег <link rel="shortcut icon" href="путь">. В случае динамического формирования иконки можно написать <link rel="shortcut icon" href="http://www.site.com/cgi-bin/icon.pl"> |
J2EE CAS COM Bridge |
Если понадобится использовать J2EE CAS COM Bridge (мост от Sun для использования EJB и обычных Java-классов через COM), то процесс создание объекта уже будет отличатся, и запишется так (JScript):
_factory = Server.CreateObject("J2EECAS.JavaClassLoaderFactory"); _classloader = _factory.CreateClassLoader(); _class = _classloader.FindClass("java.lang.String"); objJavaStr = _class.New(); |
GetServerName |
Function Http() If Request.ServerVariables("HTTPS").Item = "on" then Http= "https://" Else Http= "http://" End if End Function Function GetServerName() GetServerName= Http() & Request.ServerVariables("SERVER_NAME").Item End Function |
Чтение бинарных данных из файла |
Dim cn, rs, objStream, sSQL Set cn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") Set objStream = Server.CreateObject("ADODB.Stream")cn.Open "Provider=SQLOLEDB.1;Initial Catalog=test;DataSource=localhost;UID=yura;PWD=yura;" sSQL = "SELECT * FROM blob WHERE blob_id=0" rs.Open sSQL, cn, 1, 3 rs.AddNew objStream.Type = 1 objStream.Open ' путь к файлу для загрузки objStream.LoadFromFile(Server.MapPath("./") & "\test.jpg" ) rs.Fields("name").Value = "Тестовая картинка" rs.Fields("blob_file").Value = objStream.Read rs.Update rs.Close objStream.Close cn.Close |
Запись бинарных данных в файл |
Dim cn, rs, objStream, sSQL Set cn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") Set objStream = Server.CreateObject("ADODB.Stream") cn.Open "Provider=SQLOLEDB.1;Initial Catalog=test;Data Source=localhost;UID=yura;PWD=yura;" ' запрос однозначно получающий запись из таблицы ' в данном случае для примера blob_id = 1 ' в Вашем случае это может быть другое число sSQL = "SELECT * FROM blob WHERE blob_id=1" rs.Open sSQL, cn, 1, 3 objStream.Type = 1 objStream.Open objStream.Write rs.Fields("blob_file").Value ' папка, где сохраняется файл, должна иметь NTFS права на чтение/запись для ' интернет-пользователя (обычно IUSR_<имя_компьютера designtimesp=12591>) ' в данном случае - это текущая папка objStream.SaveToFile Server.MapPath("./") & "\test_from_db.jpg", 2 rs.Close objStream.Close cn.Close |
Проигрывание видео- и аудиоданных в режиме потока |
XML+XSL -> HTML |
Set oXslt = Server.CreateObject("Msxml2.XSLTemplate") Set oXmlDoc = Server.CreateObject("Msxml2.DOMDocument") Set oXslStylesheet = Server.CreateObject("Msxml2.FreeThreadedDOMDocument") oXmlDoc.async = False oXmlDoc.load(Server.MapPath("index.xml")) oXmlDoc.preserveWhiteSpace = True Call oXmlDoc.setProperty("SelectionLanguage", "XPath") oXslStylesheet.async = False oXslStylesheet.load(Server.MapPath("index.xsl")) Set oXslt.stylesheet = oXslStylesheet Set oXslProc = oXslt.createProcessor() oXslProc.input = oXmlDoc Call oXslProc.addParameter("self-url", CStr(Request.ServerVariables("SCRIPT_NAME"))) oXslProc.output = Response oXslProc.Transform Set oXslProc = Nothing |
Доступ из xsl к asp переменным |
Создаем класс
Class ASPObjects 'returns Request object variables 'QType here represents a collection (QueryString, Form or Server(ServerVariables)) Public Function GetRequestVariable(Key, QType) Select Case lcase(QType) Case "querystring" GetRequestVariable = CStr(Request.QueryString(Key).Item) Case "form" GetRequestVariable = CStr(Request.Form(Key).Item) Case "server" GetRequestVariable = CStr(Request.ServerVariables(Key).Item) Case Else GetRequestVariable = CStr(Request(Key).Item) End Select End Function 'returns Session object variables Public Function GetSessionVariable(Key) GetSessionVariable = Session(Key) End Function 'sets Session object variable Public Function SetSessionVariable(Key, Value) Session(Key) = Value SetSessionVariable = "" End Function End Class |
Создаем XSL
set xslProc = xslt.CreateProcessor() set xasp = new ASPObjects 'creating our object call xslProc.addObject(xasp, "urn:asp-objects") 'adding it to XSL template call xslProc.Transform() TransformXML = xslProc.output Set xasp = Nothing |
Получаем доступ
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xasp="urn:asp-objects"> <xsl:template match="/"> <xsl:value-of select="xasp:GetRequestVariable('hello','querystring')" /> <xsl:value-of select="xasp:SetSessionVariable('username','Me!')" /> </xsl:template> ... </xsl:stylesheet> |
Вызов WEB-сервиса через Microsoft.XMLHTTP |
<!--#include virtual="/webservice.asp"--> <%
|
Вызов WEB-сервиса через SOAP |
' Создаём экземпляр объекта SoapClient Set sc = CreateObject("MSSOAP.SoapClient") ' Соединяемся с веб-службой и вызываем метод Authenticate sc.mssoapinit "http://localhost/AuthSrvc/AuthSrvc.asmx?WSDL" If sc.Authenticate ("John", "one", s) = True Then MsgBox "Hello John", 64 Else MsgBox "Wrong data!!", 48 End If ' Удаляем ссылку на объект Set sc = Nothing |
Работа с регулярными выражениями (RegExp) |
Dim sStr Set oRE = New RegExp' CreateObject("VBScript.RegExp") sStr = "klkl" With oRE .Global = True .IgnoreCase = True .Pattern = "k" sStr = .Replace(sStr,"") End With Set oRE = Nothingphp.rinet.ru примеры |
Корректировка GUID |
Function GuidTrim(sGuid) Dim reg, ok, str GuidTrim = "{00000000-0000-0000-0000-000000000000}" If Not IsNull(sGuid) Then str = Trim(sGuid) If Len(str) > 0 Then Set reg = New RegExp With reg .Global = False .IgnoreCase = False .Pattern = "^({*)([0-9A-F]{8})-([0-9A-F]{4})-([0-9A-F]{4})-([0-9A-F]{4})-([0-9A-F]{12})(}*)$" If .Test(str) Then .Pattern = "^({*)" GuidTrim = .Replace(str, "{") .Pattern = "(}*)$" GuidTrim = .Replace(GuidTrim, "}") End if End With Set reg = Nothing End if End if End Function |
Коннект к базе |
Dim cn set cn = Server.CreateObject("ADODB.Connection") cn.Provider = "SQLOLEDB" cn.Properties("Initial Catalog") = "pub" cn.Properties("Integrated Security").Value = "SSPI" cn.Properties("Data Source") = "(local)" cn.open |
- |