Ok, ich brauche eine Mini-Anwendung, die euere Mathe-Parser-Funktion nimmt und das Ergebnis in den Standart ausgabe Kanal schreibt, sodass ich die Ausgabe über eine Pipe abfangen kann.
Ich habe folgenden Code verwendet, in 100000 Modifizierungen, die funzen alle nicht! 'Beispiel : Konsolenaufruf
Private Declare Function SetConsoleMode Lib "kernel32" _
(ByVal hConsoleOutput As Long, dwMode As Long) As Long
Private Declare Function FreeConsole Lib "kernel32" () _
As Long
Private Declare Function GetStdHandle Lib "kernel32" _
(ByVal nStdHandle As Long) As Long
Private Declare Function WriteConsole Lib "kernel32" _
Alias "WriteConsoleA" (ByVal hConsoleOutput As Long, _
ByVal lpBuffer As Any, _
ByVal nNumberOfCharsToWrite As Long, _
lpNumberOfCharsWritten As Long, lpReserved As Any) _
As Long
Private Declare Function AllocConsole Lib "kernel32" () _
As Long
Private Declare Function ReadConsole Lib "kernel32" Alias _
"ReadConsoleA" (ByVal hConsoleInput As Long, _
ByVal lpBuffer As String, _
ByVal nNumberOfCharsToRead As Long, _
lpNumberOfCharsRead As Long, lpReserved As Any) As Long
Private Const STD_INPUT_HANDLE = -10&
Private Const STD_OUTPUT_HANDLE = -11&
Private Const STD_ERROR_HANDLE = -12&
Private Const ENABLE_LINE_INPUT = &H2
Private Const ENABLE_ECHO_INPUT = &H4
Private Const ENABLE_MOUSE_INPUT = &H10
Private Const ENABLE_PROCESSED_INPUT = &H1
Private Const ENABLE_WINDOW_INPUT = &H8
Private Const ENABLE_PROCESSED_OUTPUT = &H1
Private Const ENABLE_WRAP_AT_EOL_OUTPUT = &H2
Sub Main()
Dim strAusgabe As String
Dim lngHEingabe As Long
Dim lngHAusgabe As Long
Dim lngHFehler As Long
Dim strEingabeCount As String * 255
AllocConsole
lngHEingabe = GetStdHandle(STD_INPUT_HANDLE)
lngHAusgabe = GetStdHandle(STD_OUTPUT_HANDLE)
lngHFehler = GetStdHandle(STD_ERROR_HANDLE)
SetConsoleMode lngHEingabe, ENABLE_PROCESSED_INPUT
SetConsoleMode lngHAusgabe, ENABLE_PROCESSED_OUTPUT
strAusgabe = Mathe_Interpreter(Command) & vbCrLf
WriteConsole lngHAusgabe, strAusgabe, Len(strAusgabe), _
vbNull, vbNull
'Auf abschließendes Enter warten
ReadConsole lngHEingabe, strEingabeCount, _
Len(strEingabeCount), vbNull, vbNull
FreeConsole
End Sub Wie geht das?
Danke für eure Hilfe |