Как написать

Deathless

Добавьте две метки и выведите на них общее количество терминов в списке и номер выбранного термина. Подсказка. Для компонента ComboBox1 в обработчик события OnChange добавить код, присваивает заголовке метки значение ComboBox1.Items.Count, а в обработчик события OnClick - код, присваивает заголовке другой метки значение ComboBox1.ItemИndex +1, несмотря на то, что первый термин индекс 0, второй - 1 и т.д. (имейте в виду, что значение ComboBox1.Items.Count и ComboBox1.ItemИndex +1 целочисленные, а заголовки меток - строчные). Как это правильно написать? Подскажите пожалуйста.
4 ответа

Deathless

Добавьте две метки и выведите на них общее количество терминов в списке и номер выбранного термина. Подсказка. Для компонента ComboBox1 в обработчик события OnChange добавить код, присваивает заголовке метки значение ComboBox1.Items.Count, а в обработчик события OnClick - код, присваивает заголовке другой метки значение ComboBox1.ItemИndex +1, несмотря на то, что первый термин индекс 0, второй - 1 и т.д. (имейте в виду, что значение ComboBox1.Items.Count и ComboBox1.ItemИndex +1 целочисленные, а заголовки меток - строчные). Как это правильно написать? Подскажите пожалуйста.
Нужно написать эти процедуры..


Deathless

По теме: где ваши наработки?


Deathless

Вот моя программа:
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls;
 
type
  TForm1 = class(TForm)
    CheckBox1: TCheckBox;
    ComboBox1: TComboBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  num:integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
close;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
ComboBox1.Items.Add(ComboBox1.Text);
if ComboBox1.ItemIndex=-1
then ComboBox1.Text:='';
ComboBox1.Items.SaveToFile('glostext.txt');
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
if MessageDlg('Ви дійсно бажаєте видалити запис?',mtWarning,[mbYes,mbNo],0)=mrYes
then ComboBox1.Items.Delete(ComboBox1.ItemIndex);
end;
 
procedure TForm1.Button4Click(Sender: TObject);
begin
ComboBox1.Items.SaveToFile('glostext.txt');
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.Items.LoadFromFile('glostext.txt');
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
ComboBox1.Items.Delete(num);
ComboBox1.Items.Add(ComboBox1.Text);
if ComboBox1.ItemIndex=-1
then ComboBox1.Text:='';
ComboBox1.Items.SaveToFile('glostext.txt');
end;
 
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
num:=ComboBox1.ItemIndex;
end;
 
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked=false
then
ComboBox1.Style:=csDropDown
else
ComboBox1.Style:=csDropDownList;
 
 
if CheckBox1.Checked=false
then
Button1.Enabled:=true
else
Button1.Enabled:=false;
 
 
if CheckBox1.Checked=false
then
Button2.Enabled:=true
else
Button2.Enabled:=false;
 
if CheckBox1.Checked=false
then
Button3.Enabled:=true
else
Button3.Enabled:=false;
 
 
if CheckBox1.Checked=false
then
Button4.Enabled:=true
else
Button4.Enabled:=false;
end;
 
 
procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13
then begin
ComboBox1.Items.Add(ComboBox1.Text);
if
ComboBox1.ItemIndex=-1
then
ComboBox1.Items.SaveToFile('glostext.txt');
 
ComboBox1.Text:='';
key:=#0;
end;
end;
 
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ComboBox1.Items.Count
end;
 
end.
А как написать то, что я прошу помочь, я не знаю.. В Делфи первый раз.


Deathless

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  Label1.Caption := IntToStr(ComboBox1.Items.Count);
end;
 
procedure TForm1.ComboBox1Click(Sender: TObject);
begin
  Label2.Caption := IntToStr(ComboBox1.ItemIndex + 1);
end;