|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Связать memo с текстом между тегами (html)
Хочу написать программу каторая бы облегчила жизнь HTML'щиков(и самому просто для себя).Суть:
Допустим есть Html-страница(index.html) с таким содержанием: Код:
<html> <title>Главная тестовая</title> <body> ТЕСТОВАЯ СТРАНИЦА </body> </html> и есть оболочка программы(скрин во вложении screen.jpg) для нее действует код(пока что знаю,то написал): Код:
procedure TForm1.Button2Click(Sender: TObject); begin opendialog1.execute; Memo1.lines.loadfromfile(opendialog1.FileName); end; end. цель:Нужно чтобы введя в memo2 любой текст(и нажав Button1 "изменить содержание страницы" этот текст направлялся в область между тегами <body> Текст из Memo2 </body> были мысли насчет assignfile... вопрос : как мне реализовать это?обясните пожалуста,исходники бы очень помогли=)непинайте в гугл)) решив даннуюзадачу я аналогично построю все и для <title> текст </title> Заранее Спасибо откликувшимся на мой долговременно нерешаемый вопрос! Последний раз редактировалось Acid_Burn123, 17.10.2011 в 20:34. |
#2
|
||||
|
||||
если текст из Memo заместит текст body "ТЕСТОВАЯ СТРАНИЦА" из открытого файла, как собственно и другие секции, то вообще зачем файл открывать?
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
я делал при помощи Format
PHP код:
PHP код:
есть ещё разные кайфовые шаблонизаторы, но это не delphi http://slim-lang.com/ Последний раз редактировалось Pyro, 18.10.2011 в 08:58. |
#4
|
||||
|
||||
Цитата:
в области все заменялось))) не могу реализовать |
#5
|
||||
|
||||
Pyro,если я правильно понел твой код,ты загружаеш в мемо css,созданный тобой файл css.txt затем его же сохраняеш в эту же папку токо с с расширением style.css?(просто содержимое css.txt переноситься в создаваемый программой файл style.css)если я праильно понел тебя то ты меня не понел=)
нужно чтобы заменялся текст между тегами <body>заменяемый текст</body> Последний раз редактировалось Acid_Burn123, 18.10.2011 в 09:45. |
#6
|
|||
|
|||
%s заменяется на значение строковых переменных
txt это шаблон PHP код:
|
#7
|
||||
|
||||
Цитата:
Pyro, не мог бы обяснить код?при вставке в button1 он меняет caption главной формы на <body><h1>123</h1></body> обьясните по порядку пожалуйста |
#8
|
||||
|
||||
Пробовал использовать :
Код:
Memo1.Text:=StringReplace(Memo1.Text,'ТЕСТОВАЯ СТРАНИЦА',Memo2.Text,[rfReplaceAll,rfIgnoreCase]); он после загрузки страницы в Memo1,берет из Memo1 текст "ТЕСТОВАЯ СТРАНИЦА" и изменяет его на текст введеный в memo2 но у меня в html документе могут встретиться похожие словосочетания.Например если я захочу заменить надпись на странице "ТЕСТОВАЯ СТРАНИЦА НЕ НАЙДЕНА!" и в memo2 введу "Страница Востановленна" то код найдет и заменит ТЕСТОВАЯ СТРАНИЦА!!!на выходе получаю вот что: СТРАНИЦА ВОССТАНОВЛЕННА НЕ НАЙДЕНА! как в таком случае быть?подскажите пожалуста |
#9
|
||||
|
||||
Пробовал использовать :
Код:
Memo1.Text:=StringReplace(Memo1.Text,'ТЕСТОВАЯ СТРАНИЦА',Memo2.Text,[rfReplaceAll,rfIgnoreCase]); он после загрузки страницы в Memo1,берет из Memo1 текст "ТЕСТОВАЯ СТРАНИЦА" и изменяет его на текст введеный в memo2 но у меня в html документе могут встретиться похожие словосочетания.Например если я захочу заменить надпись на странице "ТЕСТОВАЯ СТРАНИЦА НЕ НАЙДЕНА!" и в memo2 введу "Страница Востановленна" то код найдет и заменит ТЕСТОВАЯ СТРАНИЦА!!!на выходе получаю вот что: СТРАНИЦА ВОССТАНОВЛЕННА НЕ НАЙДЕНА! как в таком случае быть?подскажите пожалуста |
#10
|
||||
|
||||
Может быть хоть функция какая нибудь ??...тескт введеный в мемо должен занеститсь в область <body>текст набраный в мемо</body>
|
#11
|
|||
|
|||
можно скачать книгу по регулярным выражениям и освоить любой текстовый редактор, который умеет с ними обращаться
http://rubular.com/r/aaGsjVMsBm |
#12
|
||||
|
||||
там что то не все понятно=(
обьясни что это?о чем? |
#13
|
|||
|
|||
|
#14
|
|||
|
|||
А зачем нужно то? Почему нельзя открыть этот файл каким нибудь текстовым редактором и изменить? Как она облегчит жизнь?
Ну если уж так это сильно нужно то в теории можно это как то осуществить, например узнать положение тэга </body> через pos и перед ним вставить нужный тебе текст например с использованием copy, не думаю что это так сложно сделать.... но блин, зачем? |
#15
|
|||
|
|||
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var fel: TStringList; i: integer; code: string; begin fel:= TStringList.Create; fel.LoadFromFile('index.html'); i:= pos('</body>', fel.Text); code:= fel.Text; Insert(Memo1.Lines.Text+#13#10, code, i); fel.Text:=code; Memo1.Lines.Add(fel.Text); fel.SaveToFile('index.html'); fel.Clear; end; end. Код наверно не самый оптимальный, но работает чудесно. Касательно интерфейса не так как ты просил, но думаю разберешься. |