Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
15-1238189404
Юрий
2009-03-28 00:30
2009.05.31
С днем рождения ! 28 марта 2009 суббота


3-1221827783
andreoman
2008-09-19 16:36
2009.05.31
доступ к БД на web-сервере


3-1221411010
Аврам
2008-09-14 20:50
2009.05.31
связь между таблицами и записями


3-1221572163
Дмитрий Белькевич
2008-09-16 17:36
2009.05.31
Статистика выполнения запроса


2-1240272203
truefalse
2009-04-21 04:03
2009.05.31
Прога пропала из Taskbar, но в дисп. заданий есть->куда смотреть?