Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли так, или я многого хочу от Delphi [D7]


UVV ©   (2005-10-26 08:04:00) 

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

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


wal   (2005-10-26 11:51:00) [1]


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


Leonid Troyanovsky   (2005-10-26 10:23:00) [2]


> 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.


Digitman   (2005-10-26 09:58:00) [3]


> 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;


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

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


Digitman   (2005-10-26 08:25:00) [5]

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;


MBo   (2005-10-26 08:13:00) [6]

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


dmitry501   (2005-10-26 08:09:00) [7]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо