![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| V.Turecky |
|
|||
|
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 |
|
|||
![]() 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 |
|||
|
||||
| V.Turecky |
|
|||
|
Unregistered |
Я посмотрел эту тему:
http://www.forum.vingrad.ru/cgi-bin....;t=2744 Честно сказать, если бы я знал, что оно и как, я бы на форуме не спрашивал. А файл справки по pos, length и Copy я листал. Но не могу сказать, что мне после этого всё стало ястно. |
|||
|
||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |