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

Показать сообщение отдельно

Старожил


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

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


Выручайте, обнаружился мой косяк. Нужно еще одно условие к данной функции. Итак , вкратце. Отрезок функции такой
Код: Выделить весь код
Func _ConvertBarFile()
If GUICtrlRead($Edit1)='' Then
MsgBox(262144+48, "Ошибка", "В текстовом поле нет кода для конвертирования")
Return
EndIf
$Config = Int(IniRead($INICONV, 'Setting', 'Config', 1))
Local $sMenuHeader="M"
If $Config=1 Then
$sMenuHeader="MENUITEM"
EndIf
Local $sInStrCond="Wcmicons.dll"
    Local $sRead = GUICtrlRead($Edit1)
    Local $iCount = Int(_IniString_Read($sRead, 'Buttonbar', 'buttoncount', 0))

    Local $sItems = ''

    For $i = 1 To $iCount
        Dim $aItem[4] = _
            [ _
                _IniString_Read($sRead, 'Buttonbar', 'menu' & $i, ''), _ ;Menu
                _IniString_Read($sRead, 'Buttonbar', 'button' & $i, ''), _ ;Button
                _IniString_Read($sRead, 'Buttonbar', 'cmd' & $i, ''), _ ;Cmd
                _IniString_Read($sRead, 'Buttonbar', 'param' & $i, '') _ ;Param
            ]

        $sLine = $sMenuHeader & ' '

        For $j = 0 To 3
             If $j = 1 And StringInStr($aItem[$j], $sInStrCond) Then
                 $aItem[$j] = StringRegExpReplace($aItem[$j], '.*?(-?\d+)', '\1')
                 Endif
Идет проверка на условие наличия wcmicons.dll в строке и обрезается все, кроме номера иконки.
Если в строке нет wcmicons.dll , то строка должна браться полностью. Но есть проблема - в этом случае в конец строки надо добавить ",0" ( запятую с нулем, без кавычек)
Пробовал так, получается чепуха - он к номеру дописывает еще запятую с нулем
Код: Выделить весь код
For $j = 0 To 3
             If $j = 1 And StringInStr($aItem[$j], $sInStrCond) Then
                 $aItem[$j] = StringRegExpReplace($aItem[$j], '.*?(-?\d+)', '\1')
 Else
                $aItem[$j] = $aItem[$j]&",0"
            EndIf
В общем надо
-если строка с путем к файлу иконки содержит wcmicons.dll, то брать только номер иконки
-если эта же строка с путем не содержит wcmicons.dll, то брать путь полностью, дописывая ",0" в конце этой строки

Отправлено: 20:03, 04-10-2013 | #22