Скажите, можно ли ограничить Memory, чтобы запоминаемые значения не выходили за установленные пределы Min/Max.
Например чтобы в рамках типа Integer, значения ниже нуля не запоминались.
В делфи нет способов, кроме установки в коде дополнительного IF ?
Этот топик читают: Гость
|
Ответов: 1429
Рейтинг: 50
|
|||
| карма: 0 |
|
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
|||
| карма: 26 |
| ||
| Голосовали: | login |
|
Разработчик
Ответов: 26324
Рейтинг: 2147
|
|||
|
login писал(а): В делфи нет способов, кроме установки в коде дополнительного IF ?Так что, Dilma, твой пример не удовлетворяет условию поставленной задачи |
|||
| карма: 22 |
| ||
| Голосовали: | login |
|
Ответов: 1429
Рейтинг: 50
|
|||
|
nesco, да, тоесть как я понял нет такого, это некорректный вопрос у меня.
|
|||
| карма: 0 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2147
|
|||
|
login писал(а): это некорректный вопрос у меняА какого ты тут мозги паришь В любом случае, чтобы что-то ограничить, надо это что-то с чем-то сравнить. Неужели, это так сложно понять |
|||
| карма: 22 |
|
|
Ответов: 1429
Рейтинг: 50
|
|||
|
Надо было убедится, перед тем как наставить кучу ограничителей и потерять на этом кучу ресурсов. "За спрос не бьют в нос"
Еще в примере Dilma, скорость вдвое выше простого элемента IF code_20848.txt |
|||
| карма: 0 |
| ||
| файлы: 1 | code_20848.txt [1.2KB] [120] |
|
Разработчик
Ответов: 26324
Рейтинг: 2147
|
|||
|
login писал(а): скорость вдвое выше простого элемента IFДа ты код if-a посмотри сначала, а потом сделай выводы, сам поймешь почему он так медленно работает. Самы быстрый из этих элементов условий -- элемент Case |
|||
| карма: 22 |
|
|
Ответов: 1376
Рейтинг: 198
|
|||
|
login писал(а): Например чтобы в рамках типа Integer, значения ниже нуля не запоминалисьСделай для себя IC Memory из компонента Memory, в этой IC и ограничь внутренние переменные типом DWord |
|||
| карма: 1 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2147
|
|||
|
foksov писал(а): и ограничь внутренние переменные типом DWordОчень интересно -- "как" |
|||
| карма: 22 |
|
|
Ответов: 1429
Рейтинг: 50
|
|||
|
nesco, всеравно маx побыстрее:
code_20849.txt foksov, спасибо!, хоть я не сильно шарю в IC типах (это слабое место у меня), щас буду пробовать. |
|||
| карма: 0 |
| ||
| файлы: 1 | code_20849.txt [1.2KB] [128] |
|
Ответов: 1376
Рейтинг: 198
|
|||
|
|
|||
| карма: 1 |
|
|
Разработчик
Ответов: 26324
Рейтинг: 2147
|
|||
|
foksov, а вот теперь ответь мне вразумительно, чем Integer отличается от Cardinal (он же -- Dword)
|
|||
| карма: 22 |
|
|
Ответов: 1429
Рейтинг: 50
|
|||
|
Коллеги, вразумите, ну вот например байт помнит от 0 до 255 значений (если я не ошибаюсь), можно ето как-то использовать?
Такого диапазона мне хватит для задачи. |
|||
| карма: 0 |
|
|
Ответов: 1376
Рейтинг: 198
|
|||
|
Delphi Help писал(а): Integer -2147483648..2147483647 signed 32-bit
Cardinal 0..4294967295 unsigned 32-bit ------------ Дoбавленo в 22.46: foksov писал(а): можно ето как-то использовать?Конечно можно, 255=8 бит, а это 8 булевых флагов |
|||
| карма: 1 |
|
|
Ответов: 1429
Рейтинг: 50
|
|||
|
foksov, спасибо, похоже это то, что мне надо.
А где-то можно почитать как конвертировать из одного типа в другой в IC, ато у меня постоянно выскакивают ошибки вида: "Incompatible types: 'integer' and 'Byte' и другие.. , и я никак не научусь переводить одни типы в другие. |
|||
| карма: 0 |
|



Поиск
Друзья
Администрация