Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Delphi По данному натуральным значением переменной n вычислить: https://www.cyberforum.ru/ delphi-beginners/ thread88033.html
Доброй ночи, помогите пожалуйста реализовать вот такую программу. По данному натуральным значением переменной n вычислить:http://i.***********/i4/e3/0f/4be5c31cbc29eda4308e35c04e7d.jpeg
Delphi Имитировать на экране работу электронных часов
Здравствуйте, помогите реализовать программу. Имитировать на экране работу электронных часов.
Delphi Значки в ListView https://www.cyberforum.ru/ delphi-beginners/ thread88027.html
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ImgList; type TForm1 = class(TForm)
Delphi новый батон, каторый делает все пустые ечейки не активными https://www.cyberforum.ru/ delphi-beginners/ thread88025.html
я зделала несколько тестав (форм), на одному есть Combobox-сы, на другому Edit-ты, на третим RadioGroup-пы, мне нужно зделать так, штоб когда я нажимаю на Button, я перехадила на следующую форму, на каторый есть тест, и я могла оставить пустые ечейки и когда я возвращаюсь на предидущою форму, могла заполнять пустые ечейки, а заполненыэ не могла уже изменить. Помогите пожалуста!!! Спасибо и...
Delphi Создание программ (приложений)
Добрый вечер, я уже тут просил помоц по прога, но в универ сказали, что б они были приложениями, типо когда создаёшь: Файл->Новый->приложение я пытался переделать одну (вставлял begin и что дальше в кнопку, но выдавал ошибку) Помогите плиззз 1)Вычислить: y=2x, если 0<x<1;y=1, если 1<x<Пи; y=sinx, если x>Пи 2)Вычислять Y=(X+m) для m=1,2,3,…. до тех пор, пока Y<=100 3)Дана сторона...
Delphi Разделить несколько RadioButton на независимые группы Подскажите кто знает.. у меня тест, к каждому предложению (в лейблах) надо вибрать соответсвующий вариант из 4 RadioButton к каждому предложению, но у меня по-чемуто выберается только один RadioButton ко всему тесту.. Как зделать, чтобы они все били активними, и я могла вибрать RadioButton к каждому предложению.. procedure TForm11.BitBtn1Click(Sender: TObject); var i:integer; begin i:=0;... https://www.cyberforum.ru/ delphi-beginners/ thread88010.html
Delphi На сколько лет необходимо положить в банк сумму Х денежных единиц, чтобы получить сумму N денежных единиц (N> X) Здравствуйте помогите пожалуйста сделать эту задачу в которой нужно использовать цикли. На сколько лет необходимо положить в банк сумму Х денежных единиц, чтобы получить сумму N денежных единиц (N> X), если банк начисляет 20% годовых? https://www.cyberforum.ru/ delphi-beginners/ thread88000.html Delphi Составление программ с использованием операторов циклов
Задали сделать до завтра 3 задачи, помогите пожалуйста их реализовать 1. Имитировать на экране работу электронных часов. 2. На сколько лет необходимо положить в банк сумму Х денежных единиц, чтобы получить сумму N денежных единиц (N> X), если банк начисляет 20% годовых? 3. По данному натуральным значением переменной n вычислить:http://i.***********/i4/e3/0f/4be5c31cbc29eda4308e35c04e7d.jpeg
Delphi генератор чисел https://www.cyberforum.ru/ delphi-beginners/ thread87975.html
помогите пожалуйста! мне надо создать генератор чисел для рапределения бернули! что в моей програме не так??? я знаю что она считает и выводит график неправильно, вот только немогу понять как и что изменить чтоб он правильно считал! кидаю код програмы! если надо то кину и исходник!! var Form2: TForm2; n,m,q: Integer; pl,p1,c: Double; arr: array of Double; implementation ...
Delphi Заблокировать форму https://www.cyberforum.ru/ delphi-beginners/ thread87955.html
Здравствуйте!!!!!! Вопрос такой в DELPHI В Edit1 написан текст 'Form1' В Edit2 написан текст ''.Enabled'' В Edit3 написан текст 'False' В Edit4 написан текст 'Что угодно' Смысл такой если в Edit4 нет текста то Form1 блокируется.
Delphi Разработать программу которая обрабатывает элементы таблицы StringGrid по заданному условию.
Столбцы переставить в порядке возрастания количества содержащихся в них элементов, кратных заданному числу.
Delphi Как дать возможность узнать о своей программе? Представим себе что написали на наш взгляд довольно таки полезную программу а как сделать так чтобы о ней узнали? https://www.cyberforum.ru/ delphi-beginners/ thread87936.html
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 1
29.12.2015, 23:12 0

Переработка функции PosEx - Delphi - Ответ 8563855

29.12.2015, 23:12. Показов 6343. Ответов 2
Метки (Все метки)

Ответ

Здравствуйте форумчане. Я нашел функцию размножения статей по шаблону. Но как ее заставить работать под Delphi2010

Или подскажите вариант проще, чтоб обработка была вложенной конструкции типа

{{Моя |}Бабушка{| мне} {|очень }часто {рассказывала|говорила}|Бабушка {|очень }часто {рассказывала|говорила|вспоминала}|{Мой |} Дедушка{| мне} {{|очень }часто|постоянно} {рассказывал|говорил|вспоминал}}{ о том,|} {что|как} {мой прапрадед|брат моего пра- прадеда|отец моего прадеда} был {именитым|знаменитым|известным} {дворянином|боярином|человеком}. {Если честно|Честно говоря| Честно сказать|По правде говоря}, меня эти {истории|рассказы}{ очень| очень сильно| сильно|} {будоражили и интриговали| будоражили|интриговали}, {только|вот только} я {не знал|{|вообще }понятия не имел}, {как|каким образом} {можно|я могу} узнать {подробней|подробности} о своих {корнях|родственнках|предках}.


P/S...никак не получается заставить рекурсивно работать сей найденный код (((
Вот код
Код
(* Модуль uCloner для размножения текста по формулам  *)
(* 1. Выбор случайного {слово1|слово2}                *)
(* 2. Перемешивание [%слово1|слово2%]                 *)

unit uCloner;

INTERFACE

// размножение статей {такого|этого} вида и такого [%слово1|слово2|слово3%]
// {выбор случайного|} и [%перемешивание%]
function Cloner(S: string): string;

IMPLEMENTATION

uses
  Classes,{ AcedStrings,} Fun;

// размножение статей
function Cloner(S: string): string;
var
  i, j: Integer;
  SL: TStringList;
  Fraza, Slovo: string;
begin
  // случайный вариант из фигурных скобок {слово1|слово2|слово3} 
  i:= G_PosStr('{', S);
  while i>0 do begin
    j:= G_PosStr('}', S);
    // ищем правую пару, кол-во открывающих и закрывающих скобок д.б. одинаковым
    while G_CountOfChar(Copy(S, i+1, j-i-1), '{')<>G_CountOfChar(Copy(S, i+1, j-i-1), '}') do
      j:= G_PosStr('}', S, j+1);
    if j>0 then begin
      SL:= TStringList.Create;
      Fraza:= Copy(S, i+1, j-i-1); // выделяем {фразу для размножения}
      G_Delete(S, i, j-i+1);
      if G_PosStr('{', Fraza)>0 then // рекурсивно размножаем
        Fraza:= Cloner(Fraza);
      Fraza:= Fraza + '|';
      j:= G_PosStr('|', Fraza); // выбираем варианты|варианты
      // ищем правую пару, кол-во открывающих и закрывающих скобок д.б. одинаковым
      while G_CountOfChar(Copy(Fraza, 1, j), '[')<>G_CountOfChar(Copy(Fraza, 1, j), ']') do
        j:= G_PosStr('|', Fraza, j+1);
      while j>0 do begin
        Slovo:= Copy(Fraza, 1, j-1); // отдельный вариант
        G_Delete(Fraza, 1, j);
        {G_Trim(Slovo);}
        SL.Add(Slovo); // добавляем в список
        j:= G_PosStr('|', Fraza);
        // ищем правую пару, кол-во открывающих и закрывающих скобок д.б. одинаковым
        while G_CountOfChar(Copy(Fraza, 1, j), '[')<>G_CountOfChar(Copy(Fraza, 1, j), ']') do
          j:= G_PosStr('|', Fraza, j+1);
      end;
      j:= Random(SL.Count);
      // берём случайный вариант из списк
      Slovo:= SL[j];
      Insert(Slovo, S, i);
      SL.Free;
    end;
    i:= G_PosStr('{', S);
  end; // while i>0 do begin

  // перемешивание вариантов из скобок [%слово1|слово2|слово3%]
  i:= G_PosStr('[%', S);
  while i>0 do begin
    j:= G_PosStr('%]', S);
    // ищем правую пару, кол-во открывающих и закрывающих скобок д.б. одинаковым
    while CountOfString(Copy(S, i+1, j-i-1), '[%')<>CountOfString(Copy(S, i+1, j-i-1), '%]') do
      j:= G_PosStr('%]', S, j+1);
    if j>0 then begin
      SL:= TStringList.Create;
      Fraza:= Copy(S, i+2, j-i-2); // выделяем [%фразу для перемешивания%]
      G_Delete(S, i, j-i+2);
      if G_PosStr('[%', Fraza)>0 then // рекурсивно перемешиваем
        Fraza:= Cloner(Fraza);
      Fraza:= Fraza + '|';
      j:= G_PosStr('|', Fraza); // выбираем варианты|варианты
      while j>0 do begin
        Slovo:= Copy(Fraza, 1, j-1); // отдельный вариант
        G_Delete(Fraza, 1, j);
        SL.Add(Slovo); // добавляем в список
        j:= G_PosStr('|', Fraza);
      end;
      Slovo:= '';
      while SL.Count>0 do begin
        j:= Random(SL.Count);
        // добавляем случайный вариант из списка
        Slovo:= Slovo + SL[j];
        SL.Delete(j);
      end;

      Insert(Slovo, S, i);
      SL.Free;
    end;
    i:= G_PosStr('{', S);
  end; // while i>0 do begin

  Result:= S;
end;

END.


Вернуться к обсуждению:
Переработка функции PosEx Delphi
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2015, 23:12
Готовые ответы и решения:

Самописный PosEx vs StrUtils PosEx
Подскажите пожалуйста, кто разбирается, почему самописный PosEx работает в два! раза медленней, чем...

Ругается на PosEx
Ругается на PosEx. причем непонятно, этот код взял из базы кода. Успешно работает в других...

Работа с posEx
Доброго времени суток, программисты! Сколько дней ломаю голову и читаю, но не могу реализовать...

PosEx Парадокс какой-то
Вот имеется проц-ра; procedure TForm1.SecondAlgor(var S:String); var i:Integer; begin for i:=1...

2
29.12.2015, 23:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2015, 23:12
Помогаю со студенческими работами здесь

Поиск в Memo posEx
Здравствуйте всем! Помогите пожалуйста разобраться есть два мемо хочу автоматом из одного...

Как найти процедуру PosEx?
Доброго времени суток. У меня в модуле StrUtils нет процедуры PosEx. Может этот модуль можно где...

Delphi не понимает функцию PosEx
кто знает почему это, какие причины могут быть?

Pos,PosEx поиск подстроки в строке
Почему не ищет дальше в строке подходящие слова? есть текст: лол лол лол лол лол лол лооол...

Удалить каждое второе вхождение подстроки в строку, не используя Pos и Posex
Здравствуйте! Программа использует алгоритм Бойера-Мура, работает. Но при вводе строки из 'aaaaaa'...

Переработка joomla
Добрый вечер! Начал изучать открытый код конструктора сайтов joomla. И пришла в голову мысль, в...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru