Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.27;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по синтаксису   Найти похожие ветки 

 
Александр1   (2007-12-25 00:59) [0]

Есть набор констант
Const1 = $01, Const2=$2, Const3 = $4, Const4 = $8
при написании программы они присваиваются
Result := Const1 or Const2 or Const3 or Const4;
Скажите пожалуйста как правильно создать набор CheckBox"ов для выбора констант и правильно обработать результат, т.к. конструкция вида
if CheckBox1.Checked then Result := Result or $01
if CheckBox2.Checked then Result := Result or $02
if CheckBox3.Checked then Result := Result or $04
не кажется мне правильной.
Спасибо.


 
Германн ©   (2007-12-25 01:07) [1]


> т.к. конструкция вида
> if CheckBox1.Checked then Result := Result or $01
> if CheckBox2.Checked then Result := Result or $02
> if CheckBox3.Checked then Result := Result or $04
> не кажется мне правильной.
>

Чем она кажется тебе неправильной?


 
Александр1   (2007-12-25 07:00) [2]


> Чем она кажется тебе неправильной?

А если сто констант? Писать сто if?


 
Riply ©   (2007-12-25 07:03) [3]

> [2] Александр1   (25.12.07 07:00)
> А если сто констант? Писать сто if?

Sorry.
А на сто констант ты будеш создавать сто CheckBox-ов ?


 
Skyle ©   (2007-12-25 07:37) [4]

Всё что ниже - результаты телепатии.

CheckBox1.Tag := $01;
CheckBox2.Tag := $02;
CheckBox3.Tag := $04;


А потом, в зависимости от способа хранения списка CheckBox, в цикле
for I := 0 to MyCheckBoxesCount - 1 do
 if MyCheckBoxes[Ii].Checked then
 begin
   Result := Result or MyCheckBoxes[I].Tag;
   Break;
 end;


А в данном конкретном случае можно первый кусок переписать примерно так

for I := 0 to MyCheckBoxesCount - 1 do
 MyCheckBoxes[I].Tag := 1 shl I;


 
Александр1   (2007-12-25 09:53) [5]


> А на сто констант ты будеш создавать сто CheckBox-ов ?

Дык поэтому и вопрос "как правильно создать набор CheckBox"ов для выбора констант"


> Всё что ниже - результаты телепатии.

Об этом я и сам подумал, а способа проще нет?


 
Riply ©   (2007-12-25 09:59) [6]

> [5] Александр1   (25.12.07 09:53)
> Дык поэтому и вопрос "как правильно создать набор CheckBox"ов для выбора констант"

Например, CheckListBox.


 
Skyle ©   (2007-12-25 11:21) [7]


> Александр1   (25.12.07 09:53) [5]
> > Всё что ниже - результаты телепатии.
>
> Об этом я и сам подумал, а способа проще нет?

Для начала надо озвучить задачу, без этого нормального решения не придумаешь.


 
Александр1   (2007-12-25 17:00) [8]


> Для начала надо озвучить задачу, без этого нормального решения
> не придумаешь.

Уточняю.
Есть функция, ее поведение зависит от набора параметров, передаваемых в виде констант. Я хочу посмотреть поведение функции при различных наборах параметров, а перебирать комбинации параметров вручную нудно. Вот и родился вопрос, можно ли по списку (или что то вроде списка) констант создать набор CheckBox"ов и соответственно установленным флажкам передавать комбинацию параметров в функцию. И соответственно как это реализовать.


 
clickmaker ©   (2007-12-25 17:03) [9]


> [8] Александр1   (25.12.07 17:00)

а что за функция-то?


 
Александр1   (2007-12-25 17:44) [10]


> а что за функция-то?

Это без разницы, она досталась мне вместе с программой


 
clickmaker ©   (2007-12-25 17:50) [11]


> [10] Александр1   (25.12.07 17:44)

а мануала не досталось при раздаче?


 
Александр1   (2007-12-25 19:13) [12]


> а мануала не досталось при раздаче?

Уровня "переменные IFS_TYPE1...IFS_TYPE15 меняют интерфейс прибора"


 
clickmaker ©   (2007-12-25 19:18) [13]


> [12] Александр1   (25.12.07 19:13)

прибор-то хоть не опасный?
а то вдруг рванет при эксперименте?



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

Форум: "Начинающим";
Текущий архив: 2008.01.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.006 c
2-1198484538
Artem
2007-12-24 11:22
2008.01.27
TAnimate, gif не работает в CLX-приложениях


15-1198133256
Ega23
2007-12-20 09:47
2008.01.27
Я вернулся.


15-1198078285
Dmitry S
2007-12-19 18:31
2008.01.27
Рисование


2-1199285953
Stepper
2008-01-02 17:59
2008.01.27
Печать содержимого TRxRichEdit ?


2-1198674189
AlexanderMS
2007-12-26 16:03
2008.01.27
В цикле последовательно обратиться к полям записи.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский