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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2009, 13:52   #1
2009
Пользователь
 
Регистрация: 01.03.2009
Сообщений: 31
По умолчанию Delphi ошибка в програме

Здравствуйте, не могу понять, где ошибка в программе

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    ListBox1: TListBox;
    ListBox2: TListBox;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure ListBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ListBox2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: Char);
begin
label4.Caption:='';
if key=#13 then num1:=ListBox1.ltemlndex;
end;

procedure TForm1.ListBox2Click(Sender: TObject);
begin
if key=#13 then begin
case ListBox2.ItemIndex of
  0: num2:=2;
  1: num2:=1;
  2: num2:=3;
  3: num2:=0;
  end;
  end;
  if num1=num2 then begin
  Label4.Caption:='Правильно'
  c:=c+1
  end
  else Label4.Caption:='Ошибка';
  if c=4 then ShowMessage('Тест окончен')

end;

end.
Исходник.rar
2009 вне форума Ответить с цитированием
Старый 01.03.2009, 14:17   #2
Лукманов Александр
работа не волк....
Форумчанин
 
Аватар для Лукманов Александр
 
Регистрация: 09.06.2008
Сообщений: 337
По умолчанию

Код:
var
  Form1: TForm1;              
  num1, num2, c: integer;   - ЗДЕСЬ НАДО УКАЗЫВАТЬ ВСЕ ПЕРЕМЕННЫЕ  
  key: char;  
implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: Char);
begin
label4.Caption:='';
if key=#13 then num1:=ListBox1.itemindex;
end;

procedure TForm1.ListBox2Click(Sender: TObject);
begin
if key = chr(13) then begin             - ОПЕРАТОР НАЖАТИЯ КЛАВИШИ
case ListBox2.ItemIndex of
  0: num2:=2;
  1: num2:=1;
  2: num2:=3;
  3: num2:=0;
  end;
  end;
  if num1=num2 then begin
  Label4.Caption:='Правильно';
  c:=c+1;                                - СТАВИТЬ ТОЧКУ С ЗАПЯТОЙ
  end
  else Label4.Caption:='Ошибка';
  if c=4 then ShowMessage('Тест окончен')

end;

end.
Цель, для которой требуются неправые средства, не есть неправая цель.
Лукманов Александр вне форума Ответить с цитированием
Старый 01.03.2009, 14:34   #3
2009
Пользователь
 
Регистрация: 01.03.2009
Сообщений: 31
По умолчанию

Программа написана на Delphi7

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    ListBox1: TListBox;
    ListBox2: TListBox;
    BitBtn1: TBitBtn;
    procedure BitBtn1Click(Sender: TObject);
    procedure ListBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ListBox2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: Char);
begin
label4.Caption:='';
if key=#13 then num1:=ListBox1.ltemlndex;  - ОШИБКА ВЫВОДИТСЯ ЗДЕСЬ
end;

procedure TForm1.ListBox2Click(Sender: TObject);
begin
if key=#13 then begin
case ListBox2.ItemIndex of
  0: num2:=2;
  1: num2:=1;
  2: num2:=3;
  3: num2:=0;
  end;
  end;
  if num1=num2 then begin
  Label4.Caption:='Правильно'
  c:=c+1
  end
  else Label4.Caption:='Ошибка';
  if c=4 then ShowMessage('Тест окончен')

end;

end.
Если не сложно переделайте исходник
2009 вне форума Ответить с цитированием
Старый 01.03.2009, 15:05   #4
Лукманов Александр
работа не волк....
Форумчанин
 
Аватар для Лукманов Александр
 
Регистрация: 09.06.2008
Сообщений: 337
По умолчанию

Код:
var
  Form1: TForm1;
  num1, num2, c: integer;
  key: char;
implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: Char);
begin
label4.Caption:='';
if key= chr (13) then begin
num1:=ListBox1.itemindex;
listbox2.ItemIndex:=-1;
end;
end;

procedure TForm1.ListBox2Click(Sender: TObject);
begin
if key = chr(13) then begin
case ListBox2.ItemIndex of
  0: num2:=2;
  1: num2:=1;
  2: num2:=3;
  3: num2:=0;
  end;

  end;
  if num1=num2 then begin
  Label4.Caption:='Правильно';
  c:=c+1;
  end
  else Label4.Caption:='Ошибка';
  if c=4 then ShowMessage('Тест окончен');

end;

end.
Вот рабочий исходник. Думаю сделайте лучше кнопку для проверки. А то пользователь замучается жать на Enter
Цель, для которой требуются неправые средства, не есть неправая цель.
Лукманов Александр вне форума Ответить с цитированием
Старый 01.03.2009, 16:08   #5
2009
Пользователь
 
Регистрация: 01.03.2009
Сообщений: 31
По умолчанию

Спасибо программка работает вот только неправильно В любом случаи выскакивает слова правильно, а должно выскакивать слово ошибка при не правильном выборе ответа Вот архив с программкой, test.rar кто может помогите!!
2009 вне форума Ответить с цитированием
Старый 01.03.2009, 16:57   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вот, посмотрите:
3m.rar
Только я "почикал" вашу склонность к гигантизму...
И добавил кое-что как намек на перспективу.
mihali4 вне форума Ответить с цитированием
Старый 01.03.2009, 17:15   #7
2009
Пользователь
 
Регистрация: 01.03.2009
Сообщений: 31
По умолчанию

ОГРОМНОЕ СПАСИБО За перспективу респект!!!!
2009 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Банер к програме Witaliy Фриланс 5 26.07.2008 21:46
помогите найти ошибку в програме не работает в делфи SYL@R Помощь студентам 4 04.07.2008 12:28
Помогите пожалуйста исправить ошыбки в програме(Pascal) DEN_DENZEL Помощь студентам 0 06.06.2008 22:04
Как добавить сведенья о програме в реестр SeRhy Общие вопросы Delphi 4 06.01.2008 13:27
КАК делать обновления к програме? ZhekON Общие вопросы Delphi 6 30.11.2007 21:30