Работа с переменными

отредактировано 05:50 Раздел: FastReport 3.0
Требуется разбивать каждую запись в базе данных по буквам и выводить каждую букву в отдельном компоненте Memo (текст).
N1 - это Memo (Просто поменял свойство name).
Я сделал так:

var s: String;
begin
s:=Memo34.Text;
N1.Text:=Copy(s,1,1);
N2.Text:=Copy(s,2,1);
N3.Text:=Copy(s,3,1);
...
end.

Пишет ошибку.
Если поставить вместо s постоянную строку 'Текст', то всё работает.
В чём ошибка? Помогите пожалуйста.

Комментарии

  • gpigpi
    отредактировано 05:50
    s:=Memo34.Text;
    
    нужно расположить в обработчике Memo34AfterPrint, а
    N1.Text:=Copy(s,1,1);
    
    - в соответствующих обработчиках N1BeforePrint
  • отредактировано 05:50
    Заводишь обработчик события:
    void Memo34OnAfterData(TfrxComponent Sender)
    {
      String s = Memo1.Text;
      N1.Text = s[1];
      N2.Text = s[2];
      N3.Text = s[3];
      N4.Text = s[4];
      N5.Text = s[5];
      N6.Text = s[6];
      N7.Text = s[7];
      //...
    }
    
    Переведу на Pascal:
    procedure m_pMasterDataOnAfterCalcHeight(Sender: TfrxComponent);
    var
      s: String;
    begin
      s := Memo1.Text;
      N1.Text := s[1];
      N2.Text := s[2];
      N3.Text := s[3];
      N4.Text := s[4];
      N5.Text := s[5];
      N6.Text := s[6];
      N7.Text := s[7];
    end;
    
    Так все работает.
    Но можно строчку заполнять не из Memo, а из базы или хранить ее в переменных FR...
  • отредактировано 05:50
    написал:
    Переведу на Pascal:
    Т.е.:
    procedure Memo34OnAfterData(Sender: TfrxComponent);
    var
      s: String;
    begin
      s := Memo34.Text;
      N1.Text := s[1];
      N2.Text := s[2];
      N3.Text := s[3];
      N4.Text := s[4];
      N5.Text := s[5];
      N6.Text := s[6];
      N7.Text := s[7];
    end;
    

    ;) Зашпарился с именами...

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

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