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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Разбить строку на под строки, по разделитею 
:(
    Опции темы
Step
Дата 30.7.2004, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

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



как
строка типа 1/2/343/323
разделитель /
желательно что бы в разные переменные
Добавлено @ 11:21
знаю что можно strmove, но это както геморойно......

нельзяли в делфи использовать регулярные выражения на пободие ПШП


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
<Spawn>
Дата 30.7.2004, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Дак можно самому написать. Вот пример:

Код
type
 TSplitResult = array of string;

var
 Form1: TForm1;

implementation

{$R *.dfm}

function Split(const Delimiter: Char; Value: string): TSplitResult;

procedure IncResult(var SplitResult: TSplitResult; const Value: string);
begin
 SetLength(SplitResult, Length(SplitResult) + 1);
 SplitResult[High(SplitResult)] := Value;
end;

var
 intCounter: integer;
begin
 SetLength(Result, 0);
 for intCounter := Length(Value) downto 1 do
   if Value[intCounter] = Delimiter then
   begin
     IncResult(Result, Copy(Value, intCounter + 1, Length(Value) - intCounter));
     Delete(Value, intCounter, Length(Value) - intCounter + 1);
   end;
 if Length(Value) <> 0 then
   IncResult(Result, Value);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
 Test: TSplitResult;
 intCounter: integer;
begin
 Test := Split('\', '123\321\тут был я\321\123');
 if Assigned(Test) then
   for intCounter := 0 to High(Test) do
     ShowMessage(Test[intCounter]);
end;


Встроеных средств регулярных выражений нет, по моему, но можно воспользоватсья COM - импортировать библиотеку типов, например, для Microsoft VBScript Regular Expressions и использовать.

Это сообщение отредактировал(а) <Spawn> - 30.7.2004, 12:04


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Step
Дата 30.7.2004, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

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



Спасибо...

а вот с этим Microsoft VBScript Regular Expressions я наверное поковыряюсь


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
-=::BlackCat::=-
Дата 30.7.2004, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 12.7.2003
Где: растёт анаша?

Репутация: 1
Всего: 6



я всегда разбивал так:
Код

text := '1/2/343/323';
for i := 1 to Length(text) do
begin
 if Dann[DanLen] = '/' then
  begin
   Stroka := '';
  end
 else
  begin
   Stroka := Stroka + text[i];
  end;
end;



--------------------
-=::BlackCat::=-user posted image

такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать??  гррр, админ, форум косячит  
PM MAIL ICQ   Вверх
Петрович
Дата 30.7.2004, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Для работы с регулярными выражениями, есть хороший компонент TRegExp
Очень рекомендую.



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Step
Дата 30.7.2004, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

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



Петрович, -=::BlackCat::=-, спасибо

-=::BlackCat::=- - оригинально



--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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