Что нового

[Элементы GUI] Не убираются пробелы из GUICtrlCreateInput

rusreg79

Продвинутый
Сообщения
159
Репутация
57
Элемент GUICtrlCreateInput с настройкой GUICtrlCreateUpdown для хорошей читаемости разделяет число на группы по три цифры, тип вот так: 1 234 567 - добавляя пробелы между группами цифр.
Мне нужно такое строковое число взятое из Input преобразовать в значение int, но сначало надо убрать пробелы и средствами StringRegExpReplace и StringStripWS у меня это не выходит.
Как убрать из строки пробел?

Пример
Код:
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 235, 208, 192, 124)
$Input1 = GUICtrlCreateInput("999", 50, 40, 65, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY,$ES_NUMBER))
$Updown1 = GUICtrlCreateUpdown($Input1)
GUICtrlSetLimit(-1, 1000, 999)
$Label1 = GUICtrlCreateLabel("1000      Cтатичный эталон без пробелов", 20, 70, 3000, 20)
$Label2 = GUICtrlCreateLabel("", 20, 90, 300, 20)
$Label3 = GUICtrlCreateLabel("", 20, 110, 300, 20)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

		Case $Input1
			$inpt = GUICtrlRead($Input1)

			$inpt = StringStripWS ( $inpt, 8 )			;типа убираем пробелы из строки (способ 1)
			$inpt = StringRegExpReplace($inpt, " ", "")	;типа убираем пробелы из строки (способ 2)
			
			GUICtrlSetData($Label2, $inpt & @TAB &"Присутствует пробел в 1000")

			$inpt = Int($inpt);преобразуем строку в целое число
			GUICtrlSetData($Label3, $inpt & @TAB &"Преобразование в число")


	EndSwitch
WEnd



-------------------------------------------------------------------------------
Update
Оказывается надо удалять так называемый "неразрывный пробел" Alt+255
Решение:
Код:
$inpt = StringRegExpReplace($inpt , Chr(160), "")
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Можно было удалять все что не цифры
Код:
$inpt = StringRegExpReplace($inpt , '\D', "")
 
Верх