Вверх ↑
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
#31: 2007-03-14 13:13:57 ЛС | профиль | цитата
Где эти точки находятся - из sha понять можно
Skip - сверху
CurentPos,CurentStr - снизу
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#32: 2007-03-14 15:31:35 ЛС | профиль | цитата
Galkov писал(а):
И чем ???

Тем, что всегда есть желание иметь набор базовых приметивов типа pos, copy, replace, insert, delete и т.д. - совершенно тупых и кондовых. А далее основываясь на них(непосредственно или с изменением кода) можно надстраивать ф-ции типа GetTok, PosEx и т.д. Менять на каждый чих интерфейс базовых ф-ций - не дело.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#33: 2007-03-14 15:44:04 ЛС | профиль | цитата
На чих - согласен, НЕ ДЕЛО

Но какой же это чих.
Если у нас как ни задача, так вместо Replace парсер приходится писать...
Больно уж для тупых задач он оказался предназначенным.
И прием введения back-а с параметром - достаточно типовой вроде.

Вот я пытался этот же мультик сделать на штатных элементах.
Мало не показалось.
И элемента Replace там не было.
Вот и задача вроде для него - а не умеет.

Шибко обидно было...
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#34: 2007-03-14 15:57:04 ЛС | профиль | цитата
Galkov писал(а):
Больно уж для тупых задач он оказался предназначенным.

именно так. Любые расширения должны идти в ReplaceEx
карма: 27
0
Ответов: 9906
Рейтинг: 351
#35: 2007-03-14 16:48:17 ЛС | профиль | цитата
Ну мне кажется, что "Любые расширения дающие интерфейсную несовместимость должны идти в ReplaceEx"

Говорю же - незаметит никто. Пока на вкладку <Точки> не забредет
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#36: 2007-03-14 17:44:17 ЛС | профиль | цитата
Galkov, идем в Share.pas и видим:

function PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;[/code]

этот интерфейс в точности совместим с интерфейсом стандартной ф-ции pos. И все же это отдельная ф-ция с префиксом, явно указывающим на её расширение.

Однако вопрос даже не в этом, а в том, что в тех кусках кода, где такое расширение совершенно ни к чему на пустом месте возникнет пусть и небольшая, но всетаки задержка в сравнение с оригиналом. Конечно это смешной аргумент с учетом уже существующих потерь(достаточно больших потерь) времени выполнения, но все же.
карма: 27
0
Ответов: 9906
Рейтинг: 351
#37: 2007-03-14 19:22:27 ЛС | профиль | цитата
Дело в том, что тогда появляется два почти одинаковых кода Replace.
Второй конечно чуток больше.
Но уж на значительно меньше, чем общий код.
Т.е., соображения исключительно о рациональности.

Про элемент - так просто же допонительная точка, неиспользование которой ничего для пользователя не меняет...
карма: 9

0
Администрация
Ответов: 15295
Рейтинг: 1519
#38: 2007-03-14 19:32:24 ЛС | профиль | цитата
Galkov писал(а):
Второй конечно чуток больше.
Но уж на значительно меньше, чем общий код.
Т.е., соображения исключительно о рациональности.

вот именно. При нынешней технологии генерации кода в стандартном пакете говорить о быстродействие отдельных функций смысла вообще никакого нет. Я же всетаки надюсь, что нормальный кодогенератор будет сделан и лучше избежать лишних накладок с переносом.

С элементом как раз проблем никаких нет - в идеале количество точек и св-тв не должно никак влиять на качество и величину кода(при их незадействованности конечно же) - поэтому грубо говоря, чем их больше, тем лучше. То, что сейчас добавление св-ва или точки частенько раздувает компонент не зависимо от их использования, это проблемы кодогенератора.
карма: 27
0
38
Сообщение
...
Прикрепленные файлы
(файлы не залиты)