Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.27;
Скачать: CL | DM;

Вниз

ComboBox   Найти похожие ветки 

 
Германн ©   (2008-04-01 19:26) [40]


> Alex8   (01.04.08 19:15) [39]
>
> > Хоть раз уидешь 65536?
>
>  В рассматриваемом случае ItemIndex=65536.

Врешь. Сам по себе temIndex не может получить такое значение.


 
Alex8   (2008-04-01 19:41) [41]

> Врешь. Сам по себе temIndex не может получить такое значение.

 Ну что мне землю есть?
Прверил все в пошаговом режиме.


 
{RASkov} ©   (2008-04-01 20:19) [42]

> Ну что мне землю есть?

Вот ведь не везет людям :(
:)


 
Сергей М. ©   (2008-04-02 10:39) [43]


> Alex8   (01.04.08 19:41) [41]


ССЗБ.

Есть же событие OnSelect !
В его обработчике и следует обращаться к ItemIndex.


 
Alex8   (2008-04-02 11:52) [44]

> Есть же событие OnSelect !
> В его обработчике и следует обращаться к ItemIndex.

 Очень ценная мысль! Зачем onClozeUp-лишние хлопоты.
При OnSelect никаких блокировок не нужно. Этот обработчик
начинает работы только при допустимых значениях ItemIndex
Правильно?
Спасибо. Обязательно воспользуюсь.


 
Сергей М. ©   (2008-04-02 12:08) [45]


> Этот обработчик
> начинает работы только при допустимых значениях ItemIndex
> Правильно?


Нет, не правильно.
Если у тебя в списке более 32767 элементов и ты щелкнул , например, на 32768-м, то ItemIndex в обработчике события вернет тебе именно 32768, в то время как соотв.поле НД у тебя имея тип SmallInt допускает значения в диапазоне -32768..32767, что, разумеется, вызовет проблемы.


 
Alex8   (2008-04-02 14:52) [46]

> Если у тебя в списке более 32767

Ну, это уже вопрос выбора типа данных.
Фактор размерности, конечно, надо учитывать.
И не только при работе с ComboBox.


 
Сергей М. ©   (2008-04-02 15:16) [47]


> это уже вопрос выбора типа данных


Да нихрена это не вопрос выбора типа данных)

Это вопрос кол-ва записей в НД, по которому ты проходишь в цикле с целью заполнения своего комбобокса.


 
Alex8   (2008-04-02 17:21) [48]

> Это вопрос кол-ва записей
При большом числе записей я сделаю
  i не SmallInt, а LongInt.


 
Сергей М. ©   (2008-04-02 17:31) [49]


> При большом числе записей я сделаю
>   i не SmallInt, а LongInt.
>


Причем здесь i ?

Да и какой тайный смысл объявлять сч-к цикла разрядностью меньшей, чем разрядность значения, возвращаемого св-вом RecordCount и ItemIndex ?


 
Alex8   (2008-04-02 17:57) [50]

> Причем здесь i ? [49]
> Сергей М. ©   (01.04.08 15:44) [30]

> А выводы отсюда давным давно озвучены в [3] и [9] : -1,
> пройдя какие-то несуразные приведения типа к Cardinal и
> получив при этом значение 65536, тычется в поле iKod, имеющее
> тип Smallint

  Я что-то запутался.  iKod - фактически № записи, определяемый своим
положением в исходном файле. Поэтому i и iKod  величины одного порядка.
И если iKod (i) превосходят допустимые границы типа Smallint,
то сделав LongInt, я эти границы расширю.


 
Сергей М. ©   (2008-04-02 21:01) [51]


>  iKod - фактически № записи, определяемый своим
> положением в исходном файле


Какой еще нафих "исходный файл" ?
Нет никакого файла.
Есть НД, ты запрашиваешь его RecordCount, который заведомо integer.
Ты его с какого-то перепугу усекаешь до word. Вопрос - с какого конкретно перепугу ?)



Страницы: 1 2 вся ветка

Текущий архив: 2008.04.27;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.018 c
2-1206891532
cyber-pilot
2008-03-30 19:38
2008.04.27
Создание и уничтожение дочерней формы


2-1207032743
asdf2
2008-04-01 10:52
2008.04.27
Как в InterBase6.5 сделать select Length(MyField) from MyTable?


15-1205317206
^-k2-^
2008-03-12 13:20
2008.04.27
Авторское право.


15-1205463592
Slider007
2008-03-14 05:59
2008.04.27
С днем рождения ! 14 марта 2008 пятница


2-1206937574
Гость
2008-03-31 08:26
2008.04.27
Обращение к объектам по именни.