Что нового

Как в ini файле внести в раздел три одинаковых параметра с разными значениями

Автор
E

evgen_vasgen

Новичок
Сообщения
19
Репутация
0
gregaz
Скрипты удаляют не предыдущие записи, а очищают sandboxie.ini у меня полностью, сначала думал какой то глюк в проге, попробовал еще на рабочем компе. Так и есть файл чиститься полностью и прога создает его дефолный. Как только вернулся к самому первому варианту в этой теме, все нормально подставляется. Странно все это. :(
зы Файл sbiextra.dll у вас специально в тех скриптах два раза указан или просто недогляд?
А то что то и так голова кругом идет от мудрых построений!


Добавлено:
Сообщение автоматически объединено:

DarWiM
Попробовал использовать Ваш "простой скрипт"
Код:
$sData = 'InjectDll='&@ScriptDir & '\app\sandboxie\BSA\sbiextra.dll' & @LF & _
         'InjectDll='&@ScriptDir & '\app\sandboxie\BSA\antidel.dll' & @LF & _
         'InjectDll='&@ScriptDir & '\app\sandboxie\BSA\lapi.dll'
IniWriteSection($Config , "BSA", $sData)

Значения то он подставил, но взамен он мне вынес весь раздел [BSA]! Его никак нельзя творчески переделать, чтобы оставлял все имеющиеся параметры?
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
evgen_vasgen [?]
Так и есть файл чиститься полностью и прога создает его дефолный

Может стоит отделить "мух" от "котлет".
У тебя все предложенные варианты не проходят.
Ты проверь без проги создание, добавление и .т.д.

А затем выявишь в чемотличие при работе проги.

Я свой вариант проверял :создается, читается, добавляется, ничего не сносит.
(Кстати все остальные предложенные - тоже)

evgen_vasgen [?]
Файл sbiextra.dll у вас специально в тех скриптах два раза указан или просто недогляд?
Недогляд : взят из чьего-то варианта



Добавлено:
Сообщение автоматически объединено:

Вопрос в теме какой ?
Разве стоит вопрос работоспособности неизвестной проги?
Может она контролирует постороннее вмешательство ?
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
evgen_vasgen [?]
Его никак нельзя творчески переделать, чтобы оставлял все имеющиеся параметры?
Можно, всё можно..

Так и быть, предлагаю в последний раз..
Код:
; Автор, а где же смекалка, свойственная русскому народу?))

$sIni = @DesktopDir & "\AutoIt-Test.ini"

$sData = IniReadSection_String($sIni, "BSA") & @LF & _
		 "InjectDll=С:\Sandboxie\app\sandboxie\sbiextra.dll" & @LF & _
         "InjectDll=С:\Sandboxie\app\sandboxie\antidel.dll" & @LF & _
         "InjectDll=С:\Sandboxie\app\sandboxie\lapi.dll"
IniWriteSection($sIni, "BSA", $sData)

Func IniReadSection_String($_sIni, $_sSection)
	$_aData = IniReadSection($_sIni, $_sSection)

	If Not IsArray($_aData) Then Return ''

	Local $_sOutString=''

	For $i=1 To $_aData[0][0]
		$_sOutString&=$_aData[$i][0]&'='&$_aData[$i][1]
		If $i<>$_aData[0][0] Then $_sOutString&=@LF
	Next

	Return $_sOutString
EndFunc

Ничего не затирает, просто добавляет в конец новые строки. Если есть фантазия, то можно придумать как некоторые строки удалять таким образом
 
Автор
E

evgen_vasgen

Новичок
Сообщения
19
Репутация
0
gregaz
Ваши скрипты нормально все отрабатывают на черновике, но в рабочей среде с моим скриптом, что то не идет. Причины я не знаю, но Вам в любом случае спасибо. Постороннего вмешательства быть не должно, программа и Sandboxie и Buster Sandbox Analyzer чистые, они как раз для вирей созданы.

DarWiM
С Вашим вариантом все замечательно работает, ух и поднапряг мозги мне этот скриптик. :scratch:
Фантазия и смекалка проявились бы еслиб за плечами хоть физмат был. А когда твои познания языков ограничиваются школьным бэйсиком, то тут приходиться полагаться на помощь зала.
Спасибо всем, тему зыкрываю. :IL_AutoIt_1:
 
Верх