проблема в коде

dron-sdron-s Россия
отредактировано 22:01 Раздел: FastReport 4.0
Привет, всем кто меня знает и не знает :)
в общем косяк следующий, а именно в коде...
пишу элементарный код
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  if <frxDBDataset1."TELEFON"> = '' then
    nSer.Font.Style := nSer.Font.Style + [fsBold]                                                           
  else
    nSer.Font.Style := nSer.Font.Style - [fsBold]                   
end;
ну вываливается ошибка Invalid Variant Operation...
если Delphi такой код работает на ура...

Комментарии

  • отредактировано 22:01
    В скрипте нет set'ов.
    procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
    begin
      if <frxDBDataset1."TELEFON"> = '' then
        nSer.Font.Style := nSer.Font.Style + fsBold                                                          
      else
        nSer.Font.Style := nSer.Font.Style - fsBold                   
    end;
    
  • dron-sdron-s Россия
    отредактировано 22:01
    написал:
    В скрипте нет set'ов.
    и как быть
    допустим методом тыка допёр что надо вместо
      if <frxDBDataset1."TELEFON"> = '' then    
        nSer.Font.Style := nSer.Font.Style + fsBold
    
    писать
      if <frxDBDataset1."TELEFON"> = '' then    
        nSer.Font.Style :=  fsBold
    
    а как вернуть шриф в первоначальный вид (снять выделение)
    if <frxDBDataset1."TELEFON"> = '' then    
        nSer.Font.Style :=  fsBold
    else
        nSer.Font.Style :=  [] //так ошибка
    
  • отредактировано July 2007
    Memo1.Font.Style := Memo1.Font.Style + fsBold;
    
    Работатет....
    Memo1.Font.Style := 0;
    
    Сбрасывает ....
  • dron-sdron-s Россия
    отредактировано 22:01
    угу
    работает
    где есть описание всего этого дела по скрипту?
  • dron-sdron-s Россия
    отредактировано 22:01
    написал:
    Memo1.Font.Style := Memo1.Font.Style + fsBold;
    Работатет....
    в FR 4.0. это не работает...
  • отредактировано 22:01
    DRON написал: »
    в FR 4.0. это не работает...
    Проверил на 4.3, все работает...

    В документации к FS написано, что нет set'ов.
  • dron-sdron-s Россия
    отредактировано 22:01
    написал:
    Проверил на 4.3, все работает...
    я не проверял на 4.3, а на 4.0 точно не фурычит..
  • gpigpi
    отредактировано July 2007
    Тогда делай так: :)
    Memo1.Font.Style := (Memo1.Font.Style div (fsBold*2))*fsBold*2+(Memo1.Font.Style mod fsBold)+fsBold;
    
    или сделай пользовательские функции BIT_AND, BIT_XOR и используй их для включения/гашения свойств
    P.S. Ну что, получилось сделать композитный отчёт?
  • dron-sdron-s Россия
    отредактировано 22:01
    написал:
    Ну что, получилось сделать композитный отчёт?
    да, получилось...
    только я сделал малость по другому:
    я в MasterData выбрал frxDBDataSet
    потом разместил поля те что мненужны на этом бенде и всё... :)

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

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