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

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

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

Старожил


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


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

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


Всем привет! Вопрос - имем функцию записи в файл ини параметров с полей ввода
Код: Выделить весь код
Func _FileTheme()
$FileINI =@ScrptDir&'\Setting.ini'
$key1=guictrlread($vInput1)
$key2=guictrlread($vInput2)
$key3=guictrlread($vInput3)
$key4=guictrlread($vInput4)
$key5=guictrlread($vInput5)
$key6=guictrlread($vInput6)
$key7=guictrlread($vInput7)
$sData ="BkColor="&$key1 & @LF & "IconBkColor="& $key2 &@LF &"IconBkGrdColor="& $key3&@LF& "SelectBkColor="&$key4&@LF&"SelectRectColor="&$key5&@LF&"TextColor="&$key6&@LF &"SelectTextColor="&$key7
IniWriteSection($FileINI,"TEST",$sData)
EndFunc
Как уточнить скрипту, что если поле пустое, то и сам параметр не записывать? И вообще - как упрощать однотипные переменные и делать с ними действия все вместе? Например, все очистить

Отправлено: 00:16, 10-10-2013

 

Аватара для Creat0R

Must AutoIt


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

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


Код: Выделить весь код
Func _FileTheme()
    $FileINI = @ScriptDir & '\Setting.ini'

    $key1 = GUICtrlRead($vInput1)
    $key2 = GUICtrlRead($vInput2)
    $key3 = GUICtrlRead($vInput3)
    $key4 = GUICtrlRead($vInput4)
    $key5 = GUICtrlRead($vInput5)
    $key6 = GUICtrlRead($vInput6)
    $key7 = GUICtrlRead($vInput7)

    $aKeys = StringSplit('BkColor|IconBkColor|IconBkGrdColor|SelectBkColor|SelectRectColor|TextColor|SelectTextColor', '|')
    $sData = ''

    For $i = 1 To $aKeys[0]
        $sVal = Eval('key' & $i)

        If $sVal <> '' Then
            $sData &= $aKeys[$i] & '=' & $sVal & @LF
        EndIf
    Next

    IniWriteSection($FileINI, "TEST", $sData)
EndFunc
Цитата eus_deus:
как упрощать однотипные переменные и делать с ними действия все вместе? Например, все очистить »
Использовать массив, ну или через Eval/Assign (хотя для разборчивости и оптимизации массивы предпочтительнее).

Впрочем для примера в первом сообщении, я бы сделал так:

Код: Выделить весь код
Func _FileTheme()
    $FileINI = @ScriptDir & '\Setting.ini'

    $aKeys = StringSplit('BkColor|IconBkColor|IconBkGrdColor|SelectBkColor|SelectRectColor|TextColor|SelectTextColor', '|')
    $sData = ''

    For $i = 1 To $aKeys[0]
        $sVal = GUICtrlRead(Eval('vInput' & $i))

        If $sVal <> '' Then
            $sData &= $aKeys[$i] & '=' & $sVal & @LF
        EndIf
    Next

    IniWriteSection($FileINI, "TEST", $sData)
EndFunc

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

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

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

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

Отправлено: 00:32, 10-10-2013 | #2



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

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


Аватара для AZJIO

Старожил


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

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


Код: Выделить весь код
Func _FileTheme()
    $FileINI = @ScriptDir & '\Setting.ini'
    Local $sData
    $key1 = GUICtrlRead($vInput1)
    If $key1 Then $sData &= "BkColor=" & $key1 & @LF
    $key2 = GUICtrlRead($vInput2)
    If $key2 Then $sData &= "IconBkColor=" & $key2 & @LF
    $key3 = GUICtrlRead($vInput3)
    If $key3 Then $sData &= "IconBkGrdColor=" & $key3 & @LF
    $key4 = GUICtrlRead($vInput4)
    If $key4 Then $sData &= "SelectBkColor=" & $key4 & @LF
    $key5 = GUICtrlRead($vInput5)
    If $key5 Then $sData &= "SelectRectColor=" & $key5 & @LF
    $key6 = GUICtrlRead($vInput6)
    If $key6 Then $sData &= "TextColor=" & $key6 & @LF
    $key7 = GUICtrlRead($vInput7)
    If $key7 Then $sData &= "SelectTextColor=" & $key7 & @LF
    $sData = StringTrimLeft($sData, 1)
    IniWriteSection($FileINI, "TEST", $sData)
EndFunc   ;==>_FileTheme
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:58, 10-10-2013 | #3


Старожил


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

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


спасибо всем, ход мысли понял

Отправлено: 16:53, 11-10-2013 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
D-Link - [решено] Не правильная работа роутреа adm37 Сетевое оборудование 5 29-08-2012 15:38
Разное - [решено] работа с реестром: запись фразы в файл при открытии документа с нужным расширением GoodFella Microsoft Windows 2000/XP 2 08-12-2010 09:02
[решено] Помогите правильно сделать запись в ini файл. Anarasius AutoIt 5 23-04-2010 19:32
Интерфейс - Новый профиль и его не правильная работа abigo Microsoft Windows 7 1 21-02-2010 14:13
Правильная запись на flash драйвы united Накопители (SSD, HDD, USB Flash) 11 13-04-2007 12:09




 
Переход