![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 07.12.2006
Сообщений: 9
|
![]()
Из текстового файла загружаются строки вида:
#текст##текст# и т.п. можно ли текст (без символов #) извлечь в матрицу по маске, не используя функций pos(),copy,delete() подскажите пожалуйста Последний раз редактировалось Slava; 29.06.2009 в 20:31. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
еще есть регулярные выражения(не использую)
а чем pos(),copy,delete() не устраивают? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 07.12.2006
Сообщений: 9
|
![]()
перечисленные функци не устраивают из-за времени выполнения (если разбирать в цикле каждую строку)
Большое спасибо за помощь |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Я думаю использование ассемблера будет быстрее
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#5 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Впрочем можно просто пройтись по строке одним циклом, что побыстрее будет.
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#6 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
![]()
В Делфи есть регулярные выражения. Реализуются через специальный модуль (в инете можно найти, я лично находил).
А вообще то Slava, пользуйся поиском. Только, что ввел в гугл "разбивка строки в Delphi" и вот, что нашол здесь. Последний раз редактировалось profi; 30.06.2009 в 08:23. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Да, такая реализация регулярных выражений будет нисколько не быстрее частного случая с Pos - создание класса, цикл с copy (который по условию задания применять нельзя
![]() ![]() Можно конечно попробовать выделять место в динамической памяти самостоятельно, но по сути тоже pos, copy и пр. и не факт, что быстрее.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Господи, да данная задачи элементарно решается через банальный проход по строке с копированием найденных кусков куда там TC надо. и pos будет не сильно медленнее (если правильно алгоритм его использования набросать, конечно).
Регулярные выражения в Дельфи реализуются сторонним компонентом (например, TRegExpr - Freeware Регулярные Выражения для Delphi (Regular Expressions)) Но вот с ними всё точно будет гораздо медленее... Это как пригласить хорошего художника стены красить, а потом удивляться, что он делал дольше, чем обычный маляр... ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Анализ строки(Delphi) | Cannibal | Помощь студентам | 2 | 27.11.2008 14:17 |
Разбивка текста | Vinslova | Microsoft Office Excel | 3 | 30.10.2008 12:49 |
Delphi. Строки. | inmate | Помощь студентам | 2 | 19.05.2008 18:14 |
#Delphi Строки | forumu | Помощь студентам | 3 | 24.12.2007 23:31 |
Строки в Delphi. | Wise | Помощь студентам | 9 | 03.12.2007 17:58 |