मैं वीबी के लिए नया हूँ। मैं कुछ पुराने वीबी कोड का परीक्षण करना चाहता हूं, लेकिन मुझे कोड में सेट किए गए कुछ मानों का परीक्षण करने में सक्षम होने के लिए कंसोल पर प्रिंट करने की क्षमता की आवश्यकता है। वीबी से कंसोल पर प्रिंट कैसे करें?वीबी 6 में डीबग कंसोल को कैसे लिखें?
उत्तर
डीबग.प्रिंट का उपयोग करें। लेकिन वीबी 6 एप्लिकेशन पर कोई कंसोल नहीं है, जो डीबग विंडो पर प्रिंट करेगा।
यह ऐसा कुछ नहीं है जो Vb6 आसानी से कर सकता है (मुझे यकीन है कि यह किया जा सकता है, लेकिन आप देशी Win32 API को कॉल करेंगे, और यदि आप इसे डिबगिंग के लिए उपयोग कर रहे हैं तो दर्द के लायक नहीं है)
आपकी सर्वश्रेष्ठ शर्त (आईएमएचओ) उन मानों को लॉग फ़ाइल में लिखना है।
असल में यह एफएसओ का उपयोग करके वीबी 6 से काफी कम किया जा सकता है। निस्संदेह यह केवल तभी लागू होता है जब आपके पास एक कंसोल होता है, जिसे आप शायद ही कभी एक वीबी 6 प्रोग्राम में करते हैं - जब तक कि आप AllocConsole() या कंसोल सबसिस्टम के लिए एक EXE के रूप में चल रहे हों। लेकिन मैं मानता हूं कि यह डिबगिंग के लिए सबसे अच्छा उपकरण नहीं है। – Bob77
@ बॉब: तो, "आसान जब आप जानते हैं" के शीर्षक के नीचे आता है? :) –
इसके लिए बहुत कुछ नहीं है। मैंने पोस्ट किए गए अपरिपक्व उत्तर को देखें। – Bob77
से अधिक जानकारी और पुन: प्रयोज्य कोड यह स्वीकार्य उत्तर होने की उम्मीद नहीं है क्योंकि डीबग.प्रिंट आईडीई परीक्षण के लिए जाने का तरीका है।
हालांकि कितना मानक मैं उपयोग करने के लिए दिखाने के लिए/ओ VB6 में आसानी से धाराओं:
Option Explicit
'
'Reference to Microsoft Scripting Runtime.
'
Public SIn As Scripting.TextStream
Public SOut As Scripting.TextStream
'--- Only required for testing in IDE or Windows Subsystem ===
Private Declare Function AllocConsole Lib "kernel32"() As Long
Private Declare Function GetConsoleTitle Lib "kernel32" _
Alias "GetConsoleTitleA" (_
ByVal lpConsoleTitle As String, _
ByVal nSize As Long) As Long
Private Declare Function FreeConsole Lib "kernel32"() As Long
Private Allocated As Boolean
Private Sub Setup()
Dim Title As String
Title = Space$(260)
If GetConsoleTitle(Title, 260) = 0 Then
AllocConsole
Allocated = True
End If
End Sub
Private Sub TearDown()
If Allocated Then
SOut.Write "Press enter to continue..."
SIn.ReadLine
FreeConsole
End If
End Sub
'--- End testing ---------------------------------------------
Private Sub Main()
Setup 'Omit for Console Subsystem.
With New Scripting.FileSystemObject
Set SIn = .GetStandardStream(StdIn)
Set SOut = .GetStandardStream(StdOut)
End With
SOut.WriteLine "Any output you want"
SOut.WriteLine "Goes here"
TearDown 'Omit for Console Subsystem.
End Sub
ध्यान दें कि कोड की बहुत कम वहाँ VB6 में एक वास्तविक कंसोल कार्यक्रम के लिए आवश्यक है। कंसोल सबसिस्टम में प्रोग्राम नहीं चल रहा है जब इसका बड़ा कंसोल विंडो आवंटित करने के बारे में है।
+1: अच्छा है। तो, जैसा मैंने कहा था, तब आसान है जब आप जानते हैं कि कैसे :) –
धन्यवाद। मुझे यही चाहिए। – CodeBlue