1 / 1 / 0
Регистрация: 30.06.2022
Сообщений: 58
|
|||||||||||
1 | |||||||||||
FastReport - ошибка MasterData1: Error in expression '': Expression expected27.06.2024, 23:56. Показов 1036. Ответов 16
Метки нет (Все метки)
Всем привет,
На форме текстовые компоненты TEdit, содержимое каждого TEdit присваивается в соответствующие Memo в отчёте, посредством переменных. Присваиваю переменной из отчёта, содержимое TEdit следующим образом:
В событие OnBeforePrint MasterData1 проверяю, если переменная пустая, то скрыть MasterData1:
п.с. Если поле Edit не пустое, то ошибки нет. Помогите исправить ошибку, или как корректно проверить пустая ли переменная. Заранее спасибо за помощь.
0
|
27.06.2024, 23:56 | |
Ответы с готовыми решениями:
16
ошибка: Expression expected but ')' found Ошибка: Expression expected but ')' found Ошибка Expression expected but 'BEGIN' found Что значит ошибка Constant expression expected? |
1 / 1 / 0
Регистрация: 30.06.2022
Сообщений: 58
|
||||||
28.06.2024, 09:33 [ТС] | 3 | |||||
Да, спасибо.
Пишу в скрипте FR, выдаёт ошибку:
Код
The following error(s) have occured: Script error at 8:61: Undeclared identifier: 'Edit1'
0
|
1 / 1 / 0
Регистрация: 30.06.2022
Сообщений: 58
|
|
28.06.2024, 09:52 [ТС] | 5 |
Если в отчёте, выбрать объект, у него есть события, и вот в событии OnBeforePrint я и пишу.
Там синтаксис схож с Pascal и Delphi.
0
|
3048 / 1668 / 656
Регистрация: 19.03.2019
Сообщений: 5,372
|
||||||
28.06.2024, 13:48 | 6 | |||||
Сообщение было отмечено DobryaKaktus как решение
Решение
Так ты не там пишешь!
вот там, где у тебя вместо этой строчки и напиши так:
1
|
1 / 1 / 0
Регистрация: 30.06.2022
Сообщений: 58
|
||||||
28.06.2024, 14:35 [ТС] | 7 | |||||
Понял, спасибо.
Если длина Edit1.Text равна 0, то присваиваем переменной ''. В самом отчёте проверяю переменную, на наличие в ней текста, если текста нет, то скрываю band MasterData1, но у меня появляется ошибка из первого поста. В самом MasterData1 лежат несколько Memo, один заголовок, второй получает текст из переменной. На видимость бэнда влияет тот Memo, который получает данные из Edit1, т.е. если он пустой, то и бэнд отображать не имеет смысла. Вот сам код в отчёте:
0
|
3048 / 1668 / 656
Регистрация: 19.03.2019
Сообщений: 5,372
|
||||||
01.07.2024, 14:11 | 8 | |||||
Тогда извини, с FastReport я много лет не имел дела.
Подозреваю, что нужно по другому структуру отчёта сделать. вот, например, если так сделаешь, будет ошибка или нет?
1
|
пофигист широкого профиля
4753 / 3190 / 860
Регистрация: 15.07.2013
Сообщений: 18,478
|
||||||
02.07.2024, 01:57 | 9 | |||||
Этот код не "в самом отчете". Это код в вашей программе. Которая знать ничего не знает о переменной в отчете.
Выкиньте на помойку ту самую пременную. Она вам не нужна.
Забудьте про скрипт FR. Вы ничего про него не знаете и ничего в нем не пишете. Да он вам и не нужен. Всё что вам нужно (по крайней мере на этом этапе) это код в Дельфи.
0
|
02.07.2024, 12:29 | 10 |
ну, в целом автор говорит именно о "коде в отчете" потому что речь про скрипты FR где и проверяются такие вещи
код Delphi тут ни при чем я давно имел дела с FR но отлаживался он очень неудобно и синтаксис именно выражений не самый очевидный 1. нужно сначала проверить вариант mr-Crocodile 2. если ошибка не пропала, то и искать ее надо не здесь. меня смущает именно слово Expression. А этот Expression может быть задан в любом компоненте, вроде и в бенде возможно вы там что-то ввели и сейчас оно пытается спарсить
2
|
пофигист широкого профиля
4753 / 3190 / 860
Регистрация: 15.07.2013
Сообщений: 18,478
|
|
03.07.2024, 00:49 | 11 |
Не уверен в этом. И не уверен нужно ли ТС что-то писать в скриптах FR.
В программе на Дельфи эти скрипты, имхо, не нужны. Всё уже сделано в VCL библиотеке FR.
0
|
пофигист широкого профиля
4753 / 3190 / 860
Регистрация: 15.07.2013
Сообщений: 18,478
|
||||||
04.07.2024, 01:11 | 13 | |||||
Ну а скрипты-то тут при чем?
Вот код явно из Дельфи программы:
Или вы имеете в виду что-то другое?
0
|
1 / 1 / 0
Регистрация: 30.06.2022
Сообщений: 58
|
|||||||||||
04.07.2024, 21:48 [ТС] | 15 | ||||||||||
Да, да, я это проверял, ошибок не было, бенд скрывался.
Возникновение ошибки устранил следующим образом, способом что Вы советовали, да и другими которыми я проверял, но с одним исключением: Вместо:
northener, Наверное отвечать нет смысла, тем более что krapotkin дал исчерпывающий ответ. mr-Crocodile, krapotkin, northener, D1973, большое спасибо за помощь.
1
|
пофигист широкого профиля
4753 / 3190 / 860
Регистрация: 15.07.2013
Сообщений: 18,478
|
|
05.07.2024, 01:36 | 16 |
Да. Был не прав.
Добавлено через 57 минут Хотя я по прежнему сомневаюсь в необходимости в Дельфи программе работать со скриптами FR.
0
|
3048 / 1668 / 656
Регистрация: 19.03.2019
Сообщений: 5,372
|
||||||
05.07.2024, 11:26 | 17 | |||||
Ну тогда проще выкинуть проверку и вместо IF ... else написать просто
0
|
05.07.2024, 11:26 | |
05.07.2024, 11:26 | |
Помогаю со студенческими работами здесь
17
Ошибка: E2029 Expression expected but 'BEGIN' found Ошибка: statement expected but expression of type 'integer' found Ошибка: Statement expected but expression of type "TBitBtn" found Вылазит ошибка "constant expression expected", не пойму в чем дело Вылазит ошибка "constant expression expected", не пойму в чем дело Constant expression expected Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |