![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как загнать в массив содержание текстового поля |
|
|
[решено] Как загнать в массив содержание текстового поля
|
Старожил Сообщения: 156 |
Привет! Снова я! Говорю сразу - по этому вопросу у меня нет ни строчки кода, это может быть и не массив. Постараюсь задачу обрисовать поподробнее. Итак, имеем текстовое поле с секциями и параметрами, наподобие файла ini.
Нужно - массовое изменение начала строк, вне зависимости от их количества. Пример поля [Section] Разделитель=!!! S А my_icons.dll!!!Image1 А my_icons.dll!!!Image2 А my_icons.dll!!!Image3 E 2.Буквы A ,E, S должны тоже меняться во всем поле на Action, end, и Sepup cсоответствнно. Мне в двух словах сказали, что надо все поле загонять в массив, и по циклу делать замену. Может, сказали неправильно |
|
Отправлено: 12:01, 04-09-2013 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Как то так:
#include <GUIConstantsEx.au3> $hGUI = GUICreate('Test Script', 300, 200) $iReplace_Bttn = GUICtrlCreateButton('Replace', 20, 10, 70, 20) $iEdit = GUICtrlCreateEdit(ClipGet(), 20, 40, 260, 140) GUISetState(@SW_SHOW, $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $iReplace_Bttn $sData = GUICtrlRead($iEdit) $sData = StringRegExpReplace($sData, '(?m)^A\b', 'Action') $sData = StringRegExpReplace($sData, '(?m)^E\b', 'End') $sData = StringRegExpReplace($sData, '(?m)^S\b', 'Setup') $sData = StringRegExpReplace($sData, '(?<!=)!!!', '=') ;Не понятно на что, и где менять GUICtrlSetData($iEdit, $sData) EndSwitch WEnd |
------- Отправлено: 17:47, 04-09-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать Creat0R, спасибо, попробую вечером у себя
|
Отправлено: 08:32, 05-09-2013 | #3 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать А кто подскажет доступный и понятный для чайников мануал по регулярным выражениям? Читал в справке - наверное, я тупой и не понял... Как их правильно строить? С чего начинать? Прошу прощения за оффтоп...
|
Отправлено: 14:25, 05-09-2013 | #4 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать eus_deus,
Почитайте эту тему Уроки по работе с Регулярными Выражениями (RegExp) |
|
Отправлено: 16:11, 05-09-2013 | #5 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать madmasles, хорошо, спасибо, посмотрю
|
Отправлено: 17:56, 05-09-2013 | #6 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать Creat0R, код помог почти во всем, кроме одного вопроса. Описываю насколько могу точно.
Цитата Creat0R:
Проблема в том, что там могут быть любые три символа, и в stringexpraplace надо передать именно переменную |
|
Отправлено: 18:13, 05-09-2013 | #7 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать Радовался, думал помогло. Итак, по воспросу, который я писал сообщением выше.Есть функция
Func _delim() $new_name=InputBox("Переименовать разделитель","Введите разделитель команды",""," M3",200,130) If @error Then Return IniWrite ($INICONV, "Setting", "Delimeters", $new_name) GUICtrlSetData($Input1,$new_name) $sData = GUICtrlRead($Edit2) $sData = StringRegExpReplace($sData, $Delimeters,$new_name ) GUICtrlSetData($Edit2,$sData) EndFunc |
Отправлено: 19:31, 05-09-2013 | #8 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата eus_deus:
$vTest = 'А my_icons.dll!!!Image1' & @CRLF & 'А my_icons.dll!!!Image2' $sDelimiters = '!!!' $sReplace = InputBox("Переименовать разделитель", "Введите разделитель команды", "", " M3", 200, 130) $sRet = StringReplace($vTest, $sDelimiters, $sReplace) ConsoleWrite($sRet & @LF) |
|
------- Отправлено: 00:25, 06-09-2013 | #9 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать Creat0R, при первом нажатии кнопки работает, как и мой код выше. Но при последующих нажатиях результата нет. Подозреваю, что mtrcn надо как то обновлять
|
Отправлено: 12:37, 06-09-2013 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Разбор строк из текстового поля | eus_deus | AutoIt | 24 | 28-08-2013 22:42 | |
как загнать имена всех "Подключение по локальной сети" в переменные ? | mitiya | Сетевые технологии | 10 | 30-06-2010 22:12 | |
как загнать в переменную ip арес компа ? | mitiya | Сетевые технологии | 19 | 08-06-2006 02:27 | |
JavaScript: вывод текста из текстового поля | Jekamajor | Вебмастеру | 5 | 10-08-2005 12:43 | |
Как увидеть из ASP7.3 содержание FAT32? | Asfr | Общий по Linux | 11 | 08-06-2003 20:54 |
|