26

(1 replies, posted in Russian)

Здравствуйте Дмитрий!!!
То что может WebBrowser-это ЧУДУ!!!
Вопрос: если способ прикрутить  << ProgressBar >>, чтобы было как по настоящему...::) и smile
Скромное желание видеть в каком процессе находитьтся загрузка страницы???

27

(8 replies, posted in Russian)

DriveSoft wrote:

Думаю да, когда будет время, попробую реализовать.

Простите Дмитрий...у Вас ещё не поивилось чуть-чуть свободного времяни???

28

(5 replies, posted in Russian)

DriveSoft wrote:

Я могу помочь только с конкретным вопросом.

Извените за назойливость...
Куда я только невстовлял свой любимый RegExp.Free; в конце скрипта(всеравно помнит своё значения...!!!
ВОПРОС-просьба:
Пожайлуста помогите объеденить(правильно записать)  два одинаковых по структуре скрипта в один скрипт...ПОСТ № 1

29

(5 replies, posted in Russian)

Дмитрий у меня их АЖ:

end;end;end;end;end;end;end;end;end;

подскажитете между какими???

30

(5 replies, posted in Russian)

ОК!!! Спасибочки ЗА ценную информацию!!!
Дмитрий, а подскажите в моём выше стоящем скрипте ПОСТ № 1...
RegExp по хоже не уничтожает своё значения изо моих растоновок <<begin>> и <<end>>
при новом парсинге если он значения не нашёл, от подставляет предыдущее!!!
Где его правильно расположить вот эту часть в скрипте:

until not RegExp.ExecNext;
         RegExp.Free;

31

(5 replies, posted in Russian)

Здравствуйте Дмитрий!!!
Помогите пожайлуста объеденить эти два одинаковых по структуре скрипта...

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>>
при новом парсинге если он значения не нашёл, от подставляет предыдущее!!!
Помогите пожайлуста объеденить эти два одинаковых по структуре скрипта в один...

32

(8 replies, posted in Russian)

Здравствуйте Дмитрий!!! Это замечательный пример!!!
Давайте пороссуждаем все вместе!!!
===========================================
Мы Все знаем, что при  ОГРОМНОЙ рассылке писем с одного адресса...можно попасть БАН!!!
Вопрос:
Дмитрий...к Вашему выше примеру есть возможность дописать...например:
- Создаём отдельную форму <<  мои емайлы >>, где есть грид
  его мы заполняем своими емайломи с которых будет идти рассылка писем!!!
- когда мы кликаем на << frmSendMail.Button1.Click  >>...происходит следущее
  письмо отправляется, но отправитель письма...на каждое отправления меняется
  по очереди из списка формы <<  мои емайлы >> .
P./S. если с нашего емайла произошла ошибка при очередном отправлении письма, то
ЛЮБУЮ СИСТЕМНУЮ ОШИБКУ ИГНОРИРОВАТЬ, заменяя на наше сообщение к примеру:
<< Произошла ошибка при отправлении письма с адресса << RZ-007@yandex.ru >>
далее...наш емайл << RZ-007@yandex.ru >> перемещается в чёрный список,
а отправка писем  продолжается так же используя из формы <<  мои емайлы >>по очерёдно
перебирать адресса отправителя......
Заранее извените...,если Вам не сложно...

33

(1 replies, posted in Russian)

Здравствуйте Дмитрий!!!
Так можно многое:

S := ReplaceStr(S,#13#10#13#10, #13#10);  //нет пустых строчек
S:= ReplaceStr(S, '12345', '54321');                  //замена одного на другое...

У меня в переменной текст:

  Всем хорошего,
     при хрошего
настроения!!!

Вопрос: Как выровнять текст в переменной " S " по левому краю...? т.е. надо так...

Всем хорошего,
при хрошего
настроения!!!

34

(11 replies, posted in Russian)

Извените а есть проект примера:
1)

выделить только какой либо один текст  Пост № 7

2) если в мемо есть такой ещё же текст, то по клику на битон "далее" в мемо покажет  его...
3) в лабере подсчитать сколько найдено повторов текста в мемо которого указали в поиске???

35

(16 replies, posted in Russian)

Здравствуйте Дмитрий!!!
1.)

      Form13.Edit4.SelectAll; //выбираем все
      Form13.Edit4.CopyToClipboard; //копируем в буфер

А как из буфера вставить в  Form1.Edit.Text:= ????????
2.) Не могли бы Вы взглянуть пост № 6...

36

(16 replies, posted in Russian)

Дмитрий доброго времени суток!!!
есть такой скрипт и он РАБОЧИЙ:

procedure Form7_OnShow (Sender: string; Action: string);
begin
       Timer := TTimer.Create(nil);
       Timer.Interval := 1000;     

       iTimer := 4;     //задаём время в сек...??????????????
       Timer.Enabled := True;     
       Timer.OnTimer := @OnTimer;  
end;

procedure OnTimer (Sender: TObject);
begin
    Form7.Label7.Caption := FormatDateTime('hh:nn:ss', iTimer/86400);
    Dec(iTimer);
    if iTimer < 0 then
    begin
        Timer.Enabled := False;
          end;
end;

Вопрос есть способ управлять  *** iTimer := 4;     //задаём время в сек...?????????????? ***
т.е в Edit1 втавили цифру и наш скрипт читает информацию из Edit1...???

37

(11 replies, posted in Russian)

Доброго времени суток!!!
Дмитрий подскажите скрипт или SQL-запрос для Memo1...если такое возможно:
Memo1 лежит на Form1...оно не привязано к таблице!!!
===============================================
В  Edit1 вводим нужное слово для поиска в Memo1....клик на Button1
а)  В Memo1 видем все найденые слова, если можно их как то все выделить(чтоб можно бало
     увидеть их нахождение в Memo1???
б) есть способ подсчитать найденый текст в Memo1 в результате поиска???

Дмитрий...3-4 дня у Вас спрашивал, кто-то из форумчан за проект:
Если способ отправлять почту по запланированной дате и времени...
Ваш ответ был: НЕТ, но постараюсь реализовать...
Вопрос:
У Вас было времечко на этот реализовать это...или я что то пропустил???

39

(16 replies, posted in Russian)

jean.brezhonek wrote:

RZ-007
Don't forget to close the second script with End; before sl.free;
JB

Да...Да конечно...!!!
СПАСИБО...!!!

40

(16 replies, posted in Russian)

СПАСИБОЧКИ!!!!

41

(2 replies, posted in Russian)

Это просто ЧУДО...СПАСИБО,,,!!!

42

(16 replies, posted in Russian)

Дмитрий...
Как сделать...,чтоб CheckBox1 запоминал своё значение МЫ знаем...
(кому интересно...можно посмотреть в моих темах...)
Как мемо запоминает свои данные при выходе и входе в прогу:

if FileExists('text-1.txt') then Form1.Memo1.Lines.LoadFromFile('text-1.txt'); //  АДРЕСА
Form1.Memo1.Lines.SaveToFile('text-1.txt'); //  АДРЕСА

ВОПРОС:
А можно точно такое же, как с Memo1, только для Edit...???
(P.S. в Edit постоянно данные меняются...)

43

(2 replies, posted in Russian)

Здравствуйте Дмитрий!!!
Есть такой скрипт...Собщение закрывается автоматически:

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    iResult: integer;
begin
    iResult := MessageDlgTimeOut('Текст', 'Название', MB_YESNO+MB_ICONSTOP, 2000); // авто-закр.2 сек 
    if iResult = IDTIMEOUT  then  ShowMessage('1-вариант ! ! !');
    if iResult = IDYES then             ShowMessage('2-вариант ! ! !');
    if iResult = IDNO then               ShowMessage('3-вариант ! ! !');
end;

Это работает на УРА...!!!........не принципиально..., НО.....
ВОПРОС:
а) при открытии Собщение звук как у "Error" (ухо режит) есть способ заменить на более приятный звук (как просто инфо)???
б) есть способ вставить свой звук (mp3)...???
с) есть способ вобще отключить звук при открытии этого сообщения "MessageDlgTimeOut"...???

44

(89 replies, posted in Russian)

Вау...даже лучше, чем я ожидал!!!
СПАСИБО...!!!...СПАСИБО...!!!...СПАСИБО...!!!

45

(89 replies, posted in Russian)

Здравсствуйте Дмитрий!!!
Использую такой скрипт:

 procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    i: integer;
     S : String;
begin

     i := Form1.TableGrid1.RowCount - 1;

   //считаем количество записей в Б/Д...
     S := VarToStr ( SQLExecute('SELECT count(id) FROM GIS ;') );

        if  S <>''   then

begin
      if MessageDlg('  ВЫВЕСТИ   ВСЕ   <<  ' + S + '  >>   ЗАПИСЕЙ ? ? ? '  , mtInformation, mbYes+mbNo, 0) = mrYes

then
begin  // (1-условие) если Да...делаем:

        Form2.Show;

 end else
begin  // (2-условие) если Нет...делаем:

         Form3.Show;
end;
end else
begin   // (3-условие) если....нажимаем на крестик в верхнем правом углу у <<MessageDlg>> ...,то
             //  фома <<MessageDlg>> просто закрылась не выполняя ни каких условий!!!

      Cancel := True;
end;
end;

Поскажите пожайлуста как поправить скрипт..., что бы выполнялось (3-условие) ???
А то на данный момент нажимая на крестик в верхнем правом углу у <<MessageDlg>>
выполняется (2-условие)...!!!

46

(32 replies, posted in Russian)

Дмитрий не могли бы Вы взглянуть пост выше № 31

47

(10 replies, posted in Russian)

ОК!!! СПАСИБО!!!

48

(10 replies, posted in Russian)

DriveSoft wrote:

RZ-007
К сожалению не понял вашего вопроса, опишите подробней.

Form7.Memo14.Lines.Add(ReplaceStr(RegExp13.Match[oi], '<STRONG><EM>', ''));
Form7.Memo14.Lines.Add(ReplaceStr(RegExp13.Match[oi], '<STRONG>', ''));
Form7.Memo14.Lines.Add(ReplaceStr(RegExp13.Match[oi], '<STR', ''));

Есть способ объяденить эти три строчки в одну...???

49

(14 replies, posted in FAQ)

Доброго времени суток Дмитрий!!!
При использования Regular expression имею:

++++++++++++++++++++++++++++++++++
Form1.Memo1.Lines.Add(RegExp.Match[i]);
========== 2 часть =================
         T :=Form1.Memo1.Text;
          if T <>''  then   // если данные есть   
          Telefon:= (T)    else Telefon :='НЕТ';
          Form1.Memo2.Text := Telefon;

Когда в Form1.Memo1 попадает реально <<число или текст аль символы >> , то вторая часть скрипта работает!!!
...НО когда благодаря Regular expression возвращае в Form1.Memo1 ничего из <<числа или текста аль символов >>...
то в МЕМО мы не чего не видим...получается в нём НЕТ значений...
(но если поставить курсор от мыши, то он будет находиться как бы на второй сточки в МЕМО,
хя значений в нём НЕТ!!!)...и тогда вторая часть НЕ РАБОТАЕТ!!!
Дмитрий подскажите как это можно вылечить???(может как то сделать проверку в переменной "T" на предмет
пустые строки...или есть ли числа или символы???)

50

(10 replies, posted in Russian)

Доброго времени суток!!!

Form7.Memo14.Lines.Add(ReplaceStr(RegExp13.Match[oi], '<STRONG><EM>'' or ''<STRONG>', ''));

Помогите правильно объеденить ('<STRONG><EM>'' or ''<STRONG>')....???