Потребовалось выдернуть 9 разных значений из диапазона 0-40. Столкнулся с непоняткой. В пределах одинаковой разрядности выборка происходит, но если пытаться выдернуть значение между допустим 8 и 12 то все, приплыли, тоже самое и с другими порядками. Вопрос: это действительно так или это мои глюки?code_11157.txt
Этот топик читают: Гость
Ответов: 875
Рейтинг: 322
|
|||
карма: 1 |
| ||
файлы: 1 | code_11157.txt [561B] [272] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
IF как элемент универсальный при подачи первым аргументом строки сравнивает не их значения, а их длины. Чтобы такого не происходило надо ставить конвертор
|
|||
карма: 27 |
|
Ответов: 875
Рейтинг: 322
|
|||
Спасибо Dilma, все работает.
|
|||
карма: 1 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Dilma писал(а): IF как элемент универсальный при подачи первым аргументом строки сравнивает не их значения, а их длиныЧестно говоря, эта функциональность как заноза в жопе. Может добавить свойство - тип сравнения строк? По умолчанию - как в предыдущих версиях, сравнивать длину, а другой тип - по алфавиту. |
|||
карма: 1 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
tsdima писал(а): По умолчанию - как в предыдущих версиях, сравнивать длину, а другой тип - по алфавиту.Интересно, а как ты себе это представляешь ![]() |
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
tsdima, да я вообще что-то сомневаюсь в полезности такой функциональности. Предлагаю убрать ее совсем, а строковые аргументы приводить к типу real.
|
|||
карма: 27 |
|
Ответов: 2125
Рейтинг: 159
|
|||
А как-же сравнивать строки? Почему сравнивается длина, а не содержимое? Если уж ...
Dilma писал(а): IF как элемент универсальный |
|||
карма: 1 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
tsdima писал(а): А как-же сравнивать строки?В таком случае, нужно делать компонент, сравнивающий строковые параметры, а то мы глухо повиснем без такого функционала. Или, все же, доделать If |
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
tsdima писал(а): Почему сравнивается длина, а не содержимое? если для строк сделать сравнение не по длинне, а аналогично StrCat в Delphi или strcmp в сях, то ситуация будет ничуть не лучше. Хотя и полезность такого функционирования будет выше. |
|||
карма: 27 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Dilma писал(а): или strcmp в сяхИ что мешает нам это сделать отдельным компонентом ![]() |
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
nesco, ничто не мешает. Вопрос-то в том, что делать с IF. Чтобы оставить совместимость с решениями, где строки сравниваются на равенство к типу real нужно приводить аргументы только тогда, когда условие отлично от "=" - в таком случае все равно, что сравнивать.
|
|||
карма: 27 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Dilma писал(а): Вопрос-то в том, что делать с IFМожет лучше ничего не делать, а оставить "как есть". |
|||
карма: 22 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
а как же с
tsdima писал(а): Честно говоря, эта функциональность как заноза в жопе. быть ![]() |
|||
карма: 27 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Да я уже давно думал -- каким это боком If относится к строкам
![]() |
|||
карма: 22 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Dilma писал(а): строковые аргументы приводить к типу realКто мешает сделать третий тип сравнения строк - "как числа с плавающей точкой"? Всё-таки мне кажется, что лучше сделать свойство "тип сравнения строковых данных", по умолчанию - длины строк, для совместимости. |
|||
карма: 1 |
|