Новый визард поиск и замена.

отредактировано 05:57 Раздел: FastReport 3.0
так как меня достало ручками править отчеты из 2.53.

сделал визард.

подципляете к проекту frx_BsReplace. Мастер появляется в дизайнере.
теперь нажмем на панели мастеров на мастер замену.
набираем текс который нужно заменить
нажмем поиск в левом столбце будут все объекты мемо где встречается
данный поиск.
Кликаем на панели слево. на имя объекта
с право будет текст. нажимает заметь. дальше все очень просто.

мастер кинул в ньюса бинарники.

Комментарии

  • отредактировано 05:57
    Чем не устроил стандартный Search&Replace?
  • отредактировано 05:57
    в визарде все списком и удобнее редактировать.
  • отредактировано 05:57
    Добавлено в визард
    поиск и замена пропертей.
    Stretch
    ShiftOver
    WordWrap
    WordBreak

    Очень погает после конвертации отчетов из 2.53.

    заменяет все списком сразу.
    с исходниками можете добавить другие которые вам нужны.
    мне пока хватает этих.
  • отредактировано 05:57
    Если открыть визард и потом просто закрыть по крестику, страница оказывается пустой, помогает переход на другую и обратно.
  • отредактировано October 2004
    А ты попробуй поставить в файле
    unit frx_BsReplace;

    function TfrxWizardReplace.Execute: Boolean;
    var
    Page: TfrxReportPage;
    begin
    Designer.Lock;
    FrmReplace := TFrmReplace.Create(self);
    FrmReplace.Wizard := Self;
    if FrmReplace.ShowModal = mrOk then
    Result := true;
    FrmReplace.Free;
    end;

    Ты столько увидишь багов.
  • отредактировано 05:57
    Убери эту строку
    Designer.Lock;
    и станет нормально. правда я не знаю где это может аукнуться.

    Странно что есть Lock, но отсутствует UnLock. Но это вопрос уже к автору.

    И еще я не понял как с помощью данного визарда, сделать массовую замену, например пробежаться по всем мемо и убрать DialogForm.
  • отредактировано October 2004
    Поиск в мемо делаешь у тебя получается список объектов.
    кликаешь в списке на объект у тебя в мемо текст появляется.
    жмешь кнопку над мемо.
    появляется диалог поиск и замена. жми найти
    находит .потом заменить. все на экране. в мемо
    потом ручками заменяешь скобки в функциях.
    и жмещь замент в фасте.

    в принципе можешь написать свою функцию.
    которая будет заменять во всех объетах. типа поиск и замена в текста в буфере.
    Replaces all occurrences of a substring with another string.
    Unit StrUtils
    function AnsiReplaceStr
    или
    StringReplace




    мне пока этого хватает.

    выстави в диалоговых комбобоксах итем индекс которые тебе нужны по умолчанию.
  • отредактировано 05:57
    вот можешь добавить кнопку

    procedure TFrmReplace.ButMemoReplaceAllClick(Sender: TObject);
    var
    I : Integer;
    s1 : String;
    begin
    if Trim(Ed_FindText.Text)='' then exit;

    for i:=0 to Lb_Controls.Items.Count-1 do
    begin
    Lb_Controls.ItemIndex := i;
    Lb_ControlsClick(Sender);
    s1:= AnsiReplaceText(Memo.Text, Ed_FindText.Text, Ed_ReplaceText.Text);
    // s1 := StringReplace(Memo.Text, Ed_FindText.Text, Ed_ReplaceText.Text,[rfReplaceAll, rfIgnoreCase]);
    Memo.Text := s1;
    ButMemoReplace.Click;
    end;

    end;
  • отредактировано 05:57
    За исключением того, что кнопки ButMemoReplace нет, а есть ButReplace, все работает замечательно.

    Спасибо.
  • отредактировано 05:57
    я ее переименовал
    на ButMemoReplace

    кнопка заменить в мемо
    раньше была кажется ButReplaceMemo
    посмотри рядом с крыжиком она
  • Stalker4Stalker4 123
    отредактировано 05:57
    Народ, не забывайте что в FR3, шаблоны отчетов не бинарные, а текстовые (XML). А это значмт что для поиска и замены в большинстве случаев подойдет любой текстовый редактор. Например можно использовать редактор FAR'а, для которого помимо стандартных возможностей поиска и замены есть куча куда более навороченных плагинов, которые к тому же поддерживают регулярные выражения.
  • отредактировано 05:57
    Если отчет лежит в Блоб
    тебе прийдется сохранить его в файл.
    потом найти заменить.
    и только тогда снова загрузить в Блоб.

    Не спорю что в фаре навороченей

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

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