Jestem nowy w VB. Chcę przetestować stary kod VB, ale potrzebuję możliwości drukowania na konsoli, aby móc przetestować pewne wartości ustawione w kodzie. Jak wydrukować na konsoli z VB?Jak pisać do konsoli debugowania w VB6?
Odpowiedz
Użyj debug.print. Ale w aplikacji VB6 nie ma konsoli, która zostanie wydrukowana w oknie debugowania.
Nie jest to coś, co Vb6 może z łatwością zrobić (jestem pewien, że można to zrobić, ale nazywałbyś natywne interfejsy API Win32 i nie jest to warte bólu, jeśli używasz go tylko do debugowania)
Twój najlepszy zakład (IMHO) polega na zapisaniu tych wartości w pliku dziennika.
W rzeczywistości można to zrobić całkiem trywialnie z VB6 za pomocą FSO. Oczywiście ma to zastosowanie tylko wtedy, gdy * masz * konsolę, co rzadko robisz w programie VB6 - chyba że masz AllocConsole() lub działasz jako EXE zsynchronizowany z podsystemem konsoli. Ale zgadzam się, że to nie jest najlepsze narzędzie do debugowania. – Bob77
@ Bob: Więc jest pod nagłówkiem "Łatwo, kiedy wiesz, jak" może? :) –
Nie za dużo. Zobacz nieistotną odpowiedź, którą napisałem. – Bob77
Nie oczekuje się, że będzie to zaakceptowana odpowiedź, ponieważ Debug.Print jest sposobem na testowanie IDE.
Jednak żeby pokazać, jak korzystać ze standardowego wejścia/wyjścia strumieni łatwo w 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
Należy zauważyć, że bardzo mało kodu nie jest wymagane w przypadku rzeczywistego programu Console w VB6. Większość dotyczy alokacji okna konsoli, gdy program nie jest uruchomiony w podsystemie konsoli.
+1: Niezły. Więc, tak jak wtedy mówiłem, łatwo, kiedy wiesz jak :) –
- 1. Jak zbudować aplikację konsoli VB6
- 2. Przekazywanie parametrów wiersza poleceń do VB6 IDE w aplikacji konsoli
- 3. Jak pisać na konsoli w fasm?
- 4. Jak echo do konsoli debugowania z php
- 5. Używanie niestandardowej konsoli do debugowania aplikacji konsoli programu Visual Studio
- 6. Czy można pisać aplikacje konsoli w schemacie?
- 7. Jak korzystać z konsoli console.log() do debugowania rozszerzenia Chrome?
- 8. tryb debugowania do rejestrowania poleceń w konsoli wysublimowanej
- 9. Zapisywanie komunikatów konsoli do debugowania w pliku nightwatch.js
- 10. Jak pisać tekst cyrylicą podczas korzystania z formatu debugowania?
- 11. VB6 do konwersji VB.net
- 12. Jak pisać do pliku w Ruby?
- 13. Jak pisać do pliku w .NET Core?
- 14. Jak pisać do pamięci w programie Ext.js
- 15. Jednoczesne uruchamianie konsoli instrumentów i debugowania
- 16. Kątomierz: wypisuje znalezione właściwości elementu w konsoli podczas debugowania
- 17. Jak pisać GUI w Pythonie?
- 18. Jak pisać równania w html?
- 19. Java FileWriter, jak pisać do następnej linii
- 20. C# jak poprawnie pisać do .dbf (foxpro)
- 21. Jak pisać do obiektu odpowiedzi HttpServletResponse?
- 22. Zdalne debugowanie w VB6
- 23. Jak pisać czytelny JavaScript
- 24. Dane wejściowe konsoli PHPstorm nie działają podczas sesji debugowania
- 25. jak pisać oczekiwane awarie?
- 26. Trasa debugowania dostarczona do routeProvider
- 27. jak do debugowania js w jsfiddle
- 28. Jak śledzić program do debugowania w OCaml?
- 29. Jak pisać do pliku w Unicode w Vb.Net
- 30. Jak pisać wyniki z testu jednostkowego?
Dzięki. Tego właśnie potrzebowałem. – CodeBlue