Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 027

•  TDictionary Custom Sort  6 131

•  Fast Watermark Sources  5 929

•  3D Designer  8 785

•  Sik Screen Capture  6 258

•  Patch Maker  6 681

•  Айболит (remote control)  6 674

•  ListBox Drag & Drop  5 531

•  Доска для игры Реверси  95 706

•  Графические эффекты  6 904

•  Рисование по маске  6 123

•  Перетаскивание изображений  5 064

•  Canvas Drawing  5 432

•  Рисование Луны  5 148

•  Поворот изображения  4 693

•  Рисование стержней  3 307

•  Paint on Shape  2 547

•  Генератор кроссвордов  3 438

•  Головоломка Paletto  2 749

•  Теорема Монжа об окружностях  3 551

•  Пазл Numbrix  2 328

•  Заборы и коммивояжеры  3 015

•  Игра HIP  1 971

•  Игра Go (Го)  1 888

•  Симулятор лифта  2 244

•  Программа укладки плитки  1 953

•  Генератор лабиринта  2 400

•  Проверка числового ввода  2 081

•  HEX View  2 407

•  Физический маятник  2 043

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Заполнение списка словами из строки с возможностью указания множества разделителей



Автор: VID

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Заполнение списка (TargetList) словами из строки (Text),
с возможностью укзания множества разделителей

Функция заполняет список TargetList, словами (наборами символов)
из строки Text. Имеется возможность получения позиции каждого
слова в строке (ReturnWordPlaces = True); добавления в TargetList
не только слов, но и разделителей (ReturnWordDeviders = True);
указания более чем одного разделителя (все в строке WordDeviders).
Ограничением является невозможность указания разделителя,
длинной более чем 1 символ.

Result = TargetList.Count; {количество строк в TargetList}

Зависимости: sysutils, classes, system
Автор: VID, vidsnap@mail.ru, ICQ: 132234868, Махачкала
Copyright: VID
Дата: 02 мая 2002 г.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  * * * * * * * * * * * * }

function GetWordListFromText(Text, WordDeviders: string; TargetList: TStrings;
  ReturnWordPlace, ReturnWordDeviders: Boolean): Integer;
var
  X, TextLength, WP: Integer;
  W: string;
begin
  Result := 0;
  TextLength := Length(Text);
  if TextLength = 0 then
    Exit;
  if Length(WordDeviders) = 0 then
    Exit;
  if TargetList = nil then
    Exit;
  TargetList.BeginUpdate();
  TargetList.Clear;
  WordDeviders := AnsiUpperCase(WordDeviders);
  W := '';
  X := 0;
  WP := 1;
  repeat
    X := X + 1;
    if (POS(AnsiUpperCase(Text[x]), WordDeviders) = 0) and (X <= TextLength)
      then
      W := W + Text[x]
    else
    begin
      if W <> '' then
      begin
        case ReturnWordPlace of
          True: TargetList.Add(W + '=' + Inttostr(WP));
          False: TargetList.Add(W);
        end;
      end;
      W := '';
      WP := X + 1;
      if ReturnWordDeviders = true then
      begin
        case ReturnWordPlace of
          True: TargetList.Add(Text[x] + '=' + Inttostr(x));
          False: TargetList.Add(TEXT[x]);
        end;
      end;
    end;
  until (X > TextLength);
  TargetList.EndUpdate;
  Result := TargetList.Count;
end;




Похожие по теме исходники

Сортировка списка




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте