//Переменные окружения. Парсинг скрипта function fsiBase_Main_Script_EnvVars_Prepare( scrText:TStrings; List_EnvVars:TStrings ):boolean; overload; //Переменные окружения. Парсинг скрипта function fsiBase_Main_Script_EnvVars_Prepare( sScript:string; List_EnvVars:TStrings ):string; overload; implementation function fsiBase_Main_Script_EnvVars_Prepare( scrText:TStrings; List_EnvVars:TStrings ):boolean; //Переменные окружения. Парсинг скрипта // scrText - текст скрипта (TStrings) // List_EnvVars - список значений преременных окружения begin Result:=false; if Assigned(scrText) then begin if scrText.Count>0 then begin Result:=true; if Assigned(List_EnvVars) then begin if List_EnvVars.Count>0 then begin scrText.Text := fsiBase_Main_Script_EnvVars_Prepare( scrText.Text, List_EnvVars ); end; end; end; end; end; function fsiBase_Main_Script_EnvVars_Prepare( sScript:string; List_EnvVars:TStrings ):string; //Переменные окружения. Парсинг скрипта // sScript - текст скрипта // List_EnvVars - список значений преременных окружения Var vn,vv:string; i:integer; begin Result:=''; if Assigned(List_EnvVars) then begin if List_EnvVars.Count>0 then begin Result:=sScript; i:=-1; while i<(List_EnvVars.Count-1) do begin i:=i+1; vn:=trim(List_EnvVars.Names[i]); if length(vn)>0 then begin vv:=trim(List_EnvVars.Values[vn]); if length(vv)>0 then begin Result:=Replace_In_String(Result, '$('+vn+')', vv, true); end; end; end; end; end; end;