SpinTax

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

K_NoW

VIP

K_NoW

VIP
3 Июн 2016
514
195
Не знаю зачем я это запостил, мб кому пригодится.

В общем что такое спинтакс, это такая лабуда которая генерит уникальный текст из шаблона.

Ну например,
Код:
{Привет|Здравствуйте}
после обработки парсером спинтакс, будет одно слово либо Привет либо Здравствуйте.

Полезно для всяких рассыльщиков.

Вот класс для Delphi (писал в XE3) на 7-дьмой не заработает.

Код:
unit SpinTax;

interface

uses
SysUtils,StrUtils,RegularExpressions,Types;

{ SpinTax }

type
  TSpinTax = class(TObject)
  private
class function Evaluator(const Match: TMatch): string;
  protected

public
class function SpinTax(input: string): string;
published
end;

type
St = TSpinTax;

implementation

class function TSpinTax.Evaluator(const Match: TMatch): string;
var
list: TStringDynArray;
begin
list :=SplitString(Copy(Match.Value,2,length(Match.Value)-2),'|');
Randomize;
result :=List[Random(length(list))]
end;

class function TSpinTax.SpinTax(input:string):string;
var
RegExp:TRegEx;
ev:TMatchEvaluator;
begin
ev := Evaluator;
RegExp :=TRegEx.Create('\{(.*?)\}');
if not RegExp.IsMatch(input) then begin
  result :=input;
  exit;
end;
result := RegExp.Replace(input,Evaluator);
end;

end.
Юзаем так:

Код:
Uses
...,SpinTax;

....

begin
memo1.text :=St.SpinTax(memo2.text);
 

О нас

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

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя