Текущий архив: 2009.05.31;
Скачать: CL | DM;
Вниз
Вопрос от новичка. Найти похожие ветки
← →
Дмитрий (2009-04-14 17:51) [0]Всем привет! Имеется такой вопрос:
Я разработал простенькую програмку "Флаги" в, которой имеется два Radiobuttona, две кнопки "показать", "выход" и один Image.
Суть программы заключается в том, что необходимо показать флаг той страны которую я выбрал в соответсвующем Radiobutton при нажатии на кнопку "Показать", а если страна не выбрана при щелчке по кнопке "Показать" вывести Message:"Выбирите сперва страну!".
Вот мой код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Jpeg;
type
TForm1 = class(TForm)
Image1: TImage;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Button1: TButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if RadioButton1.Checked= True then Image1.Picture.LoadFromFile("russian.jpg") else ShowMessage ("Выбирите сперва страну");
if RadioButton2.Checked= True then Image1.Picture.LoadFromFile("ukraine.jpg") else ShowMessage ("Выбирите сперва страну");
end;
end.
Так вот, когда я выбирираю страну и нажимаю кнопку "Показать"
то флаг показывается, но следом и сообщение мое вылетает.Где тут у меня в коде логика нарушена? Подскажите пожайлуста. Заранее благодарю!
P.S.В Делфи, да и вообще в программировании я новичек, поэтому и вопросы такие - ламерские.
← →
Ega23 © (2009-04-14 18:10) [1]
if not (RadioButton1.Checked or RadioButton2.Checked) then
begin
ShowMessage ("Выбирите сперва страну");
Exit;
end;
← →
Denis__ © (2009-04-14 18:13) [2]
> if RadioButton1.Checked= True
> if RadioButton2.Checked= True
Ну наверное один из них все-таки включен? Вот тогда показывается сообщение, а затем Флаг(или наоборот)
Сделайте так
if RadioButton1.Checked then
Image1.Picture.LoadFromFile("russian.jpg")
else
if RadioButton2.Checked then
Image1.Picture.LoadFromFile("ukraine.jpg")
else
ShowMessage ("Выбeрите сперва страну");
← →
Denis__ © (2009-04-14 18:15) [3]
> В Делфи, да и вообще в программировании я новичек
А причем тут программирование? Это логика на уровня детсада.
← →
Ega23 © (2009-04-14 18:18) [4]Тольо мне непонятно, почему нельзя принудитльно default поствить.
← →
Denis__ © (2009-04-14 18:19) [5]Или вообще заюзайте TRadioGroup и обращайтесь по индексу.
case RadioGroup1.ItemIndex of
0 : Image1.Picture.LoadFromFile("russian.jpg");
1 : Image1.Picture.LoadFromFile("ukraine.jpg");
2 : Image1.Picture.LoadFromFile("zimbabve.jpg")
//...
else
ShowMessage ("Страна не выбрана");
end;
← →
Denis__ © (2009-04-14 18:21) [6]Ega23, наверное чтобы все были изначально в равных условиях%) демократия рулит! А то большая тяга сразу жмакнуть по баттону=)
← →
Дмитрий (2009-04-14 18:22) [7]Ясно всем спасибо за ответ!
← →
Ega23 © (2009-04-14 18:23) [8]
> Ega23, наверное чтобы все были изначально в равных условиях%)
> демократия рулит! А то большая тяга сразу жмакнуть по баттону=)
Я бы ри выход сохрнял, при входе - восстанавливал.
← →
Denis__ © (2009-04-14 18:26) [9]Если при первом входе поставить на Россию, то Украина обидится. А если на Украину - то Россия. Непорядок. А появится там usa.jpg и все, кирдык. Начнется война за права... им только повод дай.
Страницы: 1 вся ветка
Текущий архив: 2009.05.31;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.012 c