![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| remax |
|
|||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: нет Всего: 5 |
Ну вот, а как же истина?
все-все ухожу..... -------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
| source777 |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: нет Всего: 56 |
она необходима, чтобы на каждой итерации было что менять, так что всё спортивно...
Гы, это ты уже какую-то другую задачу решил, изначально все вхождения заменяли, так что нечего даже сравнивать решения двух разных задач... А оптимизация всё же неумелая(так и быть докажу, чтоб не огульно было), ибо нижеследующий код, решая исходную задачу, работает на порядок быстрее и StringReplace, и твоей горе-оптимизации...
Однако, необходимо заметить, что если замену надо выполнить для менее чем тысячи строк подряд, то StringReplace предпочтительнее, ибо оптимизация подобного кода будет не нужна по практическим соображениям, а читабельность будет страдать... А вместо того, чтобы признать тот факт, что ты не знаешь стандартных функций, ты попытался свалить всё на мнимую оптимизацию...
Почему же, пусть человек узнает несколько решений, и поймёт как надо, а как не надо программировать и почему именно так. P.S. Кстати мериться начал remax, с неуместного наезда на разработчиков Delphi... -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
||||||||
|
|||||||||
| remax |
|
|||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: нет Всего: 5 |
Не согласен с твоими утверждениями, но, по просьбе Yanisа, дискуссию перенес в почту. Читай в личке...
Это сообщение отредактировал(а) remax - 8.1.2008, 19:30 -------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
| New Neon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 13.3.2004 Где: Хмельницкий, Укра ина Репутация: нет Всего: нет |
А вот самый оптимальный помоему вариант:
и перевод и проверка |
|||
|
||||
| remax |
|
|||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: нет Всего: 5 |
Оригинально, только не всегда работает. Дело в том, что строка для VAL всегда! (если мне не изменяет память) в качестве разделителя использует точку. Рассмотрим следующий вариант
decimalseparator=','; s:='12.32'; в результате после VAL d=0 (нет ошибки) и замена не происходит. Поэтому d:=StrToFloat(s); завершается ошибкой. -------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
| New Neon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 13.3.2004 Где: Хмельницкий, Укра ина Репутация: нет Всего: нет |
Правильно мыслишь, тогда и заменять то не надо - переведенное значение уже в d.
Сори за погрешность исправляю :
|
|||
|
||||
| remax |
|
|||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: нет Всего: 5 |
Да, согласен. Так работает.
-------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 22 Всего: 128 |
а чем TryStrToFloat не подходит? Это сообщение отредактировал(а) MetalFan - 9.1.2008, 11:16 -------------------- There are always someone smarter than you... |
|||
|
||||
| New Neon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 13.3.2004 Где: Хмельницкий, Укра ина Репутация: нет Всего: нет |
MetalFan, Согласен, твой вариант даже быстрее работать будет.
Как говориться "Век живи - век учись". |
|||
|
||||
![]()
|
| Правила форума "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. |