Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть ли в Delhpi функция, подобная Splin в VB ? [D7, XP]


Сергей ©   (2008-05-23 12:35:00) 

Есть  ли в Delhpi функция подобная Splin в VB (заносит части строк разделенные разделителем в строковый массив).
Подскажите, пожалуйста, функцию поиска символов в  строке по маске.


Игорь Шевченко   (2008-05-23 15:05:00) [1]

han_malign ©   (23.05.08 14:10) [4]


> - а не проще TStringList.CommaText/(DelimitedText+Delimiter+QuoteChar)?


Если надо разобрать строку вида 'foo<br>bar<br>bazz' с разделителем '<br>', то не проще.


Reindeer Moss Eater   (2008-05-23 14:18:00) [2]

TRegExpr.Split


Palladin   (2008-05-23 14:15:00) [3]

пробелы считает разделителем в независимости от Delimiter... свое писать приходится... а некоторым приходится копировать чужое... )


han_malign   (2008-05-23 14:10:00) [4]


> Игорь Шевченко ©   (23.05.08 12:48) [2]

- а не проще TStringList.CommaText/(DelimitedText+Delimiter+QuoteChar)?


Сергей   (2008-05-23 12:53:00) [5]

Большое спасибо.


Игорь Шевченко   (2008-05-23 12:48:00) [6]

Split ?

{
 Преобразование строки с разделителями в список строк.
 Параметры:
  Source    - исходная строка.
  Delimiter - строка-разделитель.
  Parts     - список строк, заполняемый функцией. Создается и уничтожается
              вызывающей функцией.
}
procedure StrBreakApart(const Source, Delimeter: string; Parts: TStrings);
var
 curPos: Integer;
 curStr: string;
begin
 Parts.Clear;
 if Length(Source) = 0 then
   Exit;
 Parts.BeginUpdate;
 try
   CurStr:= Source;
   repeat
     CurPos:= AnsiPos(Delimeter, CurStr);
     if CurPos > 0 then begin
       Parts.Add(Copy(CurStr, 1, Pred(CurPos)));
       CurStr:= Copy(CurStr, CurPos+Length(Delimeter),
         Length(CurStr)-CurPos-Length(Delimeter)+1);
     end else
       Parts.Add(CurStr);
   until CurPos=0;
 finally
   Parts.EndUpdate;
 end;
end;


Palladin   (2008-05-23 12:47:00) [7]

нету


Наверх

Титульная страница Поиск, карта сайта Написать письмо