Noobs Enslaver
Новичок
- Сообщения
- 10
- Репутация
- 0
Здравствуйте, такая вот проблема - нашел я у вас здесь решение первой части моей большой проблемы - обмен данными через командную строку:
так вот, подскажите плз как сделать чтобы считанная инфа уходила не в поток вывода, а вся в одной переменной собиралась для дальнейшего анализа, а то там сначала пустые строки появляются,что очень мешает, а я не могу никакие сравнения над строками провести адекватные? И еще - можно ли конвертировать полученную таким путём информацию из текстового вида в число (я передавать то собственно и собираюсь числа) ? Подскажите плз а то я уже всё перепробовал (
Код:
#include <Constants.au3>
Global $sStdOut = ""
Global $sStdErr = ""
DOS("1.exe")
Func DOS($iCommand,$iKey = "")
$Process = Run(@ComSpec & " /c " & $iCommand & $iKey, @SystemDir, @SW_HIDE, $STDOUT_CHILD)
While 1
$sStdOut = StdoutRead($Process) & @CRLF
If @error Then ExitLoop
$sStdOut = StringReplace($sStdOut, @CRLF, "")
$sStdOut = StringReplace($sStdOut, @CR & @CR, @CR)
$sStdOut = OemToChar($sStdOut)
ConsoleWrite($sStdOut)
WEnd
EndFunc
Func OemToChar($szSrc)
Local $placeholder
For $i = 0 To StringLen($szSrc)
$placeholder &= " "
Next
Local $lRetVal = DllCall("user32.dll", "long", "OemToChar", "str", $szSrc, "str", $placeholder)
If IsArray($lRetVal) And $lRetVal[0] = 1 Then
Return SetError(0, 0, $lRetVal[2])
EndIf
Return SetError(1, 0, "")
EndFunc
так вот, подскажите плз как сделать чтобы считанная инфа уходила не в поток вывода, а вся в одной переменной собиралась для дальнейшего анализа, а то там сначала пустые строки появляются,что очень мешает, а я не могу никакие сравнения над строками провести адекватные? И еще - можно ли конвертировать полученную таким путём информацию из текстового вида в число (я передавать то собственно и собираюсь числа) ? Подскажите плз а то я уже всё перепробовал (