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

Вниз

Поиск образца текста в StringList   Найти похожие ветки 

 
Мимо прогодивший   (2014-01-14 18:17) [0]

Так как "Начинающим" не работает, пишу вопрос сюда.

Есть программа где текст хранится в StringList. Нужно по всему его тексту выполнить поиск подстроки, подстрока не может начинаться в Strings[I], а заканчиваться на Strings[I + 1]. Поэтому код примерно такой:
 
 S: String;
 ..........................................................
 for i := 0 to StringList.Count - 1 do begin
   S := StringList.Strings[i];
   .......................................
   поиск образца текста в "S"
 end;


Каждый раз нужно делать S := StringList.Strings[i] ?


 
antonn ©   (2014-01-14 18:31) [1]

if(pos("popa",StringList.Strings[i]))
если в лоб


 
Юрий Зотов ©   (2014-01-14 18:34) [2]

Можно и не делать, а искать прямо в StringList.Strings[i].

А если искомая подстрока не содержит CR/LF, то можно искать и без цикла, в StringList.Text


 
Юрий Зотов ©   (2014-01-14 18:35) [3]

> antonn ©   (14.01.14 18:31) [1]
>
> if(pos("popa",StringList.Strings[i]))
> если в лоб


Это не в лоб.


 
Мимо прогодивший   (2014-01-14 18:54) [4]

Я за то что нельзя:

for i := 0 to StringList.Count - 1 do
 for j := 1 to Length(StringList.Strings[i]) do begin

    StringList.Strings[i][j]
 
 end;
Copy(SL.Strings[i],2,5)



> Можно и не делать, а искать прямо в StringList.Strings[i].

Подскажите плиз.


> if(pos("popa",StringList.Strings[i]))

так конечно можно, но как то не удобно параметром постоянно указывать StringList.Strings[i]


 
Мимо прогодивший   (2014-01-14 18:55) [5]


> А если искомая подстрока не содержит CR/LF, то можно искать
> и без цикла, в StringList.Text


Содержит, текст грузится с текстовых файлов


 
Мимо прогодивший   (2014-01-14 19:01) [6]

А, во, возможна следующая конструкция:

string(StringList.Strings[i])[j];


 
Германн ©   (2014-01-14 19:59) [7]


> но как то не удобно параметром постоянно указывать StringList.Strings[i]

Неудобно параметром указывать StringList.Text. А StringList.Strings это просто массив указателей.


 
antonn ©   (2014-01-14 20:58) [8]


> Юрий Зотов ©   (14.01.14 18:35) [3]
>
> > antonn ©   (14.01.14 18:31) [1]
> >
> > if(pos("popa",StringList.Strings[i]))
> > если в лоб
>
> Это не в лоб.

я к тому, что неужели оптимизатор конструкцию автора к моему виду не видет? а если приведет - я лишь синтаксисом написал то что у него и есть



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

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

Наверх





Память: 0.46 MB
Время: 0.002 c
15-1405343958
Ega23
2014-07-14 17:19
2015.02.15
Батя задачку выдал, а ответа так и не сказал. :)


11-1258454605
Dy1
2009-11-17 13:43
2015.02.15
GroupBox


15-1405114611
alexdn
2014-07-12 01:36
2015.02.15
Перевод программы


11-1221430466
azsd
2008-09-15 02:14
2015.02.15
KOL 2.87 for Delphi 2009 (MCK worked.)


1-1329033920
Jambo
2012-02-12 12:05
2015.02.15
Указатели в Delphi-программах





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский