Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.03.2014, 20:22   #31
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Думаю, что быстрей будет
Замени
Delete(test_string, 1, 1);
на
Delete(test_string, Length(test_string), 1);

Что получишь в тестовом примере на Делфи?
I'm learning to live...
Stilet вне форума
Старый 23.03.2014, 20:42   #32
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Stilet
Так не честно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума
Старый 23.03.2014, 21:23   #33
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Так не честно
Почему не честно? Я пытаюсь заставить вас разобраться с генофондом Делфи. Важно не то как функция работает, нет, это пол беды. А вот как она работает в связке с другими функциями или блоками программы - вот тут и роется песик в поисках скорости.
Можно трижды тридцать раз написать мегабыстрый код на ассемблере, но он вполне может проиграть в скорости встроенной функции, если его навесить другими блоками программы до чего-то, что ему помешает. Поэтому скорость работы со строками вопрос чрезвычайно деликатный.
I'm learning to live...
Stilet вне форума
Старый 23.03.2014, 21:35   #34
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

я для решения такой задачи использовал бы такую вот функцию
Код:
function CopyString(AString, AFirst, AFinal: string): string;
begin
  if AFirst <> '' then Delete(AString, 1, Pos(AFirst, AString) +
    Length(AFirst) - 1);
  if AFinal <> '' then Delete(AString, Pos(AFinal, AString), Length(AString));
  Result:= AString;
end;
+ конечно же перед каждым последующем вызовом удалял бы из исходной строки "AFirst".
kta87 вне форума
Старый 23.03.2014, 23:24   #35
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

kta87 Почитайте предыдущую страницу обсуждения производительности, и подумайте.
XE5 вне форума
Старый 24.03.2014, 17:44   #36
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

XE5, ТС не ставил задачи выбрать наиболее производительный пост, думать тут не о чем )) всего лишь способ решения вот и все.
kta87 вне форума
Старый 24.03.2014, 21:03   #37
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

kta87 Это решение ни чем не отличается от предложенного мной решения, только имеет лишнюю операцию. Толк от такого решения?
XE5 вне форума
Старый 25.03.2014, 16:14   #38
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Цитата:
Сообщение от XE5 Посмотреть сообщение
Толк от такого решения?
Наличие решения, это же очевидно.
kta87 вне форума
Старый 25.03.2014, 22:23   #39
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

kta87 Бессмысленно спорить с человеком, который не понимает, что ему пытаются донести. Не буду даже пытаться.
XE5 вне форума
Старый 26.03.2014, 21:01   #40
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Видите ли XE5, непонимание как раз таки с вашей стороны. Когда стоит задача собрать данные из файла со структурой, которую представляет ТС, вопросы скорости операций уместны лишь в случае размера файла от 50 мб (такой размер для тектовых файлов крайне мало вероятен), или в целях лабораторных исследований (тс об этом тоже не говорит). В о всех остальных случаях следует помнить о теории "Минимально, но достаточно". Я не в курсе к сожалению ваших областей знаний, по этому приведу пример из теории автомобилей: При решении уравнения движения автомобиля, движущегося со скоростью меньше 40 км/ч не учитывают силу сопротивления воздуха. Это в значительной степени упрощает решение уравнения, но с физической точки зрения уравнение не полное, так как не учитывает силу сопротивления воздуха.
kta87 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг Gudzik11 Общие вопросы Delphi 6 15.04.2012 21:51
парсинг Pein95 C# (си шарп) 3 16.09.2011 01:24
Парсинг DeDoK Общие вопросы Delphi 8 02.02.2011 14:20