|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.04.2016, 07:55 | #1 |
Регистрация: 07.04.2016
Сообщений: 5
|
Delphi оптимизация программы.
Доброго времени суток. Столкнулся с такой проблемой: программа автозамены текста занимает продолжительное время, возможно ли как-нибудь оптимизировать код для увеличения производительности.(только редактируемых частей в тексте встречается от 6к.)Вследствии этого программа работает долго от 2-х часов.
P.S. я только учусь. Последний раз редактировалось fantom-AS; 07.04.2016 в 12:52. |
07.04.2016, 08:13 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Для начала выбрось Memo и работай со TStringList. Memo не для массового редактирования строк. Алгоритм замены чудной - находишь в одной строке, меняешь в следующих. Ошибки записи в не существующие строки нет?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
07.04.2016, 08:23 | #3 | |
Регистрация: 07.04.2016
Сообщений: 5
|
-ОК, спс буду двигаться в этом направлении.
Цитата:
Спс огромное за ответ. Все работает на ура! Благодарочка . Последний раз редактировалось fantom-AS; 07.04.2016 в 09:22. |
|
07.04.2016, 09:28 | #4 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Как звучит задание в оригинале?
какие критерии поиска/замены? Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
07.04.2016, 09:44 | #5 |
Регистрация: 07.04.2016
Сообщений: 5
|
Работаю программистом(ток начал). Есть некий NC-код управляющей программы Woodwop. Код построен таким образом: разделен на блоки начинающиеся с символа(который ищем вначале), далее в блоке записаны значения X, Y(каждый в свою строку). Значения X и Y(пример 1-ый блок X1=... , Y1=... ; 2-ой блок X2=X1+... , , Y2=Y1+... и таких блоков от 6000).
Моя программа ищет в цикле блок и если находит, тогда добавляет коэффициент масштабирования(X'n'=X'n-1'*(коэффициэнт по оси X)). В итоге получаем NC-код в котором при изменении длины и ширины заготовки масштабируется рисунок(фрезеровка). |
07.04.2016, 09:48 | #6 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Используйте регулярные выражения. Какая версия Delphi?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
07.04.2016, 09:56 | #7 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
07.04.2016, 10:11 | #8 |
Регистрация: 07.04.2016
Сообщений: 5
|
|
07.04.2016, 10:18 | #9 |
Регистрация: 07.04.2016
Сообщений: 5
|
Последний раз редактировалось fantom-AS; 07.04.2016 в 12:52. |
07.04.2016, 10:26 | #10 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
хотя, раз само наладилось, и не надо. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация программы на Си | evgenybal | Помощь студентам | 6 | 15.03.2016 15:17 |
Оптимизация программы | danil123 | Общие вопросы Delphi | 8 | 20.01.2013 19:34 |
Оптимизация программы | Семоха Валерий | Помощь студентам | 1 | 26.05.2012 14:04 |
Оптимизация программы | GoldSieg | Паскаль, Turbo Pascal, PascalABC.NET | 17 | 22.05.2012 13:33 |
Оптимизация программы | Lenya | Помощь студентам | 2 | 05.01.2011 18:56 |