2009-01-05 11 views
12

मैं एक क्लासिक एएसपी आवेदन में इस्तेमाल के लिए एक GUID बना रहा हूं, TypeLib का उपयोग करके ध्यान नहीं देता। हालांकि, इस तरह GUID स्क्रीन पर लिखने के रूप में भी एक साधारण परीक्षण मुझे समस्याओं दे रहा है - यह GUID प्रिंट लेकिन सब कुछ के बाद यह (जैसे HTML टैग अतिरिक्त शब्द, कुछ भी) पर ध्यान नहीं देता।VBScript में एक GUID Outputting सभी पाठ के बाद यह

यहाँ इस परीक्षण करने के लिए मौलिक कोड है:

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 मान को हार्ड-कोड करता हूं और इसे एक चर से संदर्भित करता हूं, तो शेष पाठ ठीक दिखाई देता है। मैंने प्रदर्शित करने से पहले स्ट्रिंग मान में स्पष्ट रूपांतरण करने का प्रयास किया है, लेकिन यह अभी भी होता है।

+0

ओह धन्यवाद भगवान किसी को पहले से ही इस किया था। – ChristianLinnell

उत्तर

12

मैं अपने ही समस्या हल हो गए हैं लगता है .. यह पाठ के लिए कुछ अतिरिक्त जोड़ने था, इसलिए मैं नहीं था:

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

और यह अब ठीक आउटपुट। अजीब।

+0

क्या आपने मेरी टिप्पणी वापस देखी है? यह srange है ... – Schwartser

+0

यह अजीब नहीं है कि GUID वास्तव में एक संरचना है। वामपंथी फ़ंक्शन को इसे एक स्ट्रिंग में परिवर्तित करना होगा, इसलिए यह इसके साथ काम कर सकता है और एक स्ट्रिंग वापस कर सकता है। – Tester101

+6

Scriptlet.TypeLib.Guid एक अशक्त-समाप्त स्ट्रिंग देता है। आपके कोड से स्क्रीन पर जिस तरह से कुछ नल टर्मिनेशन का उपयोग करता है और इस प्रकार मध्य में चीजों को आउटपुट करना बंद कर देता है। – svinto

-2

GUID एक struct और नहीं एक स्ट्रिंग है, तो आप एक स्ट्रिंग के रूप में यह उत्पादन के लिए एक ToString() विधि जोड़ने की जरूरत है।

https://msdn.microsoft.com/fr-fr/library/97af8hh4(v=vs.110).aspx

Response.Write myGuid.ToString("D") 
+0

मुझे नहीं लगता कि मैं VBScript में ToString का उपयोग कर सकते हैं; typeLib.Guid.ToString() का उपयोग करने का प्रयास कर मुझे एक त्रुटि देता है। –

+0

यह जांचें http://support.stormhosts.net/showthread.php?t=344 – Schwartser

4

मैं इस

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

की तरह कुछ का उपयोग यह कहते हैं एक vbNullChar या Chr (0) GUID के अंत में। बदलें (myGuid, Chr (0), "") इसे ठीक करेगा। बाएं या मध्य कार्यों का उपयोग करने से बेहतर।

संबंधित मुद्दे