|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Помогите найти Ошибку в программе
Друзья...где то ошибка допущена и поэтому не работает программа....Немогу найти...Данную работу скачал в Интернете...
Есть ошибки с символами...Но вот эти я незнаю... Может кто-то сможет исправить??? Заранее благодарен!!!! (69): Statement expected, but expression of type 'Integer' found (103): Undeclared identifier: 'Edit1KeyPress' (103): ';' expected but '(' found (103): ';' expected but ')' found (108): Missing operator or semicolon и.т.д. Код:
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Button1: TButton; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation const KC = 5; // разрядность числа (кол-во цифр) LT = 10; // количество чисел (длина теста) var numb: integer; // число, которое должен запомнить испытуемый right: integer; // количество правильных чисел n: integer; // счетчик чисел {$R *.dfm} // генерирует к - разрядное число function GetNumb(k: integer) : integer; var n: integer; // генерируемое число i: integer; begin // процедура генерирует число по разрядам // начиная со старшего n:= Random(9)+1; // старший разряд не может быть нулем // остальные разряды for i := 1 to (k-1) do n := n*10 + Random(10); GetNumb := n; end; // создание формы procedure TForm1.FormCreate (Sender: TObject); begin Edit1.Visible := False; // скрыть поле ввода Editl Edit1.MaxLength := KC; // кол-во символов, которое // можно ввести Label1.Wordwrap := True; // разрешить перенос слов на // следующую строку Label1.Caption := 'Сейчас на экране будут появляться числа. ' + 'Вы должны запомнить число, набрать его на клавиатуре '+ 'и нажать <Enter>'; Button1.Caption := 'Начать'; Timer1.Enabled := False; // таймер остановлен Timer1.Interval := 1000; // время показа числа - 1 секунда right := 0; // кол-во правильных n := 0; // счетчик чисел Randomize; 0// инициализация ГСЧ end; // щелчок на кнопке "Начать/Завершить" procedure TForm1.Button1Click(Sender: TObject); begin if Button1.Caption = 'Завершить' then Form1.Close; // закрыть окно программы if Button1.Caption = 'Начать' then begin Button1.Caption := 'Завершить'; Button1.Visible := False; // скрыть кнопку // кнопка Buttonl станет доступной после того, // как испытание закончится Label1.Caption := ''; Label1. Font .Size := 24; //размер шрифта поля Labell Edit1.Font.Size := 24; // размер шрифта поля Editl // сгенерировать и вывести число numb := GetNumb(KC); Label1.Caption := IntToStr(numb); Timer1.Enabled := True; // запуск таймера // процедура обработки сигнала от таймера // "сотрет" число end; end; // обработка события таймера procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Enabled := False; // остановить таймер Label1.Visible := False; // скрыть число Edit1.Visible := True; // сделать доступным поле Editl Edit1.SetFocus; // установить курсор в поле Editl end; // нажатие клавиш в поле Editl procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var igrok: integer; // число, которое ввел испытуемый begin case Key of 10'..'9',#8: ; // клавиши "0"-"9", клавиша <Backspace> #13: // клавиша <Enter> begin igrok := StrToInt(Editl.Text) ; if (igrok = numb) then right := right + 1; n := n + 1; // счетчик чисел Edit1.Text := ''; Edit1.Visible := False; // скрыть поле Editl if n < LT then begin numb := GetNumb(KC); // сгенерировать следующее // число Label1.Caption : = IntToStr(numb); // отобразить // число end Labell.Visible := True; Timerl.Enabled := True; // пуск таймера else begin // испытание закончено // вывести результат Labell.Font.Size := 10; Labell.Caption := 'Результат:1 + #13 + 'Показано чисел: ' + IntToStr(LT) + #13 + 'Правильных: ' + IntToStr(right); Labell.Visible := True; Buttonl.Visible := True; // показать кнопку Завершить end; end; else Key := Chr(0); end; end; procedure TForm1.FormCreate(Sender: TObject); begin procedure TForm1.FormCreate (Sender: TObject); begin Editl.Visible := False; // скрыть поле ввода Editl Editl.MaxLength := КС; // кол-во символов, которое // можно ввести Labell.Wordwrap : = True; // разрешить перенос слов на // следующую строку Labell.Caption := 'Сейчас на экране будут появляться числа. ' + 'Вы должны запомнить число, набрать его на клавиатуре '+ 'и нажать <Enter>'; . Buttonl.Caption := 'Начать'; Timerl.Enabled := False; // таймер остановлен Timerl.Interval := 1000; // время показа числа - 1 секунда right := 0; // кол-во правильных п := 0; // счетчик чисел Randomize; o// инициализация ГСЧ end; end; procedure TForm1.FormCreate(Sender: TObject); begin var n: integer; // генерируемое число i: integer; begin // процедура генерирует число по разрядам // начиная со старшего n:= Random(9)+1; // старший разряд не может быть нулем // остальные разряды for i := 1 to (k-1) do n := n*10 + Random(10); GetNumb := n; end; // создание формы procedure TForm1.FormCreate (Sender: TObject); begin Edit1.Visible := False; // скрыть поле ввода Editl Edit1.MaxLength := KC; // кол-во символов, которое // можно ввести Label1.Wordwrap := True; // разрешить перенос слов на // следующую строку Label1.Caption := 'Сейчас на экране будут появляться числа. ' + 'Вы должны запомнить число, набрать его на клавиатуре '+ 'и нажать <Enter>'; Button1.Caption := 'Начать'; Timer1.Enabled := False; // таймер остановлен Timer1.Interval := 1000; // время показа числа - 1 секунда right := 0; // кол-во правильных n := 0; // счетчик чисел Randomize; 0// инициализация ГСЧ end; end; procedure TForm1.Button1Click(Sender: TObject); begin procedure TForm1.Button1Click(Sender: TObject); begin if Buttonl.Caption = 'Завершить' then Forml.Close; // закрыть окно программы * if Buttonl.Caption = 'Начать' then begin Buttonl.Caption := 'Завершить'; Buttonl.Visible := False; // скрыть кнопку // кнопка Buttonl станет доступной после того, // как испытание закончится Labell.Caption : = ''; Labell. Font .Size := 24; //размер шрифта поля Labell Editl.Font.Size : = 24; // размер шрифта поля Editl // сгенерировать и вывести число numb := GetNumb(KC); Labell.Caption := IntToStr(numb); Timerl.Enabled := True; // запуск таймера // процедура обработки сигнала от таймера // "сотрет" число end; end; end. procedure TForm1.Timer1Timer(Sender: TObject); begin procedure TForm1.Timer1Timer(Sender: TObject); begin Timerl.Enabled := False; // остановить таймер Labell.Visible := False; // скрыть число Editl.Visible := True; // сделать доступным поле Editl Editl.SetFocus; // установить курсор в поле Editl end; end; end. Последний раз редактировалось Admin, 05.12.2010 в 15:27. |