Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];

Вниз

Копировать из мемо   Найти похожие ветки 

 
dennis   (2009-06-20 02:51) [0]

у меня есть мемо где много много текста.....и мне надо скопировать оттуда текст начиная с слова -начало- и до слова -конец-.....вот этот отрезок мне надо скопировать.....причем сами эти слова начало и конец))не надо))брать)подскажите пожалуйста как это сделать))
заранее спасибо


 
Игорь Шевченко ©   (2009-06-20 03:08) [1]

...сами мы не местные...

RTFM: TMemo.Lines.Text


 
Германн ©   (2009-06-20 03:17) [2]


> Игорь Шевченко ©   (20.06.09 03:08) [1]
>
> ...сами мы не местные...
>

:)

> dennis   (20.06.09 02:51)  

Это !учебное задание" или ... ?


 
dennis   (2009-06-20 09:58) [3]

да почему сразу учебное?
я прочитал руководство.....толком не нашел.....


 
dennis   (2009-06-20 10:23) [4]

Злые вы)))ну вот конкретнее на чем я застопился)))
var
ToFind: string; // сктрока что я ищу
FindIn: string; // где я ищу
Found: integer; // результат поиска
FoundLen: integer; //длинна текста что я нашел
st:string;
begin
ToFind := Label1.Caption; //поисковый запрос
FindIn := Memo1.Text;//сообсвтенно сам текст
FoundLen := Length(Label1.Caption);
Found := Pos(AnsiUpperCase(ToFind), AnsiUpperCase(FindIn));
IF Found > 0 then
begin
Memo1.SelStart:= Found-1;
Memo1.SelLength := 20;
edit1.Text := memo1.SelText;
end;

все бы ничего только.....в лабел я закидываю слово -начало- он находит его в мемо добовляю + 20 символов и он копирует...все это дело в эдит....проблема в том что у мя там всегда может быть различное кол-во симвлов(((как мне сделать атк что б он строго брал до слова -конец-


 
Anatoly Podgoretsky ©   (2009-06-20 10:34) [5]

Видимо ищешь только слово "-начало-", попробуй найти позицию и второго слова.


 
dennis   (2009-06-20 11:05) [6]

проблема вот в этом и есть что  я и незнаю как найти позицию второго слова(((


 
{RASkov} ©   (2009-06-20 11:19) [7]

> [6] dennis   (20.06.09 11:05)

Так же как и первое. Pos()-Length(-конец-) Еще есть PosEx но эт не для этого случая, а чтоб знал. если вдруг не знаешь :)
и лучше переделай [4] - там ужасно. :)


 
{RASkov} ©   (2009-06-20 11:29) [8]

> Так же как и первое. Pos()-Length(-конец-)

Т.е. так "первое" ищется, а "второе" проще :)

function GetTextTag(AText, BTag, ETag: String): String;
var IBTag: Integer
begin
 Result:="";
 if Всякие праверки на вшивость then Exit;
 IBTag:=Pos(BTag, AText)+Length(BTAg);
 Result:=Copy(AText, IBTag, IBTag-Pos(ETag, AText));
end;
примерно так....


 
dennis   (2009-06-20 11:48) [9]

вау вау )))ничерта не понял)))но спс хоть на этом....
чуточки пояснений бы(( пытался найти что то про эту функцию в инете ничерта не нашел)))


> и лучше переделай [4] - там ужасно. :)

что там такого?


 
sniknik ©   (2009-06-20 12:26) [10]

> он находит его в мемо добовляю + 20 символов
почему 20? должен найти позицию второго слова и вместо 20 брать разность между второй позицией и первой. ну еще учесть длину самого первого слова, т.к. позиция идет сначала, но подгонки можно потом, сделай хотя бы грубо.  

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

{RASkov} ©   (20.06.09 11:19) [7]
> Еще есть PosEx но эт не для этого случая
а по моему как раз для этого. или у него конец может быть в любом месте, даже раньше начала, чтобы заново весь текст просматривать?

> пытался найти что то про эту функцию в инете ничерта не нашел
Ctrl+F1


 
{RASkov} ©   (2009-06-20 13:52) [11]

> [10] sniknik ©   (20.06.09 12:26)
> а по моему как раз для этого.

Ну фик знает..... если "тэги" разные и второй идет за первым и они одни в тексте, то нафик PosEx не нужен:
BegPos:=Pos(-начало-)+Length(-начало-);
EndPos:=Pos(-конец-);
Resultat:={Trim(}Copy(...,BegPos, EndPos-BegBos){)};
Если одинаковые, то да... PosEx тады можно приделать :)


 
sniknik ©   (2009-06-20 14:10) [12]

> PosEx тады можно приделать :)
в любом случае. как минимум чтобы не делать одну и ту же работу 2 раза.

> Если одинаковые
и это тоже, т.к. слова для поиска могут вводить (и скорее всего будут) пользователи. лучше делать так чтобы было поуниверсальнее тем более, что тут это же самое и быстрее будет работать.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
2-1245284214
<AIRDIGER>
2009-06-18 04:16
2009.08.16
web сторку к норамальному пути


15-1245226088
Юрий
2009-06-17 12:08
2009.08.16
С днем рождения ! 17 июня 2009 среда


15-1245048199
Индеец
2009-06-15 10:43
2009.08.16
Delphi 2009 Configuration Manager и директивы компилятора


4-1214398190
XeON
2008-06-25 16:49
2009.08.16
Отслеживания прогресбара в чужом окне


15-1245344854
Alf
2009-06-18 21:07
2009.08.16
Проблемы с сеткой. Видно только свой сегмент





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский