|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Разбить данные одной строки по полям формы |
|
[решено] Разбить данные одной строки по полям формы
|
Пользователь Сообщения: 74 |
Профиль | Отправить PM | Цитировать Доброго дня,
есть форма с полями: $pochta = GUICtrlCreateInput('', 15, 10, 185, 21) GUICtrlCreateLabel (" - Адрес почты", 210, 13) $login = GUICtrlCreateInput('', 15, 40, 185, 21) GUICtrlCreateLabel (" - Логин", 210, 43) $surname = GUICtrlCreateInput('', 15, 70, 185, 21) GUICtrlCreateLabel (" - Фамилия", 210, 70) $name = GUICtrlCreateInput('', 15, 100, 185, 21) GUICtrlCreateLabel (" - Имя", 210, 100) $first = GUICtrlCreateInput('', 15, 135, 185, 21) GUICtrlCreateLabel (" - Отчество", 210, 135) как данные из строки разбить по соответствующим полям, фамилия отдельно, имя отдельно, и т.д. ? например ввел строку - Фамилия Имя Отчество <login@server.ru> нажал кнопку, и заполнились поля формы. |
|
Отправлено: 13:41, 18-09-2012 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата support23:
#include <GUIConstantsEx.au3> $hGUI = GUICreate('Test Script', 300, 300) $pochta = GUICtrlCreateInput('', 15, 10, 185, 21) GUICtrlCreateLabel(" - Адрес почты", 210, 13) $login = GUICtrlCreateInput('', 15, 40, 185, 21) GUICtrlCreateLabel(" - Логин", 210, 43) $surname = GUICtrlCreateInput('', 15, 70, 185, 21) GUICtrlCreateLabel(" - Фамилия", 210, 70) $name = GUICtrlCreateInput('', 15, 100, 185, 21) GUICtrlCreateLabel(" - Имя", 210, 100) $first = GUICtrlCreateInput('', 15, 135, 185, 21) GUICtrlCreateLabel(" - Отчество", 210, 135) $iFill_Bttn = GUICtrlCreateButton('Заполнить', 15, 270, 70, 20) GUISetState(@SW_SHOW, $hGUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $iFill_Bttn $sLine = 'Фамилия Имя Отчество <login@server.ru>' $aInputs = StringSplit($sLine, ' ') $sLogin = StringRegExpReplace($sLine, '.*?<(.*?)@.*', '\1') GUICtrlSetData($pochta, $aInputs[4]) GUICtrlSetData($login, $sLogin) GUICtrlSetData($surname, $aInputs[1]) GUICtrlSetData($name, $aInputs[2]) GUICtrlSetData($first, $aInputs[3]) EndSwitch WEnd |
|
------- Отправлено: 17:16, 18-09-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 74
|
Профиль | Отправить PM | Цитировать Спасибо!
А можно его немного исправить, чтобы адрес почты оставался без < > , и Фамилия Имя Отчество <login@server.ru> я мог вводит не в теле скрипта, а через GUICtrlCreateInput ? |
Отправлено: 09:23, 19-09-2012 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата support23:
#include <GUIConstantsEx.au3> $hGUI = GUICreate('Test Script', 300, 300) $iPochta_Input = GUICtrlCreateInput('', 15, 10, 185, 21) GUICtrlCreateLabel(" - Адрес почты", 210, 13) $iLogin_Input = GUICtrlCreateInput('', 15, 40, 185, 21) GUICtrlCreateLabel(" - Логин", 210, 43) $iSurName_Input = GUICtrlCreateInput('', 15, 70, 185, 21) GUICtrlCreateLabel(" - Фамилия", 210, 70) $iName_Input = GUICtrlCreateInput('', 15, 100, 185, 21) GUICtrlCreateLabel(" - Имя", 210, 100) $iFirst_Input = GUICtrlCreateInput('', 15, 135, 185, 21) GUICtrlCreateLabel(" - Отчество", 210, 135) $iData_Input = GUICtrlCreateInput('Фамилия Имя Отчество <login@server.ru>', 15, 220, 185, 21) GUICtrlCreateLabel(" - Данные", 210, 220) $iFill_Bttn = GUICtrlCreateButton('Заполнить', 15, 270, 70, 20) GUISetState(@SW_SHOW, $hGUI) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $iFill_Bttn $sLine = GUICtrlRead($iData_Input) $aInputs = StringSplit($sLine, ' ') $sLogin = StringRegExpReplace($sLine, '.*?<(.*?)@.*', '\1') GUICtrlSetData($iPochta_Input, StringRegExpReplace($aInputs[4], '^<|>$', '')) GUICtrlSetData($iLogin_Input, $sLogin) GUICtrlSetData($iSurName_Input, $aInputs[1]) GUICtrlSetData($iName_Input, $aInputs[2]) GUICtrlSetData($iFirst_Input, $aInputs[3]) EndSwitch WEnd |
|
------- Отправлено: 12:06, 19-09-2012 | #4 |
Пользователь Сообщения: 74
|
Профиль | Отправить PM | Цитировать Большое спасибо! То что нужно!
|
|
Отправлено: 14:01, 19-09-2012 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата support23:
|
|
------- Отправлено: 15:18, 19-09-2012 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2003/XP/2000 - MS Excel | Отделить данные разного характера в одной ячейке | Rubichek | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 26-04-2011 18:56 | |
.NET - обращение к полям веб-формы | Surround | Программирование и базы данных | 0 | 17-07-2010 13:11 | |
Как передать данные с HTML формы в PHP скрипт? | .ExeRun | Вебмастеру | 7 | 19-04-2010 02:31 | |
[решено] Как получить данные в скрипт из командной строки? | madmasles | AutoIt | 2 | 27-11-2009 15:50 | |
HDD - Seagate 7200.10. Невозможно восстановить данные ни одной из recovery утилит. | SanCho | Накопители (SSD, HDD, USB Flash) | 25 | 11-08-2007 19:29 |
|