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

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

Аватара для kotkovets

Ветеран


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

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


hb860
Код: Выделить весь код
FileOpen $0 
$INSTDIR\file.dat a  
IfErrors done  
FileRead $0 $1  
${WordReplace} $1 'gamedll "dlls\mp.dll"' 'gamedll dlls\newdll.dll' "+*" $R0  
FileWrite $0  $R0  
FileClose $0  
done:
В этом коде не заменяется строка, а дописывается.
команда FileRead в этом коде читает только первую строку...а вдруг искомая строка не первая?
команда FileWrite - не умеет перезаписывать строки, а только записывать!
A команда WriteIniStr умеет перезаписывать , но работает только с файлами имеющие структуру inf или ini файла
Код: Выделить весь код
 
!include "WordFunc.nsh"
!insertmacro WordReplace
OutFile Test.exe

Section ""
 WriteINIStr $EXEDIR\Test.ini Path Directory "%programfiles%"
 ReadINIStr $R0 $EXEDIR\Test.ini Path Directory
 ${WordReplace} $R0 "%programfiles%" "$PROGRAMFILES" "+" $R1
 WriteINIStr $EXEDIR\Test.ini Path Directory $R1
SectionEnd
Так, что сей способ не пригоден!

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Последний раз редактировалось kotkovets, 19-08-2010 в 19:36.


Отправлено: 09:17, 19-08-2010 | #621