|
#1
|
|||
|
|||
Генерация текста
Здравствуйте уважаемые посетители форума.
Вот сижу за компом и пытаюсь написать программу которая генерирует то, что написанно в Memo. А смысл такой: например создаеться описание в виде: Цитата:
Цитата:
|
#2
|
|||
|
|||
И в чем проблема? Ты должен разобрать строку, т.е. выделить все вариантные части (функции Pos, Copy). Потом разобрать сами вариантные части в массив (те же функции). Ну и теперь циклом по массиву и в шаблон подставляешь варианты из массива. Сложность возникает только в тот момент, когда у тебя кол-во вариантных частей становится свободным. Но и это вполне решаемо.
|
#3
|
|||
|
|||
в том то и дело не могу это реализовать
|
#4
|
||||
|
||||
Код:
procedure TForm1.Button1Click(Sender: TObject); var s, a, b, c : string; str : TStringList; i, t, p1, p2 : integer; begin memo2.Clear; str := TStringList.create; for i:=0 to memo1.Lines.Count-1 do begin s:=memo1.Lines.Strings[i]; // в memo1 загружены строки p1:=pos('{', s); p2:=pos('}', s); if (p1<>0) and (p2<>0) then begin a:=copy(s, 1, p1-1); c:=copy(s, p2+1, MaxInt); b:=copy(s, p1+1, p2-1-p1); str.text := stringReplace(b, '|', #13#10, [rfReplaceAll]); for t:=0 to str.Count-1 do memo2.Lines.Add(inttostr(t+1) + '. '+ a + str[t] + c); //в memo2 зугружаем готовые строки end; end; str.free end; Последний раз редактировалось pesi, 10.08.2009 в 14:26. |
#5
|
|||
|
|||
Цитата:
|