Implementation. procedure TListForm.ButtonAddClick(Sender:TObject); var V: Double; S: string; begin // Нажаты "Добавить" или "Заменить"

{$R *.DFM}

procedure TListForm.ButtonAddClick(Sender:TObject);
var
V: Double; S: string;
begin // Нажаты "Добавить" или "Заменить"
EditValue.SetFocus; // Сделать строку ввода активной
EditValue.SelectAll; // выделить все символы в строке
try
V:=StrToFloat (EditVaiue.Text);
except
ShowMessage ('Неверное вещественное значение');
exit;
end;
S:=FloatToStr(V);
if (Sender=ButtonReplace) and (ListBoxArray.ItemIndex>=0) then {Проверка нажатой кнопки}
ListBoчArray.Items[ListBoxArray.Itemlndex]:=S; {Нажзта кнопка 'Заменить'}
else
begin // Нажата кнопка "Добавить"
ListBoxArray.Items.Add(S);
ListBoxArray.ItemIndex:=ListBoxArray.Items.Count-1;
end;
end;

{Следующая процедура предназначена для копирования выбранного элемента в списке для последующего редактирования в строке ввода. Это позволяет изменять ранее введенные элементы}
procedure TListForm.ListBoxArrayClick (Sender: TObject);
begin
if ListBoxArray.ItemIndex>=0 then
EditValue.Text:=ListBoxArray.Items[ListBoxArray.ItemIndex];
end;

end.

Листинг 8. Текст вспомогательного модуля GridInput.pas.

unit Gridlnput;

Interface

Uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Fonts, Dialogs,
Grids, StdCtrls, ExtCtrls;

type
TGridForm = class (TForm)
GridArray: TStringGrid;
ButtonOk: TButton;
ButtonCancel: TButton;
PanelStatus: TPanel;
Label1: TLabel;
procedure FornCreate(Sender: TObject);
procedure GridArraySetEditText (Sender: TObject; ACol, ARow: Integer; const Value: String);
procedure ButtonCkCiick(Sender: TObject};
procedure GridArray'KeyDown(Sender: TObject; var Kev::Word; Shift: TShiftState);
private
procedure UpdateGrid; // Рассчитать количество строк в таблице
end;

var
GridForm: TGridForm;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: