Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2013, 19:58   #1
rtootik
 
Регистрация: 15.06.2013
Сообщений: 4
По умолчанию Ребят, дуб дубом, нужно более 2х вариантов ответа

собственно вот код
Код:
 case rb3.Checked  of
       True:begin OtvetUserStr:='A'; end;
        False: begin  OtvetUserStr:='B'; end;
         end;


 if otvettstr = OtvetUserStr   then
     begin
       ShowMessage('да');
     end
     else ShowMessage('нет');
тут всего два варианта ответа, нужно добавить еще 2, как это сделать???
целый день сижу мучаюсь....

Последний раз редактировалось Stilet; 15.06.2013 в 20:43.
rtootik вне форума Ответить с цитированием
Старый 15.06.2013, 20:46   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

В данном случае никак.
Тебе придется использовать CheckListBox для выбора нескольких вариантов.
Или просто несколько чекбоксов. Но этот код придется переделывать полностью.
Код:
if rb3.Checked then OtvetUserStr:='A' else
 if rb4.Checked then OtvetUserStr:='B' else 
  if rb5.Checked then OtvetUserStr:='С' else
...
;
И так для всех чекбоксов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.06.2013, 21:05   #3
rtootik
 
Регистрация: 15.06.2013
Сообщений: 4
По умолчанию

Спасибо за незамедлительный ответ, и все же это так сказать мой дебют в delphi, хотелось бы до конца понять что где должно быть...
Код:
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, IniFiles;

type
  TForm1 = class(TForm)
    pnl1: TPanel;
    rb1: TRadioButton;
    btnstr: TButton;
    btnnextqv: TButton;
    mmoq: TMemo;
    rb2: TRadioButton;
    rb3: TRadioButton;
    rb4: TRadioButton;
    rb5: TRadioButton;
    rb6: TRadioButton;
    procedure btnstrClick(Sender: TObject);
    procedure btnnextqvClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
         Quests:TIniFile;
         intnextqv:Integer;
         otvettstr,OtvetUserStr:string;
implementation

{$R *.dfm}

procedure TForm1.btnstrClick(Sender: TObject);
begin
  intnextqv:=1;

  if rb2.Checked = True then
   begin
     mmoq.Lines.Clear;
Quests:=TInifile.Create(ExtractFilePath(Application.ExeName)+'Quest1.ini');
mmoq.Lines.Add (Quests.ReadString('Que'+inttostr(intnextqv),  'vopros', 'не туда, тут пусто =)'));
otvettstr:=(Quests.ReadString('Que'+inttostr(intnextqv),  'otvet', 'отсутствует)'));


   end;
end;

procedure TForm1.btnnextqvClick(Sender: TObject);

begin
       case rb3.Checked  of
       True:begin OtvetUserStr:='A'; end;
        False: begin  OtvetUserStr:='B'; end;
         end;


 if otvettstr = OtvetUserStr   then
     begin
       ShowMessage('да');
     end
     else ShowMessage('нет');





Inc(intnextqv);
mmoq.Lines.Clear;
Quests:=TInifile.Create(ExtractFilePath(Application.ExeName)+'Quest1.ini');
mmoq.Lines.Add (Quests.ReadString('Que'+inttostr(intnextqv),  'vopros', 'не туда, тут пусто =)'));
otvettstr:=(Quests.ReadString('Que'+inttostr(intnextqv),  'otvet', 'отсутствует'));

end;


end.
я понимаю что все криво и плохо, делаю по уроку

то есть вот сам код, что и где должно быть?

Последний раз редактировалось Stilet; 15.06.2013 в 21:40.
rtootik вне форума Ответить с цитированием
Старый 15.06.2013, 21:55   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
так сказать мой дебют в delphi
Давай-ка бросай пока дебют. Считая что он состоялся в полной мере.
Бери контролы, кидай на форму и без цели пиши код. Любой. По барабану, будет он работать или нет. Просто научись понимать что и для чего, и какие эффекты на форме дает.
Ибо TRadioButton в твоем деле не помошник. С его помошью конечно можно сделать то что ты хочешь, но это из рода высшей сферы.
Конечно это может выглядеть как-то так:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses              contnrs,
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Panel1: TPanel;
    RadioButton1: TRadioButton;
    procedure FormCreate(Sender: TObject);
    procedure RadioButton1Change(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var    rbs:TComponentList;
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
var i:integer; p:TPanel;rb:TRadioButton;
begin
 rbs:=TComponentList.create;
 for i:=1 to 5 do begin
   p:=TPanel.Create(self);
   rb:=TRadioButton.Create(p);
   rbs.Add(rb);
   with rb do begin
     Parent:=p;
     Caption:='Radio '+char(ord('A')+i-1);
     Align:=alClient;
     tag:=i;
     OnChange:=@RadioButton1Change;
   end;
   with p do begin
     Parent:=self;
     Align:=alTop;
     AutoSize:=true;
   end;
 end;
end;

procedure TForm1.RadioButton1Change(Sender: TObject);
var i:integer; s:string;
begin

 for i:=0 to rbs.Count-1 do
  if TRadioButton(rbs[i]).State=cbChecked then s:=s+' '+TRadioButton(rbs[i]).Caption;
 ShowMessage(s);
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
 with TRadioButton(Sender) do
  if State=cbChecked then State:=cbUnchecked;
end;

end.
Код не проверял, кстати.
Но это лишние телодвижения, усложняющие программу.

Так что забрасывай форму компонентами и смотри что они танцують.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.06.2013, 23:29   #5
rtootik
 
Регистрация: 15.06.2013
Сообщений: 4
По умолчанию

благодарствую, будем пробовать=)
rtootik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Здравствуйте сыну задали задачи по паскалю а он дуб дубом в нем не могли бы вы помочь решить? viktor2014 Паскаль, Turbo Pascal, PascalABC.NET 22 24.01.2013 20:06
Фишка двигается по полю длины N вперед.Длина хода фишки не более K. Найти число вариантов прохода (C++) Роза!!! Помощь студентам 4 07.05.2011 16:28
обработка вариантов ответа из матрицы Alar Общие вопросы Delphi 0 29.10.2006 11:06