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

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

Аватара для Creat0R

Must AutoIt


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

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


Цитата eus_deus:
почитал и понял, что неверно немного поставил задачу - записываемая и проверяемая строка не должна существовать и должна быть уникальной по имени в файле »
Так в чём проблема, выше я дал функцию которая проверяет в файле существование ini секции, если секция не существует, то и писать не нужно.

Если речь идёт о присвоении секции нового, уникального имени, то можно сделать так:

Код: Выделить весь код
$sFileName = @DesktopDir & '\Test.ini'
$sSectName = 'Prefs'

$sUniqueSectName = _IniSectGetUniqueName($sFileName, $sSectName)
MsgBox(64, 'Title', $sUniqueSectName) ;Это и будет новое (уникальное) имя несуществующей секции

Func _IniSectGetUniqueName($sIniFile, $sSectName, $sSep = '_')
    If Not FileExists($sIniFile) Then
        Return SetError(1, 0, $sSectName)
    EndIf

    Local $iC = 0
    Local $sOrigin_SectName = $sSectName
    Local $aSectNames = IniReadSectionNames($sIniFile)

    While 1
        For $i = 1 To UBound($aSectNames)-1
            If $aSectNames[$i] = $sSectName Then
                $iC += 1
                $sSectName = $sOrigin_SectName & $sSep & $iC
                ContinueLoop 2
            EndIf
        Next

        ExitLoop
    WEnd

    Return $sSectName
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:04, 09-09-2013 | #4