Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Разбить данные одной строки по полям формы

Ответить
Настройки темы
[решено] Разбить данные одной строки по полям формы

Пользователь


Сообщения: 74
Благодарности: 0

Профиль | Отправить 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>

как данные из строки разбить по соответствующим полям, фамилия отдельно, имя отдельно, и т.д. ?

например ввел строку - Фамилия Имя Отчество <login@server.ru> нажал кнопку, и заполнились поля формы.

Отправлено: 13:41, 18-09-2012

 

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить 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

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:16, 18-09-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


Сообщения: 74
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо!
А можно его немного исправить, чтобы адрес почты оставался без < > , и Фамилия Имя Отчество <login@server.ru> я мог вводит не в теле скрипта, а через GUICtrlCreateInput ?

Отправлено: 09:23, 19-09-2012 | #3


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата support23:
можно его немного исправить, чтобы адрес почты оставался без < > , и Фамилия Имя Отчество <login@server.ru> я мог вводит не в теле скрипта, а через GUICtrlCreateInput ? »
Код: Выделить весь код
#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

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:06, 19-09-2012 | #4


Пользователь


Сообщения: 74
Благодарности: 0

Профиль | Отправить PM | Цитировать


Большое спасибо! То что нужно!

Отправлено: 14:01, 19-09-2012 | #5


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата support23:
То что нужно! »
По решению проблемы тему принято отмечать решённой (вверху темы).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 15:18, 19-09-2012 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Разбить данные одной строки по полям формы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход