Показать сообщение отдельно
Старый 04.06.2008, 21:35   #21
KD_RUS
Местный
 
Аватар для KD_RUS
 
Регистрация: 09.01.2008
Сообщений: 479
Сказал(а) спасибо: 121
Поблагодарили 259 раз(а) в 123 сообщениях
Вес репутации: 297
KD_RUS как роза среди колючекKD_RUS как роза среди колючекKD_RUS как роза среди колючек
По умолчанию

Цитата:
Сообщение от kuzma Посмотреть сообщение
Я и имел ввиду полноценный скрипт, просто он изменяется не на уровне каталога, а на уровне сцены. Про Windows всеже не понятно!!!
Можно вызывать любые функции Windows. Вводить свои процедуры и т.п. И этот текстовый файл будет исполняться "налету". Компиляции никакой нет.

Формирование выгрузки в xml-файл

Function ZeroFmt(iVal, iLength)
sVal = CStr(iVal)
While Len(sVal) < iLength
sVal = "0" + sVal
Wend
ZeroFmt = sVal
End Function

'==================================== ЧИТАЕМ НАСТРОЙКИ =====================================
strXMLsPath = ""
Set oXMLDoc = CreateObject("MSXML2.DOMDocument.4.0")
oXMLDoc.Load(ProgramDir & "xmlmaker.xml")
oXMLDoc.SetProperty "SelectionLanguage", "XPath"
Set oXMLElem_Path = oXMLDoc.SelectSingleNode("//XMLOutputDir")
strXMLsPath = oXMLElem_Path.Text
Do While InStr(strXMLsPath, "{") > 0
Param = Mid(strXMLsPath, InStr(strXMLsPath, "{")+1, InStr(strXMLsPath, "}") - InStr(strXMLsPath, "{")-1)
strXMLsPath = Replace(strXMLsPath, "{"&Param&"}", Eval(Param))
Loop
strXMLsPath=Replace(strXMLsPath, "\\", "\")

If SDK.Scene.IsLoaded(SessionId) Then

'==================================== СОЗДАЕМ XML-ФАЙЛ =====================================
oXMLDoc.LoadXML("<?xml version=""1.0"" encoding=""utf-8""?><XMLFILE/>")

'=======================================<FILEINFO/>=========================================
Set oXMLElem_FileInfo = oXMLDoc.CreateElement("FILEINFO")
oXMLElem_FileInfo.SetAttribute "Version", 1 ' Версия формата
oXMLElem_FileInfo.SetAttribute "Timestamp", ZeroFmt(Year(Now()),4) & ZeroFmt(Month(Now()),2) _
& ZeroFmt(Day(Now()),2) & ZeroFmt(Hour(Now()),2) & ZeroFmt(Minute(Now()),2) & _
ZeroFmt(Second(Now()),2) ' Дата/время выгрузки
If SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.SellerName()") <> "" Then
strDesigner = SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.SellerName()")
Else
strDesigner = SDK.Scene.SceneGetKeywordInfo(SessionId, _
"@Base.SellerIdentifier()")
End If
oXMLElem_FileInfo.SetAttribute "Author", strDesigner ' Дизайнер
Set oNetworkInfo = CreateObject("WScript.Network")
oXMLElem_FileInfo.SetAttribute "Hostname", oNetworkInfo.ComputerName ' Имя компьютера
Set oNetworkInfo = Nothing

oXMLDoc.DocumentElement.AppendChild(oXMLElem_FileI nfo)
Set oXMLElem_FileInfo = Nothing

'=======================================<SCENE/>============================================
Set oXMLElem_Scene = oXMLDoc.CreateElement("SCENE")

'=======================================<CLIENT/>===========================================
Set oXMLElem_Client = oXMLDoc.CreateElement("CLIENT")
oXMLElem_Client.SetAttribute "Company", SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.CustomerCompany()")
oXMLElem_Client.SetAttribute "LastName", SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.CustomerName()")
oXMLElem_Client.SetAttribute "FirstName", SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.CustomerFirstName()")
oXMLElem_Client.SetAttribute "ZIP", SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.CustomerZIP()")
oXMLElem_Client.SetAttribute "Address1", SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.CustomerAddress1()")
oXMLElem_Client.SetAttribute "Address2", SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.CustomerAddress2()")
oXMLElem_Client.SetAttribute "Address3", SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.CustomerAddress3()")
oXMLElem_Client.SetAttribute "City", SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.CustomerCity()")
strPhone1 = SDK.Scene.SceneGetKeywordInfo(SessionId, "@Base.CustomerPhone1()")
.......

Ещё куча строк. Смотрите доку по SDK. Всё станет ясно.
KD_RUS вне форума   Ответить с цитированием Вверх