Что нового

Горячая смена текста Label в окне GUI

Fanatmb

Новичок
Сообщения
59
Репутация
0
Здравствуйте!

Каким образом осуществить смену текста и цвета Label в определенном исходе.
Другими словами, проверяем подключение: если всё ОК - текст зеленый, если ОШИБКА - текст красный.

У меня почему текст накладывается.

Вторая проблема: как правильно реализовать проверку фтп-подключения.

Код:
$ftp_session = _FTP_Open("FTP-connect") ; открываем сессию
			If @error Then
				GUICtrlCreateLabel("Отсутвует связь", 40, 168, 215, 15, $SS_CENTER)
				GUICtrlSetColor(-1, 0xff0000)
			Else
				$ftp_server_ip = GUICtrlRead($FTPName) ; читаем адрес
				$ftp_session_connect = _FTP_Connect($ftp_session, $ftp_server_ip, $user_name, $user_pass, $connect_type) ; подключаемся
				If @error Then
			    GUICtrlCreateLabel("Ошибка! Проверьте настройки!", 40, 168, 215, 15, $SS_CENTER)
				GUICtrlSetColor(-1, 0xff0000)
				_FTP_Close($ftp_session)
			 Else
			    GUICtrlCreateLabel("Соединение установлено", 20, 168, 215, 15, $SS_CENTER)
				GUICtrlSetColor(-1, 0x009900)
				_FTP_Close($ftp_session)
 

ildar

Осваивающий
Сообщения
252
Репутация
30
Смущает
Код:
Else
                GUICtrlCreateLabel("Соединение установлено", 20, 168, 215, 15, $SS_CENTER) ; 20 а выше везде прописана координата 40
                GUICtrlSetColor(-1, 0x009900)
                _FTP_Close($ftp_session)
может поэтому наложение идет?
 
Автор
F

Fanatmb

Новичок
Сообщения
59
Репутация
0
Всё. Разобрался. Проблема была в большей степени в условных операторах.

Код:
$ftp_session = _FTP_Open("FTP-connect") ; открываем сессию
		 $ftp_server_ip = GUICtrlRead($FTPName) ; читаем адрес
		 $ftp_session_connect = _FTP_Connect($ftp_session, $ftp_server_ip, $user_name, $user_pass, $connect_type) ; подключаемся
		 If @error Then
			GUICtrlCreateLabel("Ошибка! Проверьте настройки!", 20, 168, 215, 15, $SS_CENTER)
			GUICtrlSetColor(-1, 0xff0000)
			_FTP_Close($ftp_session)
		 Else
		 GUICtrlCreateLabel("Соединение установлено", 20, 168, 215, 15, $SS_CENTER)
		 GUICtrlSetColor(-1, 0x009900)
		 _FTP_Close($ftp_session)
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Fanatmb,
Менять текст, цвет текста и фон можно примерно так.
Код:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>

Local $h_Gui, $i_Lbl, $i_Btn, $a_Lbl_Text_Color_BkColor[2][3] = [['Нет', 0xFF0000, 0x00FF00],['Есть', 0x0000FF, 0xFFFF00]], $i_Ftp

$h_Gui = GUICreate('Test', 200, 200)
$i_Lbl = GUICtrlCreateLabel('Нажимайте кнопку', 10, 10, 180, 20, BitOR($GUI_SS_DEFAULT_LABEL, $SS_CENTER, $SS_CENTERIMAGE))
$i_Btn = GUICtrlCreateButton('Нажимайте меня', 50, 50, 100, 50)
GUISetState()

While 1
	Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			Exit
		Case $i_Btn
			$i_Ftp = Not $i_Ftp
			GUICtrlSetData($i_Lbl, $a_Lbl_Text_Color_BkColor[$i_Ftp][0])
			GUICtrlSetColor($i_Lbl, $a_Lbl_Text_Color_BkColor[$i_Ftp][1])
			GUICtrlSetBkColor($i_Lbl, $a_Lbl_Text_Color_BkColor[$i_Ftp][2])
	EndSwitch
WEnd
Fanatmb [?]
Вторая проблема: как правильно реализовать проверку фтп-подключения.

Предупреждение За нарушение общих правил (пункт В.4):
Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.


С уважением, ваш Глобальный модератор.
 
Верх