Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как разбить строку на подстроки 
:(
    Опции темы
supervladislav
Дата 23.9.2012, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Скажите есть ли подобие функции Split или explode как в php , может нужно использовать какойнибудь иной модуль? 
PM MAIL   Вверх
Данкинг
Дата 23.9.2012, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Подобия Split (если я правильно понимаю, что она делает) нет. Есть функция COPY. Если же нужно разбить строку на подстроки на основе какого-то символа, то ищи по форуму слово GETWORDNUM.

Это сообщение отредактировал(а) Данкинг - 23.9.2012, 21:19


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
northener
Дата 23.9.2012, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Посмотри на TStringList.DelimitedText


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Keeper89
Дата 24.9.2012, 03:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Я просто оставлю это здесь: http://docwiki.embarcadero.com/Libraries/e...ils.SplitString


--------------------
PM MAIL WWW   Вверх
Qu1nt
Дата 24.9.2012, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 22
Всего: 50



PM MAIL   Вверх
supervladislav
Дата 24.9.2012, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Данкинг, написли бы хотябы краткое описание по аргументам функции ,что надо передать ,что она возвратит.

PM MAIL   Вверх
Данкинг
Дата 24.9.2012, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Параметры: разделяемая строка, разделитель, порядковый номер разделяемого слова. Т.е.
getwordnum ('бугога@мугога@ололо','@','2') возвратит "мугога".


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
supervladislav
Дата 24.9.2012, 16:49 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Keeper89, Qu1nt, скажите  для работы данной функции надо подключить модуль?

Добавлено через 3 минуты и 55 секунд
Данкинг, а ак определить общее колличество слов?

Добавлено через 7 минут и 48 секунд
Данкинг, я не очень понял ,что такое порядковый номер разделяемого слова?
PM MAIL   Вверх
supervladislav
Дата 24.9.2012, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Данкинг, Как мне все то слова возвратить?
PM MAIL   Вверх
Данкинг
Дата 24.9.2012, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(supervladislav @  24.9.2012,  17:49 Найти цитируемый пост)
Данкинг, а ак определить общее колличество слов?

Никак, только самому писать функцию для подсчёта.
Цитата(supervladislav @  24.9.2012,  17:49 Найти цитируемый пост)
что такое порядковый номер разделяемого слова? 

Как "что такое"? Ты строку-то на подстроки разбиваешь. Вот порядковый номер подстроки и есть.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
supervladislav
Дата 24.9.2012, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



Данкинг,всёравно спасибо.
Обращаясь ко всем остальным неучтно никто не работал вот с этимим компонентами/модулями?
http://docwiki.embarcadero.com/Libraries/e...ns.TRegEx.Split
PM MAIL   Вверх
northener
Дата 24.9.2012, 18:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Ещё раз повторю - TStringList.DelimitedText 
TStringList сам разделит строку на слова и поместит каждое слово в свою Strings[].



--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
supervladislav
Дата 24.9.2012, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



northener, скажите , а как класс компонента объявлять в контексте продцедуры .
А как лучше , можно ли его сделать глобальным для всех продцедур и функций, или так лучше не делать?
Код

procedure TForm1.Button2Click(Sender: TObject);
var s:integer;
var  strs:TStringList;


begin
strs:=TStringList.Create;
If OpenDialog1.Execute then
begin
for s:=0 to 16 do

ShowMessage(strs.DelimitedText(load(OpenDialog1.FileName)));

end;
end;

PM MAIL   Вверх
Данкинг
Дата 24.9.2012, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



supervladislav, чем тебе моя функция не нравится: я её столько раз уже юзал, что не представляю, как можно обходиться без оной в подобных случаях.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
supervladislav
Дата 24.9.2012, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


///\\\///\\\///\\\
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 18.5.2006

Репутация: нет
Всего: -9



northener, выдаётся вот такая ошибка
 [DCC Error] Unit1.pas(281): Missing operator or semicolon
вот в этой строке.
Код

strs.DelimitedText(load(OpenDialog1.FileName)))

Скажите может надо использовать цикл ,чтобы вытащить оттудова строки , функция Load возвращает массив.
Народ ,почему ниводной документации толково не написано ,какие  данные являются входящимим вот сюда?
Код

DelimitedText

Что мне возвратит DelimitedText


Это сообщение отредактировал(а) supervladislav - 24.9.2012, 23:08
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.