Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
15-1154011493
Vlad
2006-07-27 18:44
2006.08.27
Майкрософт шалит? :-)


15-1154367133
ALEXD31
2006-07-31 21:32
2006.08.27
VmWare workstation 5.5


4-1146664587
grisme
2006-05-03 17:56
2006.08.27
Как вычислять параллельно?


2-1154962343
ArtemESC
2006-08-07 18:52
2006.08.27
Не найдеться ли у кого функция,


15-1153994520
@!!ex
2006-07-27 14:02
2006.08.27
Слушаем ICQ





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский