frxMemoView
Люди добрые подскажите, задаю переменную для отчета ReportCmp.Variables['TxtConcl']:='''' + FConclusion.Text + '''';
FConclusion: TStringList - задается в обычном Memo
В отчете текст выводится в апострофах, как их убрать?
Пример:
'11111
222
333
'
Комментарии
всем спасибо подсказал _Den_Z
function BuildStringLiteral(List: TStrings): String; const sLineBreak = '#13#10'; var i, Sz, Len: Integer; begin if List.Count = 0 then begin Result := ''''+''''; Exit; end; Sz := 0; for i := 0 to List.Count - 1 do Inc(Sz, Length(List[i]) + 8); Dec(Sz, 6); SetLength(Result, Sz); Sz := 1; for i := 0 to List.Count - 1 do begin Result[Sz] := ''''; Len := Length(List[i]); CopyMemory(@Result[Sz + 1], @List[i][1], Len * SizeOf(Char)); Inc(Sz, Len + 2); Result[Sz - 1] := ''''; if i < List.Count - 1 then CopyMemory(@Result[Sz], @sLineBreak[1], Length(sLineBreak) * SizeOf(Char)); Inc(Sz, 6); end; end; ... begin frxReport.Variables.Variables['Var1'] := BuildStringLiteral(s); end;Если передача параметра идет из кода приложения и хочется передавать именно через Report.Variables, то используйте функцию приведенную выше.
Если список формируется в скрипте, то проще использовать переменную скрипта в выражении(пример прицепил).