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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сново разделение строки... 
:(
    Опции темы
V.Turecky
Дата 19.8.2002, 22:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здравствуйте. Не поможете разделить строку на три части?
Строка имеет вид - '... ... ...', то есть три числа, разделённые между собой пробелами. Числа могуть быть разные: одно-, двух- и трёхзначные. Я попыталься разделить, но что-то не ладиться:

var
Pat1,Pat2,Pat3, s: String;

//Читаю строку и заношу в переменную 's'
s := Reg.ReadString('Background');

//Разделяю строки (здесь всё нормально)
Pat1 := Copy(s, 0, pos(' ', s)-1);
//Здесь хуже
Pat2 := Copy(s, pos(' ' ,s)+1, pos(' ', s)+1);
//А здесь совсем плохо
Pat3 := Copy(s, pos(' ', s)+5, length(s));

//Здесь вывожу результат
ShowMessage(Pat1+' - '+Pat2+' - '+Pat3);
  Вверх
Vit
Дата 19.8.2002, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


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

Репутация: 48
Всего: 207



Посмотри, я здесь подобную задачу решил:

http://www.forum.vingrad.ru/cgi-bin....;t=2744

Вообще-то не хочется на такой вопрос отвечать - алгоритм простой до безобразия - надо просто сесть и аккуратно его реализовать:

Пока исходная строка не равна пустой делать:
 {
 взять то что до разделителя -> очередной член строки
 исходная строка := взять то что после разделителя
 }

И всё!


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
V.Turecky
Дата 19.8.2002, 22:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я посмотрел эту тему:
http://www.forum.vingrad.ru/cgi-bin....;t=2744

Честно сказать, если бы я знал, что оно и как, я бы на форуме не спрашивал. А файл справки по pos, length и Copy я листал. Но не могу сказать, что мне после этого всё стало ястно.
  Вверх
Vit
Дата 19.8.2002, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


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

Репутация: 48
Всего: 207



Алоритм вычисления я тебе дал, используй эти функции:

pos(s,s1) - возвращает первую позицию подстроки s в строке s1
pos('b','abcdabcd') вернёт 2

length - возвращает длину строки
length('abcdabcd') вернёт 8

Copy(s,i,j) - возвращает кусок строки s начиная с символа под номером i и длиной j
Copy('abcdabcd',2,3) вернёт 'bcd'

Мне не жалко, я могу код этот написать за 5 минут, только ты его просто вставишь и ничему не научишься. Сия задача настолько простая, что представляет идеальное упражнгение для тренировки.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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