На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> Поиск строки в Мемо
    есть компонент Мемо1 в нем имеется некоторый текст
    Как мне в этом Мемо1 организавать поиск средующей построки -####
    и если ее нет в Мемо1 то выдать сообщение об этом
      Memo.Text+pos
        Цитата Shaggy @
        Memo.Text+pos

        а можно пример или чуть поподробнее
          Если правильно понял тебя. Но эту процедуру я использовал для RichEdit

          ExpandedWrap disabled
            procedure TTextDoc.Stroka;
            VAR
            RLNum : LongInt;
            RKNum : LongInt;
            begin
            RLNum := RichEdit.Perform(EM_LINEFROMCHAR, RichEdit.SelStart, 0);
            RKNum := RichEdit.Perform(EM_LINEINDEX, RLNum, 0);
            StatusBar1.Panels[0].text := 'Ст '+IntToStr(RLNum+1)+'    Кол '+IntToStr((RichEdit.SelStart-RKNum)+1);
            end;
            Цитата olga90 @
            а можно пример или чуть поподробнее


            ExpandedWrap disabled
              if Pos('55', Memo1.Text)=0 then
                ShowMessage('Не найден текст "55"');


            Вместо '55' - подставь то, что тебе надо найти
            Сообщение отредактировано: Alex Wolf -
              Всем спасибо. :yes:
                а как мне удалить найденные символы
                т.е. нахожу так
                ExpandedWrap disabled
                  if Pos('55', Memo1.Text)=0 then
                  //нужно их удалить из Мемо1
                  SelStart, SelLength
                  SelText := ''
                  SelStart вернет Pos, SelLength=длина текста поиска
                  Pos() должен быть > 0
                    Цитата Anatoly Podgoretsky @
                    ExpandedWrap disabled
                      Pos() должен быть > 0

                    это конечно же так :yes: - я видать просмотрела :rolleyes:

                    так как удалить, я так и не поняла??? :huh:
                      ExpandedWrap disabled
                        ps:=Pos(substr, Memo1.Text);
                        if ps<>0 then
                          begin
                           st:=memo1.text;
                           delete(st,ps,length(substr));
                           memo1.text:=st;
                          end;
                         else
                          showmessage('Ошибка!');


                      ИМХО так элегантнее, и удалит все вхождения подстроки в строку...
                      ExpandedWrap disabled
                        memo1.text:=stringreplace(memo1.text,substr,'',[rfReplaceAll, rfIgnoreCase]);
                        Цитата Soul :) @
                        ExpandedWrap disabled
                          memo1.text:=stringreplace(memo1.text,substr,'',[rfReplaceAll, rfIgnoreCase]);

                        такой вариант для меня лучше, т.к. сразу удаляет из всех строк нужную подстроку
                        как тем временем первый вариант только первое найденное и нужно вызывать еще раз
                        Soul :), спасибо :yes:
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0380 ]   [ 16 queries used ]   [ Generated: 19.06.25, 19:11 GMT ]