Последняя версия DataExpress 3 beta от 7 декабря 2019 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

Запуск нескольких процедур.

Все о том как сделать что-то с помощью скриптов.
Аватара пользователя
SirWolf
Опытный
Сообщения: 262
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар
Благодарил (а): 6 раз
Поблагодарили: 18 раз

Запуск нескольких процедур.

Сообщение SirWolf » Вс май 21, 2017 9:06 pm

Код: Выделить всё

procedure  RefreshGal (Sender: TObject) ;

 var
  txtgal, zub, atxtgal:string;
  Flags: TReplaceFlags;
   begin
      begin
        Flags:= [ rfReplaceAll, rfIgnoreCase ];
        txtgal := self['Жалобы'];
        zub := self['НомерЗуба'];
        dxMemo1.clear
        atxtgal := stringreplace (txtgal,'XX',zub,Flags);
      end;
      dxMemo1.seltext := atxtgal
   end;


   GalobiRefreshBtn.Onclick :=@ RefreshGal;
   AnamRefreshBtn.Onclick :=@ RefreshAnam;
   ObOsRefreshBtn.Onclick :=@ RefreshObOs;
   ObRefreshBtn.Onclick :=@ RefreshOb;
   DsRefreshBtn.Onclick :=@ RefreshDs;
   LechRefreshBtn.Onclick :=@ Refreshl;
   


Есть кнопки которые запускают процедуры для замены текста в каждом из окон. Пример одной из них, остальные написаны по такому же принципу. Как прописать кнопку, что бы запускало сразу по-очереди все процедуры.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Запуск нескольких процедур.

Сообщение YurAnt » Вс май 21, 2017 9:13 pm

Создайте еще одну процедуру, положите в ее тело вызов нужных. Ее саму завяжите на кнопку.
Изображение

Аватара пользователя
SirWolf
Опытный
Сообщения: 262
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар
Благодарил (а): 6 раз
Поблагодарили: 18 раз

Re: Запуск нескольких процедур.

Сообщение SirWolf » Вс май 21, 2017 9:20 pm

Так и делаю, думал, может как то по другому можно.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Запуск нескольких процедур.

Сообщение YurAnt » Вс май 21, 2017 9:38 pm

Это единственный самый короткий путь.
Изображение

Аватара пользователя
SirWolf
Опытный
Сообщения: 262
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар
Благодарил (а): 6 раз
Поблагодарили: 18 раз

Re: Запуск нескольких процедур.

Сообщение SirWolf » Вс май 21, 2017 9:43 pm

Немного заморочился и сделал одну большую.

Код: Выделить всё

procedure  RefreshAll (Sender: TObject) ;
 var
  txtgal, zub, atxtgal, txtanam, atxtanam, txtobos, atxtobos, txtob, atxtob, txtds, atxtds, txtl, atxtl:string;
  Flags: TReplaceFlags;
begin   
   Flags:= [ rfReplaceAll, rfIgnoreCase ];
   txtgal := self['Жалобы'];
   zub := self['НомерЗуба'];
   dxMemo1.clear
   atxtgal := stringreplace (txtgal,'XX',zub,Flags);
   dxMemo1.seltext := atxtgal
   txtanam := self['Анамнез'];
   dxMemo2.clear
   atxtanam := stringreplace (txtanam ,'XX',zub,Flags);
   dxMemo2.seltext := atxtanam
   txtobos := self['Общий осмотр'];
   dxMemo3.clear
   atxtobos := stringreplace (txtobos ,'XX',zub,Flags);
   dxMemo3.seltext := atxtobos
   txtob := self['обьективно'];
   dxMemo4.clear
   atxtob := stringreplace (txtob ,'XX',zub,Flags);
   dxMemo4.seltext := atxtob
   txtds := self['Диагноз'];
   dxMemo5.clear
   atxtds := stringreplace (txtds ,'XX',zub,Flags);
   dxMemo5.seltext := atxtds
   txtl := self['Лечение'];
   dxMemo6.clear
   atxtl := stringreplace (txtl ,'XX',zub,Flags);
   dxMemo6.seltext := atxtl   
end;

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Запуск нескольких процедур.

Сообщение YurAnt » Вс май 21, 2017 10:27 pm

Только это и нужно было в итоге..? Или Вы просто продублировали?
Изображение