![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Хочу написать программу каторая бы облегчила жизнь 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.Код наверно не самый оптимальный, но работает чудесно. Касательно интерфейса не так как ты просил, но думаю разберешься. |