Подтвердить что ты не робот

Вывод GUID в VBScript игнорирует весь текст после него

Я создаю GUID для использования в классическом ASP-приложении, используя TypeLib. Однако даже простой тест, такой как написание GUID на экран, вызывает у меня проблемы - он печатает GUID, но после него игнорирует все (например, HTML-теги, дополнительные слова и т.д.).

Вот простейший код, чтобы проверить это:

Set typeLib = Server.CreateObject("Scriptlet.TypeLib")
myGuid = typeLib.Guid
Response.Write myGuid & " is the new GUID"
Set typeLib = Nothing

Это отобразит что-то вроде {9DDB27D1-F034-41D7-BB88-D0D811DB91CE} и что оно; остальная часть текста игнорируется и не записывается. Однако, если я жестко кодирую это значение GUID и ссылаюсь на него из переменной, остальная часть текста выглядит просто отлично. Я попытался преобразовать ядро ​​в значение String перед отображением, но это все еще происходит.

4b9b3361

Ответ 1

Кажется, я решил свою проблему.. он добавил что-то дополнительное в текст, поэтому мне пришлось делать:

myGuid = Left(myGuid, Len(myGuid)-2)

и теперь он выводится нормально. Странно.

Ответ 2

Я использую что-то вроде этого

Function GetGuid() 
        Set TypeLib = CreateObject("Scriptlet.TypeLib") 
        GetGuid = Left(CStr(TypeLib.Guid), 38) 
        Set TypeLib = Nothing 
End Function 

Ответ 3

Он добавляет vbNullChar или Chr (0) в конец GUID. Заменить (myGuid, Chr (0), "") исправить. Лучше, чем использование функций Left или Mid.

Ответ 4

Я использую это, как это =

With CreateObject("Scriptlet.TypeLib")
'' For Del This = {}
 WSH.Echo mid(.Guid ,2, 36)
 WSH.Echo (.Guid)
End With