• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Как сформировать строку с выражениями

  • Автор темы Дайнеко
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Д

Дайнеко

Переискал функции 8-ки, а Шаблона() нетуть! Никто не встречал?

А как-то надо решить задачу расшифровать текст. В 7-ке лихо так было:
Код:
ТекстШаблона = "Ваш долг [Сумма] [Валюта]."
ТекстПримечания = Шаблон(ТекстШаблона);

Подскажите, А?
 
U

unknown181538

Никогда не пользовал в 7-ке. А что должно сделаться?

В данном случае можно просто сложить.
И, как я понял, шаблон в чем-то схож с Выполнить() и Вычислить().
 
M

Mirage

Такого нет ничего - но что то простое можно запросто написать.
 
Д

Дайнеко

Я так и думал! Нет, я точно знал!
Что мне предложат слепить выражение через плюсики и намекнут, что я не читал про Вычислить() и Формат(). (Выполнить() чуть не стой оперы).

unknown181538! Спасибо за реакцию, но проблема глубжее: я не знаю в момент написания программы, какой текст надо сформировать. Он достается из недр параметров программы (например, в константе, я еще писал во внешнем файле).

Один клиент мне говорит: я набрал сумму, а пусть программа в документе напишет:
"Пож. заплатите долг 500 руб.". Я пишу в константе: "Пож. заплатите долг [Сумма] [Валюта]." Где в скобках известные программе реквизиты документа или переменные.
А в другой базе будет текст: "[Клиент], зараза! Гони бабки [Сумма] и проценты на них [Сумма/100*Штраф]."

Вот так я решаю проблему генерации различных текстов не меняя программу.
 
U

unknown181538

А если СтрЗаменить как-нибудь скобки на кавычки и плюсики, а затем вычислить?
 
Д

Дайнеко

Да лишне заменять. Саму строку набирает программер-настройщик. Только что не в теле программы, в настройках. Поэтому просто будет набирать кавычками и плюсиками.

Я хотел убедится, что действительно есть такой регресс с функцией. Запись в старом виде намного нагляднее и проще, что даже в обычном модуле от лени писал фразы типа:
Заголовок = Шаблон("[ПарДанные.Клиент] ТН № [ПарДанные.НомерДок] от [ПарДанные.ДатаДок]");
Вывод = Шаблон("Npp1=[НомерСтроки]~Name1=[Сотрудник.Наименование] [Сотрудник.Имя] [Сотрудник.Отчество]~Nch1=[СокрП(Сотрудник.СчетКарт)]~Sum1=[Сумма]");
 
U

unknown181538

Можно создать функцию, и поместить в глобальный модуль.
Заголовок = Шаблон("[ПарДанные.Клиент] ТН № [ПарДанные.НомерДок] от [ПарДанные.ДатаДок]");
Вообще-то, действительно попроще писать, чем кучу кавычек. Надо взять на вооружение.
 
V

vbs

:) :) С плюсиками-то и кавычками покороче будет

Заголовок = Шаблон("[ПарДанные.Клиент] ТН № [ПарДанные.НомерДок] от [ПарДанные.ДатаДок]");

Заголовок = ПарДанные.Клиент+" ТН №"+ПарДанные.НомерДок+" от "+ПарДанные.ДатаДок;
 
Д

Дайнеко

А представьте, что иногда программирую вывод на печать текста договора. Там по всему тексту разбросано пяток цифр. И плюсиками лепить строки целых абзацев никак не радует.

А вообще, я удручен восьмеркой в отношении макетов печати. Писал об этом: https://codeby.net/threads/37922.html
А сегодня обнаружил, что понятие "Шаблон" совсем изничтожено как рудимент.
 
U

unknown181538

Да, создавать макеты часто более трудоемко.
Понятие шаблона в какой-то степени сохранилось в макете.

По поводу макетов слышал, что это сделано, чтобы ускорить вывод.
 
V

vbs

Дискуссия перевалила далеко за полночь. Неужели многие, подобно мне, не спят до пяти часов ? :)
 
U

unknown181538

Дискуссия перевалила далеко за полночь. Неужели многие, подобно мне, не спят до пяти часов ?
Ох... хорошо если до 5-ти.
Пытаюсь вылезти из периода, когда я ложился в 10 утра. Невесело)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!