frxMemoView

отредактировано May 2020 Раздел: FastReport VCL

Люди добрые подскажите, задаю переменную для отчета 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, то используйте функцию приведенную выше.


    Если список формируется в скрипте, то проще использовать переменную скрипта в выражении(пример прицепил).

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.