Начальные условия:
-есть конфигурационный файл. Надо прочитать и сохранить некие значения из него перед переустановкой/модификацией продукта.
В моем случае файл находится в директории $TARGETDIR$\Client\.
1. Читаем весь файл в переменную ClientConfig c помощью команды Read from Text File:
Read from File: #READALL\$TARGETDIR$\Client\Flintfox Trade+ Studio 2009.exe.Config
Into Variable: ClientConfig
EOF Check in Variable: Result (необязательно, я использовала просто для отладки, прочитался ли до конца файл)
2. Распарсиваем строку. В моем случае искомая строка имеет вид:
http://Server_name:HttpPort/Flintfox/V2/Environment_name/FavouritesServiceНужно достать Server_name, HttpPort, Environment_name. Строка находится в середине файла.
Итак, Parse String:
String: переменная, в которой находится строка, не забыть знаки $$. Иначе будет восприниматься как буквальная строка.
Pattern or Position: буквальное вхождение в строке. Возможно работают переменные.
Variable for First Part: все, что остается до паттерна.
Variable for Second Part: все что после паттерна.
В скрипте эта команда выглядит так:
Parse String $ClientConfig$ into Variables ClientConfig and Server (Split at first occurrence of pattern)
В результате в переменой Server, которой присваивается вторая половина распарсиваемой строки, присваивается значение
Server_name:HttpPort/Flintfox/V2/Environment_name/FavouritesService и т.д.
Следующей командой делим оставшуюся в Server строку на Server и HttpPort:
Parse String $Server$ into Variables Server and HttpPort (Split at first occurrence of pattern)
В переменной Server остается правильное значение имени сервера. Далее аналогично делим HttpPort и Environment:
Parse String $HttpPort$ into Variables HttpPort and Environment (Split at first occurrence of pattern)
Parse String $Environment$ into Variables Environment and (Split at first occurrence of pattern)