|
|
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
Добрый вечер. Может кто сталкивался с такой проблемой не могу понять или я что то не так делаю или звезды не так сошлись. Задаю переменную для отчета FastReport Report.Variables['TxtConcl']:='''' + FConclusion.Text + ''''; FConclusion: TStringList - задается в обычном Memo и передается в функцию формирования отчета В отчете текст выводится в апострофах я не понимаю от куда они берутся пробовал удалять их при задании переменной тогда вылетает ошибка при формировании. И по моему в документации написано что переменные типа String задаются в двойных кавычках. При этом другие переменные в одну строку (без спец символов) выводятся нормально. Кто ни будь может посоветовать как от них избавиться и почему в обычной строке их нет а в строке с символами chr(10) + chr(13) появляются апострофы. Пример: '11111 222 333 ' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 17:42 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
SDima55> пробовал удалять их при задании переменной SDima55> тогда вылетает ошибка при формировании. Текст ошибки и тип переменной покажи. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 18:09 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
SDima55 И по моему в документации написано что переменные типа String задаются в двойных кавычках. При этом другие переменные в одну строку (без спец символов) выводятся нормально. ' Переменные отчета это выражения скрипта. Т.е. литералы в переменных указываться в соответствии с выбранным языком скрипта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 18:43 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Memo19: error in expression: Expression expected ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 18:54 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
_Den_Z_, язык скрипта PASCAL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 18:56 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
_Den_Z_, PascalScript ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 18:57 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам, Переменные в FastReport Variants я переменной присваиваю String в TStringList свойство Text возращает string ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 18:59 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
Что-то не припомню подобных проблем... Можно посмотреть в сторону события OnGetValue и там заполнять нужное значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 19:30 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
SDima55, Нужно формировать соответствующий языку строковый литерал. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. Либо, как уже предложили, вместо переменных отчета использовать событие OnGetValue . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 19:38 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
_Den_Z_, Это в скрипте рапорта функцию описывать или не посредственно в delphi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 19:51 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
_Den_Z_, Дело в том что раньше все проекты делал на ReportBuilder недавно перешел на FastReport мне просто интересно это зависит от чего в Memo строка типа String я ее присваиваю переменной Variant Report выводит апострофы но в других строках без спец символов не выводит? так и должно быть или чтото не так. Просто чтоб потом не задавь глупые вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 19:56 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
SDima55, Это код для Delphi. Если вызов делается в скрипте, то можно просто объявить переменную там же с типом String и использовать ее имя в выражении текстового поля [ИмяПеременнойСкрипта]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 19:58 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
SDima55, Я уже объяснил выше. Переменные отчета это выражения, которые содержат сприпт. Там должно быть либо выражение, либо литерал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 20:00 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
_Den_Z_, Просто если это нормально то тогда надо выносить в свойство MemoView потому что часто бывает когда пользователь вводит некий текст в Memo и его хотелось бы увидеть без доп. кавычек. Я же язык скрипта поставил pascal. А так два дня парусь и понять не могу либо лыжи не едут или я ****й ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 20:07 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
SDima55, Если передача параметра идет из кода приложения и хочется передавать именно через Report.Variables, то используйте функцию приведенную выше. Если список формируется в скрипте, то проще использовать переменную скрипта в выражении(пример прицепил). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 20:12 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
[quot _Den_Z_#22131503]SDima55, Нужно формировать соответствующий языку строковый литерал. [src delphi] 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; Это работает огромное спасибо. Т. е. я так понял String вводимый из Memo который может содержать спец символы необходимо прогонять через эту функцию. Еще раз спасибо. Всем удачи но два дня потеряных жалко. Весь мозг взорвал себе. Всем удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 20:17 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
_Den_Z_, Спасибо большое. Удачи. Я так понял функцию нужно делать глобальную. Пригодиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 20:23 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
SDima55, Просто все Report.Variables вычисляются как скрипт, т.е. там может быть вызов функции такой как Format или любой другой. Соответственно все значения должны быть в виде литералов скрипта, т.е. для паскаля: 11, 1.34, '123', '123'#13#10'123' (фактически как вы пишете строковый литерал в самой Delphi). Если вычисления выражений не нужны, то лучше использовать переменные скрипта или событие onGetValue. А функция просто формирует строковый литерал для паскаля ('123'#13#10'123'). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 20:27 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
_Den_Z_, Решить та поставленую задачу можно было но я посчитал сто через GetValue будет не совсем правильно. Но в целом я все понял. Еще огромное спасибо. Просто интересно в инете не наше по этой теме ничего или все такие умные или у некого такого небыло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 20:35 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
SDima55, Да еще вопрос я на другом форуме тоже задавал его. Но за день не ответил никто можно _Den_Z_ твой ответ вставить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 20:39 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
SDima55, Конечно, без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 20:53 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
_Den_Z_, Какой ужасный код, с точки оптимизации - которую вы пытались сделать TestBuild: 0.717718 BuildStringLiteral: 3.569232 Будь проще Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 21:05 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, Это тоже интересно т. к. отчет формируется достаточно долго много картинок но кроме него некто не от ветил поэтому ему большое спасибо а Вам спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 21:11 |
|
||
|
Fast Report - апострофы в переменных
|
|||
|---|---|---|---|
|
#18+
Няшик, ты снова напился. Это не PHP, это FastReport. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 21:12 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39956448&tid=2038333]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 477ms |

| 0 / 0 |
