Что нового

вывод в гуи данных с txt

.me

Новичок
Сообщения
89
Репутация
0
Приветствую!
После пары ночей терзания и мучения "kodы" окончательно понял что таки что то не так делаю
Имеется программа для подключения к серверам клиентов, но не очень удобно искать в списке нужного юзера, постоянно шарясь в тхт, нашел Remote Desktop Plus, но и тут возникли трудности, постоянно вбивать данные и т.д, можно ли используя коду написать гуи с примерно таким функционалом:
Есть лист с данными формат IP:blum:ort:Support1;Password
необходимо в гуи вывести эти данны и при нажатии на определенную строку(те ип адрес) запускать программу RDP(Remote Desktop Plus)
rdp /v:IPADDRES:blum:ort /domain:helpdesk /u:Support1 /p:blum:assword
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Хочу уточнить:
У Вас есть файл .тхт со строками IP:blum:ort:Support1;Password, из этого файла нужно внести данные в ListBox с CheckBoxами для возможности выбора определённых строк, далее выбранные строки отправить в RDP, так ?
 
Автор
M

.me

Новичок
Сообщения
89
Репутация
0
ra4o
Да, серверов в обслуживании порядка 100 шт, не очень удобно постонно держать открытым тхт и искать нужный сервер, поэтому хотелось бы это автоматизировать
вы верно поняли, в гуи должно быть при открытии - весь лист серверов, например
127.0.0.1:3389:Support1;Password
127.0.0.2:3389:Support1;Password
127.0.0.3:3389:Support1;Password
в гуи при нажатии на определенную строчку(например 3) - подключатся к рдп соответственно с данными из 3 строчки
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Вот мой вариант - при запуске выбираете текстовый файл со своими данными, он заполнится в таблицу, далее при двойном клике левой кнопки мыши выбранная строка запустится в RDP. В корректности формирования параметров и в запуске RDP я не уверен, если что-то не так , то поправьте.
Код:
#include <GUIConstants.au3>
#include <GuiListView.au3>
#include <ListviewConstants.au3>

$hMain_GUI = GUICreate("", 540, 370) ; создаём окно
$ListView = GUICtrlCreateListView('IP|Port|Login|Password', 10, 10, 520, 350, $LVS_REPORT, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
$hListView = GUICtrlGetHandle($ListView)
;Устанавливаем ширину для каждой из колонок
_GUICtrlListView_SetColumnWidth($ListView, 0, 100)
_GUICtrlListView_SetColumnWidth($ListView, 1, 60)
_GUICtrlListView_SetColumnWidth($ListView, 2, 170)
_GUICtrlListView_SetColumnWidth($ListView, 3, 190)

GUISetState(@SW_SHOW) ; отображаем окно

$sTXT_File = FileOpenDialog('Выбрать txt файл с адресами серверов', @ScriptDir & '\', 'txt файлы (*.txt)', 1 + 2)
$aFile_Data = FileReadToArray($sTXT_File)
For $i = 0 To UBound($aFile_Data) - 1
	$sText = StringRegExpReplace($aFile_Data[$i], '[:;]', '|')
	GUICtrlCreateListViewItem($sText, $ListView)
Next

GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

While 1

	$msg1 = GUIGetMsg()
	Select
		Case $msg1 = $GUI_EVENT_CLOSE ;при закрытии окна-выход
			Exit

	EndSelect

WEnd

Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
	#forceref $hWnd, $iMsg, $wParam
	Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo

	$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
	$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
	$iCode = DllStructGetData($tNMHDR, "Code")
	Switch $hWndFrom
		Case $hListView
			Switch $iCode

				Case $NM_DBLCLK ; левый двойной клик мышкой по пункту
					$tInfo = DllStructCreate($tagNMITEMACTIVATE, $lParam)
					$IP = _GUICtrlListView_GetItemText($ListView, DllStructGetData($tInfo, "Index"), 0)
					$Port = _GUICtrlListView_GetItemText($ListView, DllStructGetData($tInfo, "Index"), 1)
					$Login = _GUICtrlListView_GetItemText($ListView, DllStructGetData($tInfo, "Index"), 2)
					$Password = _GUICtrlListView_GetItemText($ListView, DllStructGetData($tInfo, "Index"), 3)

					;Здесь в оформлении параметров и в запуске я не уверен, если не получится нужно поправить
					$Parameters = '/v:' & $IP & ':' & $Port & '  /domain:helpdesk /u:' & $Login & ' /p:' & $Password
					ShellExecute('rdp.exe', $Parameters)

			EndSwitch

	EndSwitch

EndFunc   ;==>WM_NOTIFY
 
Автор
M

.me

Новичок
Сообщения
89
Репутация
0
Да, все именно так как нужно, благодарю
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
.me
[info border=#0000ff float=left]Где ваш код, где попытки сделать что-нибудь, где место в скрипте в котором вы испытываете трудности?!
В следующий раз, темы такого плана буду закрывать.
package_old.gif
Есть "Стол заказов"[/info]
 
Верх