Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   findialog memo (https://forum.antichat.xyz/showthread.php?t=112932)

Sin3v 25.03.2009 12:56

findialog memo
 
У меня в Memo1 текст
Код:

РОССИЯ
Отправьте SMS сообщение
с текстом 40956 пробел 1224002 на номер 3649
Если SMS не отправляется на номер 3649, попробуйте отправить на 1171

Я ищу финддиалогом '40956 пробел' находит и выделает, Мне нужно чтобы например в Label1 записало строку мемо содержащий это слово '40956 пробел'.

spider-intruder 25.03.2009 13:37

Покажи мне того человека который учил писать тебя ТЗ - я его лично задушу собственными руками. Из того что ты написал непонятно НИХРЕНА! Давай поновой!

slesh 25.03.2009 17:51

стандартный пример из Delphi World + парочку строк отсебятины
Код:

var
 FSelPos: integer;


procedure TForm1.Button1Click(Sender: TObject);
begin
 FindDialog1.Execute;
end;

procedure TForm1.FindDialog1Find(Sender: TObject);
var
 S:string;
 startpos:integer;
 line:integer;
 x:integer;
begin
 with TFindDialog(Sender) do
  begin
  if FSelPos=0 then Options:=Options-[frFindNext];
  if frfindNext in Options then
    begin
    StartPos:=FSelPos+Length(Findtext);
    S:=Copy(Memo1.Lines.Text, StartPos, MaxInt);
    end
  else
    begin
    S:=Memo1.Lines.Text;
    StartPos:=1;
    end;
  FSelPos:=Pos(FindText, S);
  if FSelPos>0 then
    begin
    FSelPos:=FSelPos+StartPos-1;
    s:=memo1.Lines.Text;
    line:=1;
    for x:=1 to FSelPos-1 do if (s[x]=#13) and (s[x+1]=#10) then inc(line);
    label1.Caption:=inttostr(line)+': '+memo1.lines.Strings[line-1];
    Memo1.SelStart:=FSelPos-1;
    Memo1.SelLength:=Length(FindText);
    Memo1.SetFocus;
    end
  else
    begin
    if frfindNext in Options then S:=Concat('There are no further occurences of "', FindText,'" in Memo1.')
      else S:=Concat('Could not find "', FindText, '" in Memo1.');
    MessageDlg(S, mtError, [mbOK], 0);
    end;
  end;
end;


Sin3v 28.03.2009 23:45

Чето я тупанул(
можно сделать так, вот из текста:
Цитата:

РОССИЯ
Отправьте SMS сообщение
с текстом 40956 пробел 1224002 на номер 3649
Если SMS не отправляется на номер 3649, попробуйте отправить на 1171
нашел '40956 пробел' и добавить последующие 8 символов?
т.к. они генерируются и всегда разные показывают


Время: 22:16