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

Вниз

Можно ли так, или я многого хочу от Delphi   Найти похожие ветки 

 
UVV ©   (2005-10-26 08:04) [0]

Есть набор констант типа int вида
<const_name1>
<const_name2>
<const_name3>
...
<const_namen>

Если я выбираю из ComboBox"а значение 1, 2, 3 ..., то как мне передать переменной определённое значение константы?


 
dmitry501 ©   (2005-10-26 08:09) [1]

почитать про case


 
MBo ©   (2005-10-26 08:13) [2]

или объединить константы в массив...


 
Digitman ©   (2005-10-26 08:25) [3]

uses TypInfo;

type
 TFruits = (
             fig_0,
             apples_1,
             pears_2,
             grapes_3,
             bananas_4,
             oranges_5
           );

procedure TForm1.Button3Click(Sender: TObject);
begin
 ShowMessage(GetEnumName(TypeInfo(TFruits), 0));
 ShowMessage(GetEnumName(TypeInfo(TFruits), 1));
 ShowMessage(GetEnumName(TypeInfo(TFruits), 2));
 ShowMessage(GetEnumName(TypeInfo(TFruits), 3));
 ShowMessage(GetEnumName(TypeInfo(TFruits), 4));
 ShowMessage(GetEnumName(TypeInfo(TFruits), 5));
end;


 
UVV ©   (2005-10-26 09:10) [4]

Скажу более конкретно!
Речь идёт о скорости COM-порта!
BAUD_150
BAUD_300
и т.д.
Есть в этом случае готовые варианты?


 
Digitman ©   (2005-10-26 09:58) [5]


> UVV ©   (26.10.05 09:10) [4]


type
TBoudRate = (
            BAUD_150,
            BAUD_300
          );

procedure TForm1.Button3Click(Sender: TObject);
var
 s: String;
 baud: Integer;
begin
s := GetEnumName(TypeInfo(TBoudRate), 1);
baud := StrToInt(Copy(s, 6, Length(s)));
showmessage(IntToStr(baud));
end;


 
Leonid Troyanovsky ©   (2005-10-26 10:23) [6]


> UVV ©   (26.10.05 08:04)  

> Если я выбираю из ComboBox"а значение 1, 2, 3 ..., то как
> мне передать переменной определённое значение константы?



var
 BaudValues : array [0..2] of Longint = (150, 300, 400);

procedure TForm1.FormCreate(Sender: TObject);
var
 i : Longint;
begin
 for i := 0 to High(BaudValues) do
 with Combobox1.Items do
   begin
     Add(Format("BAUD_%3.3d", [BaudValues[i]]));
   end;
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
 with Sender as TComboBox do
  ShowMessage( IntToStr(BaudValues[ItemIndex]));
end;


--
Regards, LVT.


 
wal ©   (2005-10-26 11:51) [7]


> Скажу более конкретно!
> Речь идёт о скорости COM-порта!
> BAUD_150
> BAUD_300
> и т.д.
> Есть в этом случае готовые варианты?
CommConfigDialog



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

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

Наверх




Память: 0.48 MB
Время: 0.028 c
4-1125062207
Barvetal
2005-08-26 17:16
2005.11.13
При выходе из скринсейвера Винда закрывает запущенные им процессы


2-1129725970
Dinny
2005-10-19 16:46
2005.11.13
Редактирование индексированных таблиц


1-1130231400
VID
2005-10-25 13:10
2005.11.13
OleContainer поднимает экспешн в обработчике OnChange !


4-1126628734
begin...end
2005-09-13 20:25
2005.11.13
Значения описателей объектов ядра


1-1129813791
markers
2005-10-20 17:09
2005.11.13
Высота и ширина PopUp`a