Что нового

как передать массив через TCPSend ?

mitiya

Новичок
Сообщения
75
Репутация
0
Не пойму можно ли передать массив с помощью TCPSend , там вроде есть binary, но ничего не приходит.

Или можно как-то конвертировать массив в строку, а потом обратно ?
 

Viktor1703

AutoIT Гуру
Сообщения
1,535
Репутация
413
Можно воспользоваться структурой, записываете данные в структуру, передаёте структуру, на принимающей части распаковываете структуру
 
Автор
M

mitiya

Новичок
Сообщения
75
Репутация
0
к сожалению _ArrayToString() переводит в строку только одномерный массив, а я мне нужно секцию из ini файла передать (
 

Astel064

Помог мой пост, ставь +!
Сообщения
276
Репутация
51
А если весь INI прочитать и передать его, а после (на машине-получателе) уже читать секцию?
 

Spyhunter

Знающий
Сообщения
56
Репутация
13
Вот так я набросал на скорую руку, думаю, работать может ;)

Код:
#include <Array.au3>

$sIniPath = @DesktopDir & '/1.ini'

$aArray = IniReadSection($sIniPath , '1')

$sString = _ArrayToStringEx($aArray)
MsgBox(0, 'Результат превращения массива в строку', 'Строка: ' & @CRLF & $sString)

$aArray = _StringToArray($sString)
_ArrayDisplay($aArray, 'Результат превращения строки в массив')


Func _ArrayToStringEx($aArray)
	Local $sResult

	For $i = 1 To $aArray[0][0]
		$sResult &= $aArray[$i][0] & '=' & $aArray[$i][1] & '|'
	Next

	$sResult = StringTrimRight($sResult, 1)

	Return $sResult
EndFunc   ;==>_ArrayToStringEx

Func _StringToArray($sString)
	$aArraySplit = StringSplit($sString, '|')

	Dim $aFinalArray[$aArraySplit[0] + 1][2]

	For $i = 1 To $aArraySplit[0]
		$aStringSplit = StringSplit($aArraySplit[$i], '=')
		$aFinalArray[$i][0] = $aStringSplit[1]
		$aFinalArray[$i][1] = $aStringSplit[2]
		$aFinalArray[0][0] = $i
	Next

	Return $aFinalArray
EndFunc   ;==>_StringToArray
 
Верх