Код:
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Programs\Players\AIMP3\AIMP3.exe
%COMMANDER_PATH%\Wcmicons.dll,387
AIMP3
0
-1Это код кнопки файлового менеджера Total commander/ Код нужно конвертировать в строку
Код:
Код: Выделить всё
MENUITEM AIMP3#!#387#!#%COMMANDER_PATH%\Programs\Players\AIMP3\AIMP3.exeС этим прекрасно справляется функция
Код:
Код: Выделить всё
Func _Convert()
Local $s_Read, $s_Ico, $s_NewString
$Config=IniRead ($INICONV, "Setting", "Config", 1)
$s_result=GUICtrlRead($Edit2)
GUICtrlSetData($Edit2,"")
Switch $Config
Case '1'
$s_NewString="MENUITEM "
Case '0'
$s_NewString="M "
EndSwitch
$s_Read =StringSplit(GUICtrlRead($Edit1),@CRLF,1)
If $s_Read[0] < 5 Then Return
If StringInStr ( $s_Read[4], "wcmicons.dll") then
$s_Ico = StringRegExpReplace($s_Read[4], '^.*,', '')
Else
$s_Ico=$s_Read[4]
Endif
$s_NewString &=$s_Read[5] & $Delimeters & $s_Ico&$Delimeters & $s_Read[2] & StringRegExpReplace( $Delimeters & $s_Read[3], $Delimeters & '$|\s+', '')
GUICtrlSetData($Edit2, $s_result&$s_NewString& @CRLF)
_GUICtrlEdit_Scroll($Edit2, $SB_SCROLLCARET )
GUICtrlSetData($Edit1, "")
EndFuncНо это все работает только для кода одной кнопки, а если их несколько, то как быть? Чтобы загнать 10 кнопок, нажать на кнопку, и на выходе получить 10 строк вида
Код:
Код: Выделить всё
MENUITEM ..................Подкинули начало функции
Код:
Код: Выделить всё
Func _Convert2()
$sSect='TOTALCMD#BAR#DATA'
$Edit1=StringReplace($Edit1,$sSect,'['&$sSect&']')
$aC=StringRegExp($Edit1,'(?m)^\[[^]\r\n]+\].*(?:[\r\n]+[^[\r\n][^\r\n]+)*', 3)
For $i=0 To UBound($aC)
MsgBox(4096, "Переменная ", "$aC =>" & $aC[$i] & "Строка MsgBox(4096, "Переменная ", "$aC =>" & $aC[$i] & "