Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 24.01.2016, 00:31   #1
Алексеей
 
Регистрация: 15.01.2014
Сообщений: 6
По умолчанию Помогите с задачей в лазарусе? (код есть) - почему не работает кнопка очистки (сброса результатов)?

Посмотрите почему не работает кнопка очистки (сброса результатов).

Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

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

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    CheckBox1: TCheckBox;
    CheckGroup1: TCheckGroup;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    ListBox1: TListBox;
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    Memo4: TMemo;
    Memo5: TMemo;
    Memo6: TMemo;
    Memo7: TMemo;
    Panel1: TPanel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioGroup1: TRadioGroup;

    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckGroup1ItemClick(Sender: TObject; Index: integer);
    procedure ComboBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
    procedure Edit1EditingDone(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure RadioButton1Change(Sender: TObject);
    procedure RadioButton2Change(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;
  k:integer;
  i,j,x,m1,m2:integer;
implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.RadioButton1Change(Sender: TObject);
begin
if RadioGroup1.ItemIndex=i then inc(k);
end;

procedure TForm1.RadioButton2Change(Sender: TObject);
begin
if RadioGroup1.ItemIndex=i then inc(k);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
if ListBox1.ItemIndex=j then inc(k);
end;

procedure TForm1.ComboBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 if ComboBox1.ItemIndex=x then inc(k);
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
 if CheckBox1.Checked then inc(k);
end;

procedure TForm1.CheckGroup1ItemClick(Sender: TObject; Index: integer);
begin
 if CheckGroup1.Checked[m1] and CheckGroup1.Checked[m2] then inc(k);
end;

procedure TForm1.Edit1EditingDone(Sender: TObject);
begin
 if Edit1.Text='P' then inc(k);
end;

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
 label1.Caption:=inttostr(k);
 s:=InputBox('Информация о тестируемом','Введите Ваше ИМЯ',' ');
 case k of
 6:Label2.Caption:=s+',Вы ОТЛИЧНО знаете этот материал!';
 4..5:Label2.Caption:=s+',Вы ХОРОШО знаете этот материал!';
 3:Label2.Caption:=s+',Вы допустили много ошибок. Оценка 3';
 else Label2.Caption:=s+',Вы плохо знаете этот материал!';
end;
 RadioGroup1.Enabled:=false;
 ListBox1.Enabled:=false;
 ComboBox1.Enabled:=false;
 CheckBox1.Enabled:=false;
 CheckGroup1.Enabled:=false;
 Edit1.Enabled:=false;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  RadioGroup1.clear;
 ListBox1.clear;
 ComboBox1.clear;
 CheckBox1.clear;
 CheckGroup1.clear;
 Edit1.Text.clear;
end;

end.

Последний раз редактировалось Вадим Мошев; 24.01.2016 в 00:56.
Алексеей вне форума Ответить с цитированием
Старый 24.01.2016, 01:02   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,590
По умолчанию

Код:
Edit1.Text.clear;
Правильно пишется Edit1.clear;

Код:
CheckBox1.clear;
у checkBox, я полагаю, нет метода clear.
Пишите так:
Код:
CheckBox1.checked:=false;
Свойству itemIndex остальных объектов надо присвоить то, что должно быть по умолчанию.
Вадим Мошев вне форума Ответить с цитированием
Старый 24.01.2016, 11:40   #3
Алексеей
 
Регистрация: 15.01.2014
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Код:
Edit1.Text.clear;
Правильно пишется Edit1.clear;

Код:
CheckBox1.clear;
у checkBox, я полагаю, нет метода clear.
Пишите так:
Код:
CheckBox1.checked:=false;
Свойству itemIndex остальных объектов надо присвоить то, что должно быть по умолчанию.
Простите, а можете подсказать, что делать с компонентами
RadioGroup1.clear;
CheckGroup1.clear;


есть ли у них метод /clear/
Алексеей вне форума Ответить с цитированием
Старый 24.01.2016, 11:51   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Цитата:
есть ли у них метод /clear/
А в лазаря хелпа нет? Ну и коль компилятор протестует, значит однозначно нет
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.01.2016, 17:33   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,590
По умолчанию

Цитата:
Сообщение от Алексеей Посмотреть сообщение
Простите, а можете подсказать, что делать с компонентами
RadioGroup1.clear;
CheckGroup1.clear;


есть ли у них метод /clear/
Для RadioGroup1 сделать так
Код:
RadioGroup1.itemIndex:=0;
Для checkGroup1, полагаю, можно так
Код:
for i:=0 to checkGroup1.count-1 do begin
	checkGroup1.checked[i]:=false;
end;
___

Ну, а вообще для этих компонент можно определить свой метод clear (или лучше назвать его resetToDefault). Правда для этого придётся создать свои (новые) компоненты, путём унаследования от стандартных

Код:
type TMYRadioGroup = class(TRadioGroup)
	procedure resetToDefault;
end;

//...

procedure TMYRadioGroup.resetToDefault; begin
	itemIndex:=0;
end;

// ...

// А потом уже надл будет писать так
// ...
RadioGroup1: TMYRadioGroup; // а не TRadioGroup, как было раньше

Последний раз редактировалось Вадим Мошев; 24.01.2016 в 17:40.
Вадим Мошев вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual prolog 7.5 помогите пожалуйста с задачей, код привожу Екатерина 123 Помощь студентам 5 04.09.2015 05:46
Помогите с qbasic (схема есть,нада перевести в код) Сашкаа Помощь студентам 0 09.03.2015 20:13
Помогите создать программу (код программы есть ) Kronud Помощь студентам 2 20.06.2014 22:54
Есть код программы Сортировка строк в файле...помогите разобраться) defol-777 Общие вопросы C/C++ 8 29.09.2009 11:42
Помогите с компиляцией игры, код есть (Delphi 4) Дилетант Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 06.05.2007 20:57


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS