Topic: Скрипт...
Здравствуйте Дмитрий!!!
Помогите пожайлуста объеденить эти два одинаковых по структуре скрипта...
procedure Form1_Button61_OnClick (Sender: string; var Cancel: boolean);
var
HTML : TStringList;
RegExp: TRegExp;
S,LIST,REZYLTAT: String;
i: integer;
d,n: integer;
begin
HTML := TStringList.Create;
RegExp := TRegExp.Create(Form1.Edit5.Text);
RegExp.InputString := (Form1.Memo1.Text);
if RegExp.Exec then
repeat
for i := 1 to RegExp.Match.Count-1 do
begin
if RegExp.Match[i]<>'' then
HTML.Add(RegExp.Match[i]);
end;
until not RegExp.ExecNext;
RegExp.Free;
//---------------------------------------------- ТЕГИ ---------------------------------------------------------------------------
begin
if HTML.Text <>'' then S:= HTML.Text;
S:= ReplaceStr(S, '"', '*'); // ОБЯЗАТЕЛЬНО..., иначе выдаёт ошибку при записи в ( Б.Д. )....
S:= ReplaceStr(S, Form1.Edit6.Text, Form1.Edit7.Text);
S:= ReplaceStr(S, Form1.Edit8.Text, Form1.Edit9.Text);
S:= ReplaceStr(S, Form1.Edit12.Text, Form1.Edit13.Text);
S:= ReplaceStr(S, Form1.Edit14.Text, Form1.Edit15.Text);
S:= ReplaceStr(S, Form1.Edit16.Text, Form1.Edit17.Text);
S:= ReplaceStr(S, Form1.Edit18.Text, Form1.Edit19.Text);
S:= ReplaceStr(S, Form1.Edit20.Text, Form1.Edit21.Text);
S:= ReplaceStr(S, Form1.Edit22.Text, Form1.Edit23.Text);
S:= ReplaceStr(S, Form1.Edit24.Text, Form1.Edit25.Text);
S:= ReplaceStr(S, Form1.Edit26.Text, Form1.Edit27.Text);
HTML.Free;
//-------------------------------------- нет пустых строчек --------------------------------------------------------------------
begin
if S <>'' then S:=Trim(S);
S := ReplaceStr(S,#13#10#13#10, #13#10);
S := ReplaceStr(S,#13#10#13#10, #13#10);
S := ReplaceStr(S,#13#10#13#10, #13#10);
//---------------------------------------------- ПЕРЕНОС С НОВОЙ СТРОЧКИ -------------------------------------------------------
begin
if S <>'' then S:=Trim(S);
S:= ReplaceStr(S, Form1.Edit28.Text, #13#10);
S:= ReplaceStr(S, Form1.Edit29.Text, #13#10);
S:= ReplaceStr(S, Form1.Edit30.Text, #13#10);
//-------------------------------------------------- ЕЩЁ РАЗ ТЕГИ ---------------------------------------------------------------
begin
if S <>'' then S:=Trim(S);
S:= ReplaceStr(S, Form1.Edit31.Text, Form1.Edit32.Text);
S:= ReplaceStr(S, Form1.Edit33.Text, Form1.Edit34.Text);
S:= ReplaceStr(S, Form1.Edit35.Text, Form1.Edit36.Text);
//--------------------------------------------- ЕЩЁ РАЗ нет пустых строчек -------------------------------------------------------
begin
if S <>'' then S:=Trim(S);
S := ReplaceStr(S,#13#10#13#10, #13#10);
S := ReplaceStr(S,#13#10#13#10, #13#10);
S := ReplaceStr(S,#13#10#13#10, #13#10);
//------------------------------- ВЫРАВНИВАЕМ В ПЕРЕМЕННОЙ << S >> ВСЁ ПО ЛЕВОМУ КРАЮ -------------------------------------------
begin
if S <>'' then S:=Trim(S);
//--------------------------------- какое значение...если данных << НЕТУ >> -----------------------------------------------------
begin
if S <>'' then // если данные есть
LIST :=(S) else LIST:= Form1.Edit37.Text; //какое значение...если данных НЕТ..
//--------------------------------- какое значение...если данные длиннее указанной длины --------------------------------
begin
n := trunc(Form1.Edit38.Value); // длинна строки постояная....( по умолчанию 10.000 символов )...
d :=Length(LIST); //длинна строки
if d > n then REZYLTAT:= (Form1.Edit39.Text) else REZYLTAT:=(LIST); // если длинна строки > 70 тогда ....
Form7.Memo1.Text:=(REZYLTAT);
Form1.Button62.Click ;
end;end;end;end;end;end;end;end;end;
и
procedure Form1_Button62_OnClick (Sender: string; var Cancel: boolean);
var
HTML_1 : TStringList;
RegExp_1: TRegExp;
S_1,LIST,REZYLTAT_1: String;
i_1: integer;
d_1,n_1: integer;
begin
HTML_1 := TStringList.Create;
RegExp_1 := TRegExp.Create(Form1.Edit41.Text);
RegExp_1.InputString := (Form1.Memo1.Text);
if RegExp_1.Exec then
repeat
for i := 1 to RegExp_1.Match.Count-1 do
begin
if RegExp_1.Match[i]<>'' then
HTML_1.Add(RegExp_1.Match[i]);
end;
until not RegExp_1.ExecNext;
RegExp_1.Free;
//---------------------------------------------- ТЕГИ ---------------------------------------------------------------------------
begin
if HTML_1.Text <>'' then S_1:= HTML_1.Text;
S_1:= ReplaceStr(S_1, '"', '*'); // ОБЯЗАТЕЛЬНО..., иначе выдаёт ошибку при записи в ( Б.Д. )....
S_1:= ReplaceStr(S_1, Form1.Edit42.Text, Form1.Edit43.Text);
S_1:= ReplaceStr(S_1, Form1.Edit44.Text, Form1.Edit45.Text);
S_1:= ReplaceStr(S_1, Form1.Edit46.Text, Form1.Edit47.Text);
S_1:= ReplaceStr(S_1, Form1.Edit48.Text, Form1.Edit49.Text);
S_1:= ReplaceStr(S_1, Form1.Edit50.Text, Form1.Edit51.Text);
S_1:= ReplaceStr(S_1, Form1.Edit52.Text, Form1.Edit53.Text);
S_1:= ReplaceStr(S_1, Form1.Edit54.Text, Form1.Edit55.Text);
S_1:= ReplaceStr(S_1, Form1.Edit56.Text, Form1.Edit57.Text);
S_1:= ReplaceStr(S_1, Form1.Edit58.Text, Form1.Edit59.Text);
S_1:= ReplaceStr(S_1, Form1.Edit60.Text, Form1.Edit61.Text);
HTML_1.Free;
//-------------------------------------- нет пустых строчек --------------------------------------------------------------------
begin
if S_1 <>'' then S_1:=Trim(S_1);
S_1 := ReplaceStr(S_1,#13#10#13#10, #13#10);
S_1 := ReplaceStr(S_1,#13#10#13#10, #13#10);
S_1 := ReplaceStr(S_1,#13#10#13#10, #13#10);
//---------------------------------------------- ПЕРЕНОС С НОВОЙ СТРОЧКИ -------------------------------------------------------
begin
if S_1 <>'' then S_1:=Trim(S_1);
S_1:= ReplaceStr(S_1, Form1.Edit62.Text, #13#10);
S_1:= ReplaceStr(S_1, Form1.Edit63.Text, #13#10);
S_1:= ReplaceStr(S_1, Form1.Edit64.Text, #13#10);
//-------------------------------------------------- ЕЩЁ РАЗ ТЕГИ ---------------------------------------------------------------
begin
if S_1 <>'' then S_1:=Trim(S_1);
S_1:= ReplaceStr(S_1, Form1.Edit65.Text, Form1.Edit66.Text);
S_1:= ReplaceStr(S_1, Form1.Edit67.Text, Form1.Edit68.Text);
S_1:= ReplaceStr(S_1, Form1.Edit69.Text, Form1.Edit70.Text);
//--------------------------------------------- ЕЩЁ РАЗ нет пустых строчек -------------------------------------------------------
begin
if S_1 <>'' then S_1:=Trim(S_1);
S_1 := ReplaceStr(S_1,#13#10#13#10, #13#10);
S_1 := ReplaceStr(S_1,#13#10#13#10, #13#10);
S_1 := ReplaceStr(S_1,#13#10#13#10, #13#10);
//------------------------------- ВЫРАВНИВАЕМ В ПЕРЕМЕННОЙ << S >> ВСЁ ПО ЛЕВОМУ КРАЮ -------------------------------------------
begin
if S_1 <>'' then S_1:=Trim(S_1);
//--------------------------------- какое значение...если данных << НЕТУ >> -----------------------------------------------------
begin
if S_1 <>'' then // если данные есть
LIST_1 :=(S) else LIST_1:= Form1.Edit71.Text; //какое значение...если данных НЕТ..
//--------------------------------- какое значение...если данные длиннее указанной длины -------------------------------
begin
n_1 := trunc(Form1.Edit72.Value); // длинна строки постояная....( по умолчанию 10.000 символов )...
d_1 :=Length(LIST_1); //длинна строки
if d_1 > n_1 then REZYLTAT_1:= (Form1.Edit73.Text) else REZYLTAT_1:=(LIST_1); // если длинна строки > 70 тогда ....
Form7.Memo2.Text:=(REZYLTAT_1);
Form1.Button63.Click ;
end;end;end;end;end;end;end;end;end;
- У меня проблемка, где правилно раставить <<begin>> и <<end>>
- и RegExp по хоже не уничтожает своё значения изо моих растоновок <<begin>> и <<end>>
при новом парсинге если он значения не нашёл, от подставляет предыдущее!!!
Помогите пожайлуста объеденить эти два одинаковых по структуре скрипта в один...