Форум: "Основная";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
ВнизRadioGroup Найти похожие ветки
← →
Chort © (2006-07-16 09:42) [0]Здравствуйте! Решил сделать формочку для настройки на главной форме моей проги размера шрифта надписей кнопок программы.Поставил на формочку RadioGroup2, настроил 7 Items-ов
,В ONClick написал
procedure TFontForm.RadioGroup2Click(Sender: TObject);
begin
case Radiogroup2.ItemIndex of
0: Form1.IzdSpeedButton1.Font.Size:=10;
0: Form1.CloseSpeedButton1.Font.Size:=10;
0: Form1.ManufSpeedButton4.Font.Size:=10;
1: Form1.IzdSpeedButton1.Font.Size:=12;
1: Form1.CloseSpeedButton1.Font.Size:=12;
1: Form1.ManufSpeedButton4.Font.Size:=12;
2: Form1.IzdSpeedButton1.Font.Size:=14;
2: Form1.CloseSpeedButton1.Font.Size:=14;
2: Form1.ManufSpeedButton4.Font.Size:=14;
3: Form1.IzdSpeedButton1.Font.Size:=16;
3: Form1.CloseSpeedButton1.Font.Size:=16;
3: Form1.ManufSpeedButton4.Font.Size:=16;
end;
Здесь я написал пример для 4 Items :10,12,14,16 шрифты.
Использовал для настройки только трех кнопок(У меня их 8 шт)
В итоге при компиляции получаю 10 error : "Duplicate case label"
Как решить эту проблему?
← →
Dmitrij_K (2006-07-16 10:00) [1]Справку читать пробывал?
Там очень доступно написано.
← →
SergP © (2006-07-16 10:29) [2]
...
case Radiogroup2.ItemIndex of
0: begin
Form1.IzdSpeedButton1.Font.Size:=10;
Form1.CloseSpeedButton1.Font.Size:=10;
Form1.ManufSpeedButton4.Font.Size:=10;
end;
1: begin
Form1.IzdSpeedButton1.Font.Size:=12;
Form1.CloseSpeedButton1.Font.Size:=12;
Form1.ManufSpeedButton4.Font.Size:=12;
end;
...
А вообще лучше было бы так:
procedure TFontForm.RadioGroup2Click(Sender: TObject);
var
i:integer;
begin
case Radiogroup2.ItemIndex of
0: i:=10;
1: i:=12;
...
end;
Form1.IzdSpeedButton1.Font.Size:=i;
Form1.CloseSpeedButton1.Font.Size:=i;
Form1.ManufSpeedButton4.Font.Size:=i;
end;
В некоторых случаях даже так удобнее:
Form1.IzdSpeedButton1.Font.Size:=Radiogroup2.ItemIndex*2+10;
Form1.CloseSpeedButton1.Font.Size:=Radiogroup2.ItemIndex*2+10;
Form1.ManufSpeedButton4.Font.Size:=Radiogroup2.ItemIndex*2+10;
← →
Chort © (2006-07-16 10:58) [3]to SergP. Огромное спасибо ,сделал
procedure TFontForm.RadioGroup2Click(Sender: TObject);
var
i:integer;
begin
case Radiogroup2.ItemIndex of
0: i:=6;
1: i:=8;
2: i:=10;
3: i:=12;
4: i:=14;
5: i:=16;
6: i:=18;
end;
Form1.IzdSpeedButton1.Font.Size:=i;
Form1.TypeDSpeedButton2.Font.Size:=i;
Form1.ManufSpeedButton4.Font.Size:=i;
Form1.TypePSpeedButton5.Font.Size:=i;
Form1.PlatfSpeedButton6.Font.Size:=i;
Form1.LangSpeedButton7.Font.Size:=i;
Form1.CategSpeedButton8.Font.Size:=i;
Form1.CloseSpeedButton1.Font.Size:=i;
end;
end.
Только при компиляции появляется один Warning: Variable "i" might not have been initialized
Както можно избежать этого?
← →
SergP © (2006-07-16 11:35) [4]> Только при компиляции появляется один Warning: Variable
> "i" might not have been initialized
> Както можно избежать этого?
Например присвоить переменной i какое-нить значение до выполнения case
← →
SergP © (2006-07-16 11:39) [5]Либо так напиши:
procedure TFontForm.RadioGroup2Click(Sender: TObject);
Const
FntSize[0..6] of integer = (6,8,10,12,14,16,18);
begin
Form1.IzdSpeedButton1.Font.Size:=FntSize[Radiogroup2.ItemIndex];
Form1.TypeDSpeedButton2.Font.Size:=FntSize[Radiogroup2.ItemIndex];
...
end.
← →
SergP © (2006-07-16 11:41) [6]> [5] SergP © (16.07.06 11:39)
Ошибся
Const
FntSize:array[0..6] of integer = (6,8,10,12,14,16,18);
← →
Chort © (2006-07-16 13:03) [7]Помогло! Спасибо! Вышлите свои ФИО и данные на softvok@ya.ru, я запишу Вас в список помощников разработки программы.(на англ.)
← →
SergP © (2006-07-16 13:37) [8]> [7] Chort © (16.07.06 13:03)
> Помогло! Спасибо! Вышлите свои ФИО и данные на softvok@ya.ru,
> я запишу Вас в список помощников разработки программы.(на
> англ.)
:-)
Не нужно...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c