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

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

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

Старожил


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


Конфигурация

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


Всем привет!
В текстовом поле edit1 имеется текст вида
Код: Выделить весь код
1 строка
2 строка
3 строка
4 строка
5 строка
6 строка
7 строка
Нужна функция для кнопки button1, при нажатии на какую в текстовом поле edit2 получилась бы одна строка такого вида:
Код: Выделить весь код
M 5 строка#!#4 строка#!#2 строка#!#1 строка
И еще может понадобиться всесто всей третьей строки извлечение только ее части и вставка в код выше.
Спасибо за советы!

Отправлено: 19:14, 27-08-2013

 

Старожил


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

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


madmasles, мать моя женщина! Букву пропустил! Это наверное время позднее, надо заканчивать это дело!
Да, так ошибки нет, но и ожидаемого результата тоже

Отправлено: 21:22, 28-08-2013 | #21



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

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


Аватара для madmasles

Ветеран


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

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


eus_deus,
Можно примерно так.
Код: Выделить весь код
_Convert();($Edit1)

Func _Convert();($n_CtrlID)
    Local $s_Read, $a_Split, $s_Ico, $s_Delim = '#!#', $s_NewString = 'M '

    ;$s_Read = GUICtrlRead($n_CtrlID)
    $s_Read = 'String 1' & @CRLF & 'String 2' & @CRLF & 'String 3' & @CRLF & 'String 4,12345' & @CRLF & 'String 5' & @CRLF & 'String 6'
    $a_Split = StringSplit($s_Read, @CRLF, 1)
    If $a_Split[0] < 5 Then Return
    $s_Ico = StringRegExpReplace($a_Split[4], '^.*,', '')
    $s_NewString &= StringRegExpReplace($a_Split[5] & $s_Delim & $s_Ico & $s_Delim & $a_Split[2] & $s_Delim & $a_Split[3], $s_Delim & '$|\s+', '')
    ConsoleWrite($s_NewString & @LF)
    ;GUICtrlSetData($n_CtrlID, $s_NewString)
EndFunc   ;==>_Convert
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:45, 28-08-2013 | #22


Старожил


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

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


Вот так после правки. Работает
HTML код: Выделить весь код
Func _Convert() Local $s_Read, $s_Ico, $s_Delim = '#!#', $s_NewString = 'M ' $s_Read =StringSplit(GUICtrlRead($Edit1),@CRLF,1) If $s_Read[0] < 5 Then Return $s_Ico = StringRegExpReplace($s_Read[4], '^.*,', '') $s_NewString &= StringRegExpReplace($s_Read[5] & $s_Delim & $s_Ico & $s_Delim & $s_Read[2] & $s_Delim & $s_Read[3], $s_Delim & '$|\s+', '') ConsoleWrite($s_NewString & @LF) GUICtrlSetData($Edit2, $s_NewString) EndFunc

Хотя опять наткнулся на камень под водой. В строке, обозначеной переменной $sRead[5] не надо удалять пробелы, так как это подсказка, но в то же время последнее слово подсказки должно писаться слитно с остальной строкой. Пример после работы функции
HTML код: Выделить весь код
M Открытьвыделенныефайлы\папкивAIMP3#!#387#!#Programs\Players\AIMP3\AIMP3.exe#!#%P%S

а надо получить
HTML код: Выделить весь код
M Открыть выделенные файлы\папки в AIMP3#!#387#!#Programs\Players\AIMP3\AIMP3.exe#!#%P%S


Отправлено: 22:06, 28-08-2013 | #23


Аватара для madmasles

Ветеран


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

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


Код: Выделить весь код
$s_NewString &= $a_Split[5] & $s_Delim & StringRegExpReplace($s_Ico & $s_Delim & $a_Split[2] & $s_Delim & $a_Split[3], $s_Delim & '$|\s+', '')
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:38, 28-08-2013 | #24


Старожил


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

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


madmasles, все таки учусь)) был на правильном пути - пробовал так
Код: Выделить весь код
    GUICtrlSetData($Edit2, $sRead[5] & $s_NewString)
а надо было то же, но не в ту строку))

madmasles, в этой функции все. Теперь начну чудить форму для других параметров открытия и записи этих строк в файл. Но это уже совсем другая история. Тему считаю закрытой. Будут другие вопросы, другие темы

Отправлено: 22:42, 28-08-2013 | #25



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] из строк текстового файла нужно вырезать определенные символы alek2012 Скриптовые языки администрирования Windows 10 11-07-2012 16:54
CMD/BAT - Смена кодировки текстового файла, поиск строки и разбор значения profcom Скриптовые языки администрирования Windows 0 10-11-2011 20:20
CMD/BAT - Поиск и копирование нескольких строк из текстового файла. valen Скриптовые языки администрирования Windows 0 07-11-2011 17:27
CMD/BAT - [решено] Перенос и удаление строк из текстового файла sk8ter Скриптовые языки администрирования Windows 15 03-10-2010 19:35
JavaScript: вывод текста из текстового поля Jekamajor Вебмастеру 5 10-08-2005 12:43




 
Переход